- 16 May, 2007 1 commit
-
-
unknown authored
tables In case system doesn't have native pread/pwrite calls (e.g. Windows) and there is CHECK TABLE runs concurrently with another statement that reads from a table, the table may be reported as crashed. This is fixed by locking file descriptor when my_seek is executed on MyISAM index file and emulated pread/pwrite may be executed concurrently. Affects MyISAM tables on platforms that do not have native pread/pwrite calls (e.g. Windows). No deterministic test case for this bug. myisam/mi_check.c: Key file descriptor is shared among threads and mixed set of my_pread/my_pwrite and my_seek calls is possible. This is not a problem on systems that have native pread/pwrite calls. In case system doesn't have native pread/pwrite calls (e.g. Windows) we must ensure that my_pread/my_pwrite are not executed at the same time with my_seek. This is done by passing MY_THREADSAFE flag to my_seek. mysys/my_seek.c: On platforms that do not have native pread/pwrite calls (e.g. Windows) these calls are emulated as follow: lock fd, lseek, read, unlock fd. In case file descriptor is shared among threads, where one thread executes my_pread and another thread executes my_seek, we may read from a wrong position. This may happen because my_seek doesn't lock fd and thus may be executed by another thread after emulated pread has done lseek and before it has done read. To fix problem mentioned above we introduce new flag MY_THREADSAFE to my_seek, which is meaningful only in case pread/pwrite calls are emulated. If this flag is set, lseek operation is performed as follow: lock fd, seek, unlock fd.
-
- 28 Apr, 2007 1 commit
-
-
unknown authored
on a BLACKHOLE table Using INSERT DELAYED on BLACKHOLE tables could lead to server crash. This happens because delayed thread wants to upgrade a lock, but BLACKHOLE tables do not have locks at all. This patch rejects attempts to use INSERT DELAYED on MERGE tables. mysql-test/r/blackhole.result: A test case for BUG#27998. mysql-test/t/blackhole.test: A test case for BUG#27998. sql/ha_blackhole.h: Removed HA_CAN_INSERT_DELAYED flag from table_flags(). The insert delayed thread upgrades the lock. Hence it is incapable to handle BLACKHOLE tables, which do not have locks at all.
-
- 26 Apr, 2007 2 commits
- 24 Apr, 2007 2 commits
- 23 Apr, 2007 2 commits
- 20 Apr, 2007 1 commit
-
-
unknown authored
Support for NULL components was incomplete for row comparison, fixed. Added support for abort_on_null at compare_row() like in 5.x sql/item_cmpfunc.h: Bug#27704: incorrect comparison of rows with NULL components Added support for abort_on_null at Item_bool_func2 like in 5.x sql/item_cmpfunc.cc: Bug#27704: incorrect comparison of rows with NULL components Support for NULL components was incomplete for row comparison, fixed. Added support for abort_on_null at compare_row() like in 5.x mysql-test/t/row.test: Test case updated for Bug#27704 (incorrect comparison of rows with NULL components) mysql-test/r/row.result: Test case updated for Bug#27704 (incorrect comparison of rows with NULL components) mysql-test/r/subselect.result: Test case updated for Bug#27704 (incorrect comparison of rows with NULL components)
-
- 19 Apr, 2007 1 commit
-
-
unknown authored
-
- 18 Apr, 2007 1 commit
-
-
unknown authored
into mysql.com:/home/svoj/devel/mysql/BUG24342/mysql-4.1-engines
-
- 17 Apr, 2007 3 commits
-
-
unknown authored
into siva.hindu.god:/home/tsmith/m/bk/maint/41
-
unknown authored
into trift2.:/MySQL/M41/push-4.1
-
unknown authored
Added missed DROP privilege check on the original table for RENAME TABLE command. mysql-test/r/grant.result: Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE - test result. mysql-test/t/grant.test: Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE - test case. sql/sql_parse.cc: Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE - added DROP privilege check on the original table for RENAME TABLE command.
-
- 14 Apr, 2007 1 commit
-
-
unknown authored
into mysql.com:/d2/hf/mrg/mysql-4.1-opt
-
- 12 Apr, 2007 2 commits
-
-
unknown authored
IGNORE/USE/FORCE INDEX hints were honored when choosing FULLTEXT index. With this fix these hints are ignored. For regular indexes we may perform table scan instead of index lookup when IGNORE INDEX was specified. We cannot do this for FULLTEXT in NLQ mode. mysql-test/r/fulltext.result: A test case for bug#25951. mysql-test/t/fulltext.test: A test case for bug#25951. sql/item_func.cc: IGNOR/USE/FORCE INDEX hints should not be honored when choosing FULLTEXT index. Use proper bitmap, that is not modified by IGNORE/USE/FORCE INDEX hints.
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-4.1-opt
-
- 11 Apr, 2007 4 commits
-
-
unknown authored
are used as arguments of the IN predicate. Added a function to check compatibility of row expressions. Made sure that this function to be called for Item_func_in objects by fix_length_and_dec(). mysql-test/r/row.result: Added a test case for bug #27484. mysql-test/t/row.test: Added a test case for bug #27484.
-
unknown authored
into perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
-
unknown authored
into perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
-
unknown authored
fix commit trigger on multi-update ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp: fix commit trigger on multi-update
-
- 10 Apr, 2007 9 commits
-
-
unknown authored
into mysql.com:/home/kent/bk/tmp3/mysql-4.1-build
-
unknown authored
MERGE engine may return incorrect values when several representations of equal keys are present in the index. For example "groß" and "gross" or "gross" and "gross " (trailing space), which are considered equal, but have different lengths. The problem was that key length was not recalculated after key lookup. Only MERGE engine is affected. myisam/mi_rkey.c: info->lastkey gets rewritten by mi_search. Later we recalculate found lastkey length. This is done to make sure that mi_rnext_same gets true, found (not searched) lastkey length. Searched and found key lengths may be different, for example in case searched key is "groß" and found is "gross" or in case a key has trailing spaces. Unfortunately we recalculate found lastkey length only for first underlying table. To recalculate found key length for non-first underlying table we need to know how much key segments were used to create this key. When mi_rkey is called for first underlying table of a merge table, store offset to last used key segment. Restore last_used_keyseg variable when mi_rkey is called for non-first underlying table. myisam/myisamdef.h: Added last_used_keyseg variable to MI_INFO. It is used by merge engine to calculate key length. myisammrg/myrg_rkey.c: Pass last used key segment returned by first table key read to other table key reads. mysql-test/r/merge.result: A test case for bug#24342. mysql-test/t/merge.test: A test case for bug#24342.
-
unknown authored
-
unknown authored
-
unknown authored
-
unknown authored
-
unknown authored
into pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
-
unknown authored
-
unknown authored
into pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint client/mysqltest.c: Auto merged mysql-test/r/mysqltest.result: Auto merged mysql-test/t/mysqltest.test: Auto merged
-
- 07 Apr, 2007 2 commits
- 05 Apr, 2007 3 commits
-
-
unknown authored
Usage: query_sorted <query>; client/mysqltest.c: Add query_sorted command to mysqltest mysql-test/r/mysqltest.result: Update result mysql-test/t/mysqltest.test: Add tests for query_sorted
-
unknown authored
Cleanup exit handling
-
unknown authored
configure.in.rej include/my_global.h.rej BUILD/SETUP.sh.rej mysys/thr_alarm.c.rej include/my_pthread.h.rej BitKeeper/deleted/.del-SETUP.sh.rej: Delete: BUILD/SETUP.sh.rej BitKeeper/deleted/.del-configure.in.rej: Delete: configure.in.rej BitKeeper/deleted/.del-my_global.h.rej: Delete: include/my_global.h.rej BitKeeper/deleted/.del-my_pthread.h.rej: Delete: include/my_pthread.h.rej BitKeeper/deleted/.del-thr_alarm.c.rej: Delete: mysys/thr_alarm.c.rej
-
- 04 Apr, 2007 4 commits
- 03 Apr, 2007 1 commit
-
-
unknown authored
IN/BETWEEN predicates in sorting expressions. Wrong results may occur when the select list contains an expression with IN/BETWEEN predicate that differs from a sorting expression by an additional NOT only. Added the method Item_func_opt_neg::eq to compare correctly expressions containing [NOT] IN/BETWEEN. The eq method inherited from the Item_func returns TRUE when comparing 'a IN (1,2)' with 'a NOT IN (1,2)' that is not, of course, correct. mysql-test/r/order_by.result: Added a test case for bug #27532. mysql-test/t/order_by.test: Added a test case for bug #27532. sql/item_cmpfunc.cc: Fixed bug #27532. Added the method Item_func_opt_neg::eq to compare correctly expressions containing [NOT] IN/BETWEEN. The eq method inherited from the Item_func returns TRUE when comparing 'a IN (1,2)' with 'a NOT IN (1,2)' that is not, of course, correct. sql/item_cmpfunc.h: Added the method Item_func_opt_neg::eq to compare correctly expressions containing [NOT] IN/BETWEEN. The eq method inherited from the Item_func returns TRUE when comparing 'a IN (1,2)' with 'a NOT IN (1,2)' that is not, of course, correct.
-