- 30 Apr, 2007 1 commit
-
-
unknown authored
-
- 29 Apr, 2007 5 commits
-
-
unknown authored
some rollup rows (rows with NULLs for grouping attributes) if GROUP BY list contained constant expressions. This happened because the results of constant expressions were not put in the temporary table used for duplicate elimination. In fact a constant item from the GROUP BY list of a ROLLUP query can be replaced for an Item_null_result object when a rollup row is produced . Now the JOIN::rollup_init function wraps any constant item referenced in the GROYP BY list of a ROLLUP query into an Item_func object of a special class that is never detected as constant item. This ensures creation of fields for such constant items in temporary tables and guarantees right results when the result of the rollup operation first has to be written into a temporary table, e.g. in the cases when duplicate elimination is required. mysql-test/r/olap.result: Added a test case for bug #24856. mysql-test/t/olap.test: Added a test case for bug #24856. sql/item_func.h: Fixed bug #24856: the result set of a ROLLUP query with DISTINCT could lack some rollup rows (rows with NULLs for grouping attributes) if GROUP BY list contained constant expressions. Itroduced class Item_func_rollup_const derived from Item_func. The object of this class are never detected as constant items. We use them for wrapping constant items from the GROUP BY list of any ROLLUP query. This wrapping allows us to ensure writing constant items into temporary tables whenever the result of the ROLLUP operation has to be written into a temporary table, e.g. when ROLLUP is used together with DISTINCT in the SELECT list. sql/sql_select.cc: Fixed bug #24856: the result set of a ROLLUP query with DISTINCT could lack some rollup rows (rows with NULLs for grouping attributes) if GROUP BY list contained constant expressions. Now the JOIN::rollup_init function wraps any constant item referenced in the GROYP BY list of a ROLLUP query into an Item_func object of a special class that is never detected as constant item. This ensures creation of fields for such constant items in temporary tables and guarantees right results when the result of the rollup operation first has to be written into a temporary table, e.g. in the cases when duplicate elimination is required.
-
unknown authored
into mysql.com:/d2/hf/mrg/mysql-4.1-opt
-
unknown authored
-
unknown authored
into gshchepa.loc:/home/uchum/work/bk-trees/mysql-4.1-opt-13191
-
unknown authored
-
- 28 Apr, 2007 2 commits
-
-
unknown authored
INSERT...ON DUPLICATE KEY UPDATE may cause error 1032: "Can't find record in ..." if we are inserting into InnoDB table unique index of partial key with underlying UTF-8 string field. This error occurs because INSERT...ON DUPLICATE uses a wrong procedure to copy string fields of multi-byte character sets for index search. mysql-test/t/innodb_mysql.test: Added test case for bug #13191. mysql-test/r/innodb_mysql.result: Added test case for bug #13191. sql/field.h: Fixed bug #13191. Field_string::get_key_image() virtual function was overloaded to implement copying of variable length character (UTF-8) fields. Field::get_key_image() function prototype has been changed to return byte size of copied data. sql/field.cc: Fixed bug #13191. Field_string::get_key_image() virtual function was overloaded to implement copying of variable length character (UTF-8) fields. Field::get_key_image() function prototype has been changed to return byte size of copied data. sql/key.cc: Fixed bug #13191. INSERT...ON DUPLICATE KEY UPDATE may cause error 1032: "Can't find record in ...". This error occurs because INSERT...ON DUPLICATE uses a wrong procedure to copy field parts for index search. key_copy() function has been fixed.
-
unknown authored
This bug occurs when error message length exceeds allowed limit: my_error() function outputs "%s" sequences instead of long string arguments. Formats like %-.64s are very common in errmsg.txt files, however my_error() function simply ignores precision of those formats. mysys/my_error.c: Fixed bug #20710. This bug occurs when error message length exceeds allowed limit: my_error() function output "%s" sequences instead of long string arguments. my_error() function has been fixed to accept formats like %-.64s. mysql-test/t/alter_table.test: Added test case for bug #20710. mysql-test/r/alter_table.result: Added test case for bug #20710.
-
- 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 2 commits