- 14 Jun, 2006 6 commits
-
-
unknown authored
into mysql.com:/home/kgeorge/mysql/5.0/B18895
-
unknown authored
into mysql.com:/home/kgeorge/mysql/5.0/B18895
-
unknown authored
into moonbone.local:/home/evgen/bk-trees/mysql-5.0-opt
-
unknown authored
The Field::eq() considered instances of Field_bit that differ only in bit_ptr/bit_ofs equal. This caused equality conditions optimization (build_equal_items_for_cond()) to make bad field substitutions that result in wrong predicates. Field_bit requires an overloaded eq() function that checks the bit_ptr/bit_ofs in addition to Field::eq(). mysql-test/r/select.result: Bug #18895: BIT values cause joins to fail - test case mysql-test/t/select.test: Bug #18895: BIT values cause joins to fail - test case sql/field.h: Bug #18895: BIT values cause joins to fail - eq() method overloaded for Field_bit
-
unknown authored
into moonbone.local:/work/15962-bug-5.0-opt-mysql
-
unknown authored
into mysql.com:/home/kgeorge/mysql/5.0/B20195
-
- 13 Jun, 2006 1 commit
-
-
unknown authored
The INSERT DELAYED should not maintain its own private auto-increment counter, because this is assuming that other threads cannot insert into the table while the INSERT DELAYED thread is inserting, which is a wrong assumption. So the start of processing of a batch of INSERT rows in the INSERT DELAYED thread must be treated as a start of a new statement and cached next_insert_id must be cleared. mysql-test/r/delayed.result: test suite for the bug mysql-test/t/delayed.test: test suite for the bug sql/sql_insert.cc: Reset auto-increment cacheing before processing the next batch of inserts in the handler thread
-
- 11 Jun, 2006 1 commit
-
-
unknown authored
into rurik.mysql.com:/home/igor/mysql-5.0-opt
-
- 08 Jun, 2006 2 commits
-
-
unknown authored
into mysql.com:/home/kgeorge/mysql/5.0/B15355
-
unknown authored
query Problem: There was a wrong context assigned to the columns that were added in insert_fields() when expanding a '*'. When this is done in a prepared statement it causes fix_fields() to fail to find the table that these columns reference. Actually the right context is set in setup_natural_join_row_types() called at the end of setup_tables(). However when executed in a context of a prepared statement setup_tables() resets the context, but setup_natural_join_row_types() was not setting it to the correct value assuming it has already done so. Solution: The top-most, left-most NATURAL/USING join must be set as a first_name_resolution_table in context even when operating on prepared statements. mysql-test/r/join.result: testsuite for the bug mysql-test/t/join.test: testsuite for the bug sql/sql_base.cc: The context must be set even when executed as prepared statement.
-
- 06 Jun, 2006 1 commit
-
-
unknown authored
To calculate its max_length the CONCAT() function is simply sums max_lengths of its arguments but when the collation of an argument differs from the collation of the CONCAT() max_length will be wrong. This may lead to a data truncation when a tmp table is used, in UNIONS for example. The Item_func_concat::fix_length_and_dec() function now recalculates the max_length of an argument when the mbmaxlen of the argument differs from the mbmaxlen of the CONCAT(). mysql-test/t/func_concat.test: Added test case for bug#15962:CONCAT() in UNION may lead to a data trucation. mysql-test/r/func_concat.result: Added test case for bug#15962:CONCAT() in UNION may lead to a data trucation. sql/item_strfunc.cc: Fixed bug#15962: CONCAT() in UNION may lead to a data trucation. The Item_func_concat::fix_length_and_dec() function now recalculates the max_length of an argument when the mbmaxlen of the argument differs from the mbmaxlen of the CONCAT().
-
- 03 Jun, 2006 1 commit
-
-
unknown authored
into rurik.mysql.com:/home/igor/mysql-5.0-opt sql/opt_sum.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_select.h: Auto merged mysql-test/r/func_group.result: SCCS merged mysql-test/t/func_group.test: SCCS merged
-
- 02 Jun, 2006 6 commits
-
-
unknown authored
into rurik.mysql.com:/home/igor/mysql-4.1-opt
-
unknown authored
The bug report revealed two problems related to min/max optimization: 1. If the length of a constant key used in a SARGable condition for for the MIN/MAX fields is greater than the length of the field an unwanted warning on key truncation is issued; 2. If MIN/MAX optimization is applied to a partial index, like INDEX(b(4)) than can lead to returning a wrong result set. mysql-test/r/func_group.result: Added test cases for bug #18206. mysql-test/t/func_group.test: Added test cases for bug #18206. sql/opt_sum.cc: Fixed bug #18206. Suppressed the warning about data truncation when store_val_in_field was used to store keys for the field used in MIN/MAX optimization. Blocked MIN/MAX optimization for partial keys, such as in INDEX(b(4)). sql/sql_select.cc: Fixed bug #18206. Added a parameter for the function store_val_in_field allowing to control setting warnings about data truncation in the function. sql/sql_select.h: Fixed bug #18206. Added a parameter for the function store_val_in_field allowing to control setting warnings about data truncation in the function.
-
unknown authored
-
unknown authored
-
unknown authored
into mysql.com:/home/kgeorge/mysql/5.0/B4981 mysql-test/t/select.test: Auto merged sql/opt_range.cc: Auto merged mysql-test/r/select.result: merged
-
unknown authored
3.23 regression test failure The member SEL_ARG::min_flag was not initialized, due to which the condition for no GEOM_FLAG in function key_or did not choose "Range checked for each record" as the correct access method. mysql-test/r/select.result: testcase for 'Range checked' access method mysql-test/t/select.test: testcase for 'Range checked' access method sql/opt_range.cc: All of the class members initialized
-
- 30 May, 2006 3 commits
- 29 May, 2006 16 commits
-
-
unknown authored
The IN() function uses agg_cmp_type() to aggregate all types of its arguments to find out some common type for comparisons. In this particular case the char() and the int was aggregated to double because char() can contain values like '1.5'. But all strings which do not start from a digit are converted to 0. thus 'a' and 'z' become equal. This behaviour is reasonable when all function arguments are constants. But when there is a field or an expression this can lead to false comparisons. In this case it makes more sense to coerce constants to the type of the field argument. The agg_cmp_type() function now aggregates types of constant and non-constant items separately. If some non-constant items will be found then their aggregated type will be returned. Thus after the aggregation constants will be coerced to the aggregated type. mysql-test/t/func_in.test: Added test case for bug#18360: Incorrect type coercion in IN() results in false comparison. mysql-test/r/func_in.result: Added test case for bug#18360: Incorrect type coercion in IN() results in false comparison. sql/item_cmpfunc.cc: Fixed bug#18360: Incorrect type coercion in IN() results in false comparison. The agg_cmp_type() function now aggregates types of constant and non-constant items separately. If some non-constant items will be found then their aggregated type will be returned. Thus after the aggregation constants will be coerced to the aggregated type.
-
unknown authored
mysql-test/t/multi_update.test: Auto merged
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysql-5.0
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysql-5.0
-
unknown authored
-
unknown authored
extra/yassl/include/yassl_error.hpp: Import patch yassl.diff extra/yassl/mySTL/stdexcept.hpp: Import patch yassl.diff extra/yassl/src/yassl_error.cpp: Import patch yassl.diff extra/yassl/src/yassl_int.cpp: Import patch yassl.diff extra/yassl/taocrypt/src/integer.cpp: Import patch yassl.diff extra/yassl/taocrypt/src/misc.cpp: Import patch yassl.diff
-
unknown authored
into devsrv-b.mysql.com:/users/msvensson/mysql-5.0
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysql-5.0
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysql-5.0
-
unknown authored
into shellback.(none):/home/msvensson/mysql/mysql-5.0
-
unknown authored
into devsrv-b.mysql.com:/users/msvensson/mysql-5.0
-
unknown authored
client/mysqldump.c: after merge fix. - 'lengths' declaration moved to the beginning of the block.
-
unknown authored
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysql-5.0 mysys/default.c: Auto merged mysql-test/mysql-test-run.pl: Merge backport mysql-test/mysql-test-run.sh: Merge backport mysql-test/r/mysqldump.result: Manual merge mysql-test/t/mysqldump.test: Manual merge
-
unknown authored
-
unknown authored
into mysql.com:/usr/home/ram/work/mysql-5.0 client/mysqldump.c: merge (used ul) mysql-test/r/mysqldump.result: merge (used ul) mysql-test/t/mysqldump.test: merge (used ul)
-
- 28 May, 2006 1 commit
-
-
unknown authored
In multi-table delete a table for delete can't be used for selecting in subselects. Appropriate error was raised but wasn't checked which leads to a crash at the execution phase. The mysql_execute_command() now checks for errors before executing select for multi-delete. mysql-test/t/multi_update.test: Added test case for bug#19225: unchecked error results in server crash mysql-test/r/multi_update.result: Added test case for bug#19225: unchecked error results in server crash sql/sql_parse.cc: Fixed bug#19225: unchecked error results in server crash The mysql_execute_command() now checks for errors before executing select for multi-delete.
-
- 26 May, 2006 2 commits