- 09 Oct, 2006 1 commit
-
-
unknown authored
OPTIMIZE TABLE with myisam_repair_threads > 1 performs a non-quick parallel repair. This means that it does not only rebuild all indexes, but also the data file. Non-quick parallel repair works so that there is one thread per index. The first of the threads rebuilds also the new data file. The problem was that all threads shared the read io cache on the old data file. If there were holes (deleted records) in the table, the first thread skipped them, writing only contiguous, non-deleted records to the new data file. Then it built the new index so that its entries pointed to the correct record positions. But the other threads didn't know the new record positions, but put the positions from the old data file into the index. The new design is so that there is a shared io cache which is filled by the first thread (the data file writer) with the new contiguous records and read by the other threads. Now they know the new record positions. Another problem was that for the parallel repair of compressed tables a common bit_buff and rec_buff was used. I changed it so that thread specific buffers are used for parallel repair. A similar problem existed for checksum calculation. I made this multi-thread safe too. include/my_sys.h: Bug#8283 - OPTIMIZE TABLE causes data loss Redesign of io_cache_share. include/myisam.h: Bug#8283 - OPTIMIZE TABLE causes data loss Redesign of checksum calculation in mi_check.c. 'calc_checksum' is now in myisamdef.h:st_mi_sort_param. myisam/mi_check.c: Bug#8283 - OPTIMIZE TABLE causes data loss Implemented a new parallel repair design. Using a synchronized shared read/write cache. Allowed for thread specific bit_buff, rec_buff, and calc_checksum. myisam/mi_open.c: Bug#8283 - OPTIMIZE TABLE causes data loss Added DBUG output. myisam/mi_packrec.c: Bug#8283 - OPTIMIZE TABLE causes data loss Allowed for thread specific bit_buff and rec_buff. myisam/myisamdef.h: Bug#8283 - OPTIMIZE TABLE causes data loss Commented on checksum calculation variables. Allowed for thread specific bit_buff. Added DBUG output for better table crash detection. myisam/sort.c: Bug#8283 - OPTIMIZE TABLE causes data loss Added implications of the new parallel repair design. Renamed 'info' -> 'sort_param'. Added DBUG output. mysql-test/r/myisam.result: Bug#8283 - OPTIMIZE TABLE causes data loss Added test results. mysql-test/t/myisam.test: Bug#8283 - OPTIMIZE TABLE causes data loss Added test cases. mysys/mf_iocache.c: Bug#8283 - OPTIMIZE TABLE causes data loss Redesign of io_cache_share. We do now allow a writer to synchronize himself with the readers of a shared cache. When all threads join in the lock, the writer copies the data from his write buffer to the shared read buffer.
-
- 09 Jul, 2006 1 commit
-
-
unknown authored
closing temp tables through end_thread had a flaw in binlog-off branch of close_temporary_tables where next table to close was reset via table->next for (table= thd->temporary_tables; table; table= table->next) which was wrong since the current table instance got destoyed at close_temporary(table, 1); The fix adapts binlog-on branch method to engage the loop's internal 'next' variable which holds table->next prior table's destoying. sql/sql_base.cc: no-binlog branch is fixed: scanning across temporary_tables must be careful to save next table since the current is being destroyed inside of close_temporary. binlog-is-open case is ok.
-
- 29 Jun, 2006 1 commit
-
-
unknown authored
-
- 21 Jun, 2006 1 commit
-
-
unknown authored
-
- 20 Jun, 2006 5 commits
-
-
unknown authored
into moonbone.local:/work/tmp_merge-4.1-opt-mysql
-
unknown authored
Added test case for bug#18759 Incorrect string to numeric conversion. select.test: Added test case for bug#18759 Incorrect string to numeric conversion. item_cmpfunc.cc: Cleanup after fix for bug#18360 removal sql/item_cmpfunc.cc: Cleanup after fix for bug#18360 removal mysql-test/t/select.test: Added test case for bug#18759 Incorrect string to numeric conversion. mysql-test/r/select.result: Added test case for bug#18759 Incorrect string to numeric conversion.
-
unknown authored
into mysql.com:/usr/home/ram/work/mysql-4.1 mysql-test/r/func_str.result: merge (ul) mysql-test/t/func_str.test: merge (ul) sql/item_strfunc.cc: merge (ul) sql/item_strfunc.h: merge (ul)
-
unknown authored
into mysql.com:/usr/home/ram/work/mysql-4.1
-
unknown authored
into mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
-
- 19 Jun, 2006 9 commits
-
-
unknown authored
into moonbone.local:/work/tmp_merge-4.1-opt-mysql
-
unknown authored
into moonbone.local:/work/tmp_merge-4.1-opt-mysql
-
unknown authored
Reverted fix for bug#18360 mysql-test/t/func_in.test: Reverted fix for bug#18360 mysql-test/r/func_in.result: Reverted fix for bug#18360 sql/item_cmpfunc.cc: Reverted fix for bug#18360
-
unknown authored
into mysql.com:/home/kgeorge/mysql/4.1/B9676
-
unknown authored
tables Currently in INSERT ... SELECT ... LIMIT ... the compiler uses a temporary table to store the results of SELECT ... LIMIT .. and then uses that table as a source for INSERT. The problem is that in some cases it actually skips the LIMIT clause in doing that and materializes the whole SELECT result set regardless of the LIMIT. This fix is limiting the process of filling up the temp table with only that much rows that will be actually used by propagating the LIMIT value. mysql-test/r/insert_select.result: * Bug #9676: INSERT INTO x SELECT .. FROM x LIMIT 1; slows down with big tables - a test demonstrating the code path mysql-test/t/insert_select.test: * Bug #9676: INSERT INTO x SELECT .. FROM x LIMIT 1; slows down with big tables - a test demonstrating the code path sql/sql_select.cc: * Bug #9676: INSERT INTO x SELECT .. FROM x LIMIT 1; slows down with big tables - pass through the real LIMIT number if the temp table is created for buffering results. - set the counter for all the cases when the temp table is not used for grouping
-
unknown authored
into mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
-
unknown authored
into may.pils.ru:/home/svoj/devel/mysql/BUG18036/mysql-4.1
-
unknown authored
Certain updates of table joined to self results in unexpected behavior. The problem was that record cache was mistakenly enabled for self-joined table updates. Normally record cache must be disabled for such updates. Fixed wrong condition in code that determines whether to use record cache for self-joined table updates. Only MyISAM tables were affected. mysql-test/r/myisam.result: Test case for BUG#18036. mysql-test/t/myisam.test: Test case for BUG#18036. sql/sql_update.cc: Fixed wrong condition in code that determines whether to use record cache for self-joined table updates.
-
unknown authored
mysql-test/r/func_time.result: Fix for bug #20496: func_time.test failure - floating point calculations removed. mysql-test/t/func_time.test: Fix for bug #20496: func_time.test failure - floating point calculations removed.
-
- 18 Jun, 2006 1 commit
-
-
unknown authored
into moonbone.local:/work/tmp_merge-4.1-opt-mysql
-
- 17 Jun, 2006 3 commits
-
-
unknown authored
Avoid error message trying 'windoze-dsp' in obsolete directory compile-dist: Avoid error message for target 'distclean' and no Makefile BUILD/compile-dist: Avoid error message for target 'distclean' and no Makefile ndb/Makefile.am: Avoid error message trying 'windoze-dsp' in obsolete directory
-
unknown authored
Make output less verbose Make temporary directory name unique Remove temporary directory on interrupt scripts/make_win_src_distribution.sh: Make output less verbose Make temporary directory name unique Remove temporary directory on interrupt
-
unknown authored
Include "sql_yacc.yy" for completeness (bug#20387) scripts/make_win_src_distribution.sh: Include "sql_yacc.yy" for completeness (bug#20387) Improved error handling Don't list all files packed with tar/zip unless debugging
-
- 16 Jun, 2006 3 commits
-
-
unknown authored
sql/item_timefunc.cc: Auto merged sql/item_timefunc.h: Auto merged
-
unknown authored
Delete: netware/mysql_install.def Makefile.am: Removed obsolete "mysql_install.def" netware/Makefile.am: Removed obsolete "mysql_install.def" BitKeeper/deleted/.del-mysql_install.def~8da659e7c0f7e571: Delete: netware/mysql_install.def
-
unknown authored
Fix for bug#16716 for --ps-protocol mode. item_cmpfunc.cc: Fix for a memory allocation/freeing problem in agg_cmp_type() after fix for bug#16377. Few language corrections. sql/item_cmpfunc.cc: Fix for a memory allocation/freeing problem in agg_cmp_type(). Few language corrections. sql/item_strfunc.cc: Fix for bug#16716 for --ps-protocol mode.
-
- 15 Jun, 2006 5 commits
-
-
unknown authored
into mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
-
unknown authored
into moonbone.local:/work/16377-4.1-after
-
unknown authored
Post fix for bug#16377 mysql-test/r/cast.result: Post fix for bug#16377 sql/item_cmpfunc.h: Post fix for bug#16377
-
unknown authored
into moonbone.local:/home/evgen/bk-trees/mysql-4.1-opt sql/item_strfunc.cc: Auto merged
-
unknown authored
into mysql.com:/usr/home/ram/work/4.1.b15558
-
- 14 Jun, 2006 10 commits
-
-
unknown authored
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-main
-
unknown authored
into moonbone.local:/home/evgen/bk-trees/mysql-4.1-opt
-
unknown authored
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-main sql/ha_ndbcluster.cc: Auto merged
-
unknown authored
- correction of backport error
-
unknown authored
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-main sql/ha_ndbcluster.cc: Auto merged
-
unknown authored
- make sure to disable bulk insert when check for duplicate key is needed mysql-test/r/ndb_loaddatalocal.result: New BitKeeper file ``mysql-test/r/ndb_loaddatalocal.result'' mysql-test/t/ndb_loaddatalocal.test: New BitKeeper file ``mysql-test/t/ndb_loaddatalocal.test''
-
unknown authored
-
unknown authored
-
unknown authored
support-files/mysql.server.sh: Ensure that some necessary / useful system services have been started already, when the MySQL server is started. This fixes bug#18810 and bug#20118
-
unknown authored
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-main sql/ha_ndbcluster.cc: Auto merged
-