- 14 Jan, 2008 1 commit
-
-
unknown authored
and a char-field > 128 exists CHECK TABLE (non-QUICK) and any form of repair table did wrongly rate records as corrupted under the following conditions: 1. The table has dynamic row format and 2. it has a CHAR like column > 127 bytes (but not VARCHAR) (for multi-byte character sets this could be less than 127 characters) and 3. it has records with > 127 bytes significant length in that column (a byte beyond byte position 127 must be non-space). Affected were the statements CHECK TABLE, REPAIR TABLE, OPTIMIZE TABLE, ALTER TABLE. CHECK TABLE reported and marked the table as crashed if any record was present that fulfilled condition 3. The other statements deleted these records. The problem was a signed/unsigned compare in MyISAM code. A char to uchar change became necessary after the big byte to uchar change. mysql-test/r/myisam.result: Bug#33222 - myisam-table drops rows when column is added and a char-field > 128 exists Added test result. mysql-test/t/myisam.test: Bug#33222 - myisam-table drops rows when column is added and a char-field > 128 exists Added test. storage/myisam/mi_dynrec.c: Bug#33222 - myisam-table drops rows when column is added and a char-field > 128 exists char -> uchar became necessary after big byte -> uchar change. Fixed some small coding style violations near the changes.
-
- 14 Dec, 2007 3 commits
-
-
unknown authored
into mysql.com:/home/svoj/devel/mysql/merge/mysql-5.1-engines sql/table.cc: Auto merged
-
unknown authored
into mysql.com:/home/svoj/devel/mysql/merge/mysql-5.1-engines sql/sql_parse.cc: Auto merged sql/sql_table.cc: Auto merged
-
unknown authored
When openning a table with unsupported (disabled or not compiled) storage engine, confusing error message is returned. Return better error message when we're attempting to open a table that uses unsupported engine. sql/table.cc: Return better error message when we're attempting to open a table that uses unsupported engine.
-
- 12 Dec, 2007 2 commits
- 11 Dec, 2007 12 commits
-
-
unknown authored
into stella.local:/home2/mydev/mysql-5.1-axmrg
-
unknown authored
into stella.local:/home2/mydev/mysql-5.1-axmrg
-
unknown authored
into stella.local:/home2/mydev/mysql-5.1-axmrg sql/sql_table.cc: Auto merged
-
unknown authored
into stella.local:/home2/mydev/mysql-5.0-axmrg
-
unknown authored
into stella.local:/home2/mydev/mysql-5.1-axmrg mysql-test/r/func_misc.result: Auto merged mysql-test/t/func_misc.test: Auto merged
-
unknown authored
into stella.local:/home2/mydev/mysql-5.1-axmrg sql/lock.cc: Auto merged sql/sql_base.cc: Auto merged
-
unknown authored
into stella.local:/home2/mydev/mysql-5.1-axmrg mysql-test/t/disabled.def: Auto merged sql/partition_info.cc: Auto merged storage/csv/ha_tina.cc: Auto merged mysql-test/r/func_misc.result: SCCS merged mysql-test/t/func_misc.test: SCCS merged
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1 configure.in: merge fix
-
unknown authored
-
unknown authored
into stella.local:/home2/mydev/mysql-5.0-axmrg mysql-test/r/func_misc.result: Manual merge mysql-test/t/func_misc.test: Manual merge
-
unknown authored
The patch for Bug 26379 (Combination of FLUSH TABLE and REPAIR TABLE corrupts a MERGE table) fixed this bug too. However it revealed a new bug that crashed the server. Flushing a merge table at the moment when it is between open and attach of children crashed the server. The flushing thread wants to abort locks on the flushed table. It calls ha_myisammrg::lock_count() and ha_myisammrg::store_lock() on the TABLE object of the other thread. Changed ha_myisammrg::lock_count() and ha_myisammrg::store_lock() to accept non-attached children. ha_myisammrg::lock_count() returns the number of MyISAM tables in the MERGE table so that the memory allocation done by get_lock_data() is done correctly, even if the children become attached before ha_myisammrg::store_lock() is called. ha_myisammrg::store_lock() will not return any lock if the children are not attached. This is however a change in the handler interface. lock_count() can now return a higher number than store_lock() stores locks. This is more safe than the reverse implementation would be. get_lock_data() in the SQL layer is adjusted accordingly. It sets MYSQL_LOCK::lock_count based on the number of locks returned by the handler::store_lock() calls, not based on the numbers returned by the handler::lock_count() calls. The latter are only used for allocation of memory now. No test case. The test suite cannot reliably run FLUSH between lock_count() and store_lock() of another thread. The bug report contains a program that can repeat the problem with some probability. include/myisammrg.h: Bug#30273 - merge tables: Can't lock file (errno: 155) Added mutex to struct st_myrg_info (MYRG_INFO). sql/handler.h: Bug#30273 - merge tables: Can't lock file (errno: 155) Extended comments for handler::lock_count() and handler::store_lock(). sql/lock.cc: Bug#30273 - merge tables: Can't lock file (errno: 155) Changed get_lock_data() so that the final lock_count is taken from the number of locks returned from handler::store_lock() instead of from handler::lock_count(). sql/sql_base.cc: Fixed a purecov comment. (unrelated to the rest of the changeset) storage/myisammrg/ha_myisammrg.cc: Bug#30273 - merge tables: Can't lock file (errno: 155) Changed ha_myisammrg::lock_count() and ha_myisammrg::store_lock() to accept non-attached children. Protected ha_myisammrg::store_lock() by MYRG_INFO::mutex. storage/myisammrg/myrg_close.c: Bug#30273 - merge tables: Can't lock file (errno: 155) Added MYRG_INFO::mutex destruction to myrg_parent_close(). storage/myisammrg/myrg_open.c: Bug#30273 - merge tables: Can't lock file (errno: 155) Added MYRG_INFO::mutex initialization to myrg_parent_open(). Protected myrg_attach_children() and myrg_detach_children() by MYRG_INFO::mutex. Fixed a purecov comment. (unrelated to the rest of the changeset)
-
unknown authored
into witty.:/Users/mattiasj/clones/51_push32948
-
- 10 Dec, 2007 8 commits
-
-
unknown authored
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build Makefile.am: Auto merged configure.in: null merge version change scripts/mysql_install_db.sh: manual merge scripts/mysql_system_tables_data.sql: manual merge
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build configure.in: Auto merged scripts/mysql_install_db.sh: Auto merged
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build client/mysqldump.c: Auto merged mysql-test/r/innodb_mysql.result: Auto merged sql/sql_parse.cc: Auto merged sql/sql_table.cc: Auto merged
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build
-
- 08 Dec, 2007 1 commit
-
-
unknown authored
Change LAST_EXECUTED time the execution start time, instead of the execution completion time. This ensures the END time always the same or later than the LAST_EXECUTED time. mysql-test/t/disabled.def: Enable events_scheduling test
-
- 07 Dec, 2007 13 commits
-
-
unknown authored
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51 mysql-test/mysql-test-run.pl: Auto merged
-
unknown authored
mysql-test/mysql-test-run.pl: Add a way to remove options which mysql-test-run.pl no longer uses. Since mysql-test-run.pl passes unrecognized options through to mysqld directly, it is not possible to just remove an option. Otherwise it would be given to mysqld, which probably will not recognize it and will fail to start. Instead, we now explicitly ignore the option, and print a warning to the user.
-
unknown authored
into five.local.lan:/work/merge/mysql-5.1-build-parts
-
unknown authored
into trift2.:/MySQL/M51/push-5.1
-
unknown authored
Makefile syntax error, comment should precede the whole target. Makefile.am: Makefile syntax error, comment should precede the whole target.
-
unknown authored
clause is silently ignored When symbolic links are disabled by command line option or NO_DIR_IN_CREATE sql mode, CREATE TABLE silently ignores DATA/INDEX DIRECTORY options. With this fix a warning is issued when symbolic links are disabled. mysql-test/r/symlink.result: A test case for BUG#25677. mysql-test/t/symlink.test: A test case for BUG#25677. sql/sql_parse.cc: Moved handling of situation when mysqld is compiled without HAVE_READLINK to mysql_create_table_no_lock(). sql/sql_table.cc: Issue a warning in case DATA/INDEX DIRECTORY is specified and: - server is compiled without HAVE_READLINK; - using symbolic links is disabled by command line option; - using symbolic links is disabled by NO_DIR_IN_CREATE sql mode.
-
unknown authored
into trift2.:/MySQL/M51/push-5.1
-
unknown authored
into trift2.:/MySQL/M50/push-5.0
-
unknown authored
into trift2.:/MySQL/M51/push-5.1
-
unknown authored
into trift2.:/MySQL/M51/push-5.1 mysql-test/t/disabled.def: Auto merged sql/sql_base.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_table.cc: Auto merged
-
unknown authored
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51 sql/sql_table.cc: Auto merged
-
unknown authored
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51 sql/sql_acl.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_table.cc: Auto merged mysql-test/r/grant.result: Manual merge mysql-test/t/grant.test: Manual merge
-
unknown authored
In the "test-bt" target, replace the call "$(MAKE) test-embedded" by the actions of that target. Makefile.am: In the "test-bt" target, replace the call "$(MAKE) test-embedded" by the actions of that target. Reason: For release builds, we run the tests in a tree that contains just a binary installation. So the Makefile is not in the test tree, and we explicitly address it in the build tree. This explicit path is not kept by "make", so it is missing in the sub-make. There seems to be no way to solve this with (portable!) "make" features - we could add a new variable and use it in the sub-make, but it is easier to duplicate these few lines.
-