- 23 Jun, 2005 16 commits
-
-
unknown authored
into mysql.com:/home/timka/mysql/src/5.0-dbg sql/opt_range.cc: Auto merged
-
unknown authored
into mysql.com:/home/svoj/devel/mysql/mysql-5.0.9
-
unknown authored
into rurik.mysql.com:/home/igor/mysql-5.0
-
unknown authored
Identation correction. sql/opt_range.cc: Identation correction.
-
unknown authored
into mysql.com:/space/my/mysql-5.0-build
-
unknown authored
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0 sql/opt_range.cc: Auto merged
-
unknown authored
into mysql.com:/home/psergey/mysql-5.0-back-vac-look sql/opt_range.cc: Auto merged
-
unknown authored
Fix for "multiple definition of __cxa_pure_virtual" link failure when compiling with icc. extra/yassl/taocrypt/include/runtime.hpp: Do not define __cxa_pure_virtual for ICC. Fixes "multiple definition of __cxa_pure_virtual" link failure on production.
-
unknown authored
into mysql.com:/space/my/mysql-5.0.8-clone
-
unknown authored
-
unknown authored
BitKeeper/deleted/.del-generate-flag-images~f77476753fff8186: Delete: Docs/Support/generate-flag-images Docs/Makefile.am: - fixed node names for the new info file Docs/Support/generate-text-files.pl: - stop printing if the index was reached
-
unknown authored
The source of the problem is in Field_longlong::cmp. If 'this' is an unsigned number, the method casts both the current value, and the constant that we compare with to an unsigned number. As a result if the constant we compare with is a negative number, it wraps to some unsigned number, and the comparison is incorrect. When the optimizer chooses the "range" access method, this problem causes handler::read_range_next to reject the current key when the upper bound key is a negative number because handler::compare_key incorrectly considers the positive and negative keys to be equal. The current patch does not correct the source of the problem in Field_longlong::cmp because it is not easy to propagate sign information about the constant at query execution time. Instead the patch changes the range optimizer so that it never compares unsiged fields with negative constants. As an added benefit, queries that do such comparisons will execute faster because the range optimizer replaces conditions like: (a) (unsigned_int [< | <=] negative_constant) == FALSE (b) (unsigned_int [> | >=] negative_constant) == TRUE with the corresponding constants. In some cases this may even result in constant time execution. mysql-test/r/range.result: - Added test for BUG#11185 - Added missing test from 4.1. This test also tests the fix for BUG#11185. mysql-test/t/range.test: - Added test for BUG#11185 - Added missing test from 4.1. This test also tests the fix for BUG#11185. sql/opt_range.cc: Added a new optimization to the range optimizer where we detect that an UNSIGNED field is compared with a negative constant. Depending on the comparison operator, we know directly that the result of the comparison is either TRUE or FALSE for all input values, and we need not check each value. This optimization is also necessary so that the index range access method produces correct results when comparing unsigned fields with negative constants.
-
unknown authored
Fixed buf #11487. Added a call of QUICK_RANGE_SELECT::init to the QUICK_RANGE_SELECT::reset method. Without it the second evaluation of a subquery employing the range access failed. subselect.result, subselect.test: Added a test case for bug #11487. mysql-test/t/subselect.test: Added a test case for bug #11487. mysql-test/r/subselect.result: Added a test case for bug #11487. sql/opt_range.cc: Fixed buf #11487. Added a call of QUICK_RANGE_SELECT::init to the QUICK_RANGE_SELECT::reset method. Without it the second evaluation of a subquery employing the range access failed.
-
unknown authored
into mysql.com:/home/timka/mysql/src/4.1-bug-11185
-
unknown authored
into mysql.com:/home/timka/mysql/src/5.0-dbg
-
unknown authored
The source of the problem is in Field_longlong::cmp. If 'this' is an unsigned number, the method casts both the current value, and the constant that we compare with to an unsigned number. As a result if the constant we compare with is a negative number, it wraps to some unsigned number, and the comparison is incorrect. When the optimizer chooses the "range" access method, this problem causes handler::read_range_next to reject the current key when the upper bound key is a negative number because handler::compare_key incorrectly considers the positive and negative keys to be equal. The current patch does not correct the source of the problem in Field_longlong::cmp because it is not easy to propagate sign information about the constant at query execution time. Instead the patch changes the range optimizer so that it never compares unsiged fields with negative constants. As an added benefit, queries that do such comparisons will execute faster because the range optimizer replaces conditions like: (a) (unsigned_int [< | <=] negative_constant) == FALSE (b) (unsigned_int [> | >=] negative_constant) == TRUE with the corresponding constants. In some cases this may even result in constant time execution. mysql-test/r/range.result: - Changed incorrect result of an old test - Added new results for BUG#11185 mysql-test/t/range.test: - Added new tests for BUG#11185 - Deleted an old comment because now the problem is fixed sql/opt_range.cc: Added a new optimization to the range optimizer where we detect that an UNSIGNED field is compared with a negative constant. Depending on the comparison operator, we know directly that the result of the comparison is either TRUE or FALSE for all input values, and we need not check each value. This optimization is also necessary so that the index range access method produces correct results when comparing unsigned fields with negative constants.
-
- 22 Jun, 2005 24 commits
-
-
unknown authored
into mdk10.(none):/home/reggie/bk/mysql-5.0-base mysys/my_access.c: Auto merged
-
unknown authored
into moonbone.local:/work/mysql-5.0-merge
-
unknown authored
Fix for bugfix #9728 merge sql/sql_base.cc: Fix for bugfix #9728 merge mysql-test/t/insert_update.test: Fix for bugfix #9728 merge mysql-test/r/insert_update.result: Fix for bugfix #9728 merge
-
unknown authored
mysql-test/r/insert_select.result: Auto merged mysql-test/t/insert_select.test: Auto merged sql/item.cc: Auto merged sql/item.h: Auto merged sql/sql_base.cc: Manual merge sql/sql_parse.cc: Manual merge sql/sql_yacc.yy: Manual merge
-
unknown authored
into radha.local:/Volumes/disk2s1/mysql-5.0
-
unknown authored
sql/sql_class.cc: Statement constructor for the case when it's used for backup only was removed. sql/sql_class.h: Remove THD::stmt_backup and simplify Statement constructors. sql/sql_prepare.cc: Use an object on stack instead of THD::stmt_backup sql/sql_select.cc: Use an object on stack instead of THD::stmt_backup
-
unknown authored
-
unknown authored
into mdk10.(none):/home/reggie/bk/bug9148
-
unknown authored
into moonbone.local:/work/mysql-4.1-bug-8147
-
unknown authored
Fix for fix for bug#9728 decreased functionality in "on duplicate key update" Have to return false to set flag for whole expression. sql/item.h: Fix for fix for bug#9728 decreased functionality in "on duplicate key update" Have to return false to set flag for whole expression.
-
unknown authored
into radha.local:/Volumes/disk2s1/mysql-5.0
-
unknown authored
sql/ha_federated.cc: Added auto-reconnect to allow foreign server restarts.
-
unknown authored
Add a slave when running the federated test case mysql-test/lib/mtr_cases.pl: Add a slave when running the federated test case
-
unknown authored
into mysql.com:/Users/emurphy/src/bk-clean/mysql-5.0 mysql-test/mysql-test-run.pl: Auto merged
-
unknown authored
into mysql.com:/Users/emurphy/src/bk-clean/mysql-5.0 mysql-test/mysql-test-run.pl: Auto merged
-
unknown authored
Bug#11481, set charset directory to mysqlbinlog mysql-test/mysql-test-run.pl: Bug#11481, set charset directory to mysqlbinlog
-
unknown authored
into mysql.com:/Users/emurphy/src/bk-clean/mysql-5.0 mysql-test/mysql-test-run.pl: Auto merged sql/sql_parse.cc: SCCS merged
-
unknown authored
into mysql.com:/Users/kent/mysql/bk/mysql-5.0 mysql-test/mysql-test-run.pl: Auto merged
-
unknown authored
into mysql.com:/Users/emurphy/src/bk-clean/mysql-5.0
-
unknown authored
into mysql.com:/home/psergey/mysql-5.0-bug8441
-
unknown authored
into mysql.com:/Users/emurphy/src/bk-clean/mysql-5.0 sql/sql_parse.cc: Manual merge
-
unknown authored
mysql-test/r/insert_select.result: Auto merged mysql-test/t/insert_select.test: Auto merged
-
unknown authored
into mysql.com:/home/psergey/mysql-5.0-bug8441
-
unknown authored
mysql-test/r/rpl_multi_update3.result: Added test cases mysql-test/t/rpl_multi_update3.test: Added test cases
-