- 09 Feb, 2007 1 commit
-
-
unknown authored
Objects of the class Item_equal contain an auxiliary member eval_item of the type cmp_item that is used only for direct evaluation of multiple equalities. Currently a multiple equality is evaluated directly only in the cases when the equality holds at most for one row in the result set. The compare collation of eval_item was determined incorectly. It could lead to returning incorrect results for some queries. mysql-test/r/join_outer.result: Added a test case for bug #26017. mysql-test/t/join_outer.test: Added a test case for bug #26017. sql/item_cmpfunc.cc: Fixed bug #26017. Objects of the class Item_equal contain an auxiliary member eval_item of the type cmp_item that is used only for direct evaluation of multiple equalities. Currently a multiple equality is evaluated directly only in the cases when the equality holds at most for one row in the result set. The compare collation of eval_item was determined incorrectly. It could lead to returning incorrect results for some queries. sql/item_cmpfunc.h: Fixed bug #26017. Removed the cmp_collation member from the Item_equal class as useless for the current implementation of the class.
-
- 07 Feb, 2007 2 commits
-
-
unknown authored
View check option clauses were ignored for updates of multi-table views when the updates could not be performed on fly and the rows to update had to be put into temporary tables first. mysql-test/r/view.result: Added a test case for bug #25931. mysql-test/t/view.test: Added a test case for bug #25931. Adjusted another existed test case to have the correct result. sql/sql_update.cc: Fixed bug #25931. View check option clauses were ignored for updates of multi-table views when the updates could not be performed on fly and the rows to update had to be put into temporary tables first. Added the required check to multi_update::do_updates to fix the problem.
-
unknown authored
with a column of the DATETIME type could return a wrong result set if the WHERE clause included a BETWEEN condition on the column. Fixed the method Item_func_between::fix_length_and_dec where the aggregation type for BETWEEN predicates calculated incorrectly if the first argument was a view column of the DATETIME type. mysql-test/r/view.result: Added a test case for bug #26124. mysql-test/t/view.test: Added a test case for bug #26124.
-
- 06 Feb, 2007 2 commits
-
-
unknown authored
updated. INSERT ... ON DUPLICATE KEY UPDATE reports that a record was updated when the duplicate key occurs even if the record wasn't actually changed because the update values are the same as those in the record. Now the compare_record() function is used to check whether the record was changed and the update of a record reported only if the record differs from the original one. sql/sql_update.cc: Bug#19978: INSERT .. ON DUPLICATE erroneously reports some records were updated. The compare_record() function was changed to non-static one. sql/sql_insert.cc: Bug#19978: INSERT .. ON DUPLICATE erroneously reports some records were updated. Now the compare_record() function is used to check whether the record was changed and the update of a record reported only if the record differs from the original one. sql/mysql_priv.h: Bug#19978: INSERT .. ON DUPLICATE erroneously reports some records were updated. Added the prototype of the compare_record() function. mysql-test/t/insert_select.test: Added a test case for bug#19978: INSERT .. ON DUPLICATE erroneously reports some records were updated. mysql-test/r/insert_select.result: Added a test case for bug#19978: INSERT .. ON DUPLICATE erroneously reports some records were updated.
-
unknown authored
Ignoring error codes from type conversion allows default (wrong) values to go unnoticed in the formation of index search conditions. Fixed by correctly checking for conversion errors. mysql-test/r/select.result: Bug #22344: InnoDB keys act strange on datetime vs timestamp comparison - test case mysql-test/t/select.test: Bug #22344: InnoDB keys act strange on datetime vs timestamp comparison - test case sql/field.h: Bug #22344: InnoDB keys act strange on datetime vs timestamp comparison - don't ignore coversion errors sql/field_conv.cc: Bug #22344: InnoDB keys act strange on datetime vs timestamp comparison - don't ignore coversion errors sql/item.cc: Bug #22344: InnoDB keys act strange on datetime vs timestamp comparison - don't ignore coversion errors
-
- 03 Feb, 2007 1 commit
-
-
unknown authored
into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug24035
-
- 02 Feb, 2007 2 commits
-
-
unknown authored
This performance degradation for UPDATEs could be observed in the update statements for which the search key cannot be converted to any valid value of the type of the search column, like for a the condition int_fld=99999999999999999999999999, though it can be guaranteed here that there is no row with such a key value. mysql-test/r/update.result: Added a test case for bug #24035. mysql-test/t/update.test: Added a test case for bug #24035. sql/opt_range.cc: Fix bug #24035. This performance degradation for could be observed in the update statements for which the search key cannot be converted to any valid value of the type of the search column, like for a the condition int_fld=99999999999999999999999999, though it can be guaranteed here that there is no row with such a key value. Now the function get_mm_leaf creates trees of the type SEL_ARG::IMPOSSIBLE for such conditions that tells the range scan not to perform any search at all.
-
unknown authored
into mysql.com:/home/gluh/MySQL/Merge/5.0-opt
-
- 01 Feb, 2007 6 commits
-
-
unknown authored
additional call of file->extra() method with HA_EXTRA_NO_CACHE parameter mysql-test/r/information_schema.result: test result mysql-test/t/information_schema.test: test case sql/sql_show.cc: additional call of file->extra() method with HA_EXTRA_NO_CACHE parameter
-
unknown authored
into rakia.gmz:/home/kgeorge/mysql/autopush/B23556-5.0-opt
-
unknown authored
merge of the 5.0-opt tree mysql-test/r/trigger.result: merge of the 5.0-opt tree
-
unknown authored
into rakia.gmz:/home/kgeorge/mysql/autopush/B23556-5.0-opt mysql-test/t/trigger.test: Auto merged sql/sql_delete.cc: Auto merged
-
unknown authored
into rakia.gmz:/home/kgeorge/mysql/autopush/B25551-5.0-opt sql/sql_select.cc: Auto merged
-
unknown authored
The bug could cause choosing a sub-optimal execution plan for a single-table query if a unique index with many null keys were defined for the table. It happened because the code of the check_quick_keys function made an assumption that any key may occur in an unique index only once. Yet this is not true for keys with nulls that may have multiple occurrences in the index. mysql-test/r/null_key.result: Fixed bug #25407 Adjusted result after the fix. mysql-test/r/select.result: Added a test case for bug #25407. mysql-test/t/select.test: Added a test case for bug #25407.
-
- 31 Jan, 2007 11 commits
-
-
unknown authored
into kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build-work support-files/mysql.spec.sh: Auto merged
-
unknown authored
support-files/mysql.spec.sh: MTR_BUILD_THREAD=auto for test runs
-
unknown authored
into trift2.:/MySQL/M50/push-5.0
-
unknown authored
into trift2.:/MySQL/M50/push-5.0 configure.in: Auto merged
-
unknown authored
into olga.mysql.com:/home/igor/mysql-5.0-opt
-
unknown authored
into mysql.com:/home/hf/work/25973/my50-25973
-
unknown authored
Its root cause is a difference between the "readline" and "libedit" (header files) definitions of "rl_completion_entry_function", where the "libedit" one is wrong anyway: This variable is used as a pointer to a function returning "char *", but "libedit" declares it as returning "int" and then adds casts on usage. Change it to "CPFunction *" and get rid of the casts. client/mysql.cc: Fix bug#23293 "readline detection broken on NetBSD": Now that the "libedit" header files declares "rl_completion_entry_function" correctly, it need not be cast on usage, and "no_completion()" can be declared to return "char *". cmd-line-utils/libedit/readline.c: Fix bug#23293 "readline detection broken on NetBSD": Now that the "libedit" header files declares "rl_completion_entry_function" correctly, it need not be cast on usage, and "complet_func()" is a "CPFunction *" as well. cmd-line-utils/libedit/readline/readline.h: Fix bug#23293 "readline detection broken on NetBSD": Declare "rl_completion_entry_function()" to be a "CPFunction *", this avoids casts and brings "libedit" in sync with "readline".
-
unknown authored
into rakia.gmz:/home/kgeorge/mysql/autopush/B25575-5.0-opt sql/mysql_priv.h: Auto merged sql/sql_lex.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_yacc.yy: Auto merged sql/table.cc: Auto merged
-
unknown authored
Two problems here: Problem 1: While constructing the join columns list the optimizer does as follows: 1. Sets the join_using_fields/natural_join members of the right JOIN operand. 2. Makes a "table reference" (TABLE_LIST) to parent the two tables. 3. Assigns the join_using_fields/is_natural_join of the wrapper table using join_using_fields/natural_join of the rightmost table 4. Sets join_using_fields to NULL for the right JOIN operand. 5. Passes the parent table up to the same procedure on the upper level. Step 1 overrides the the join_using_fields that are set for a nested join wrapping table in step 4. Fixed by making a designated variable SELECT_LEX::prev_join_using to pass the data from step 1 to step 4 without destroying the wrapping table data. Problem 2: The optimizer checks for ambiguous columns while transforming NATURAL JOIN/JOIN USING to JOIN ON. While doing that there was no distinction between columns that are used in the generated join condition (where ambiguity can be checked) and the other columns (where ambiguity can be checked only when resolving references coming from outside the JOIN construct itself). Fixed by allowing the non-USING columns to be present in multiple copies in both sides of the join and moving the ambiguity check to the place where unqualified references to the join columns are resolved (find_field_in_natural_join()). mysql-test/r/join_nested.result: BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join - test case mysql-test/t/join_nested.test: BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join - test case sql/mysql_priv.h: BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join - use SELECT_LEX to store the ref to JOIN USING list needed by the parser sql/sql_base.cc: BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join - proper check for duplicate cols - more detailed debug output sql/sql_lex.h: BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join - use SELECT_LEX to store the ref to JOIN USING list needed by the parser sql/sql_parse.cc: BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join - proper check for duplicate cols in JOIN USING sql/sql_yacc.yy: BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join - use SELECT_LEX to store the ref to JOIN USING list needed by the parser sql/table.cc: BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join - return null if no table ref (as in nested join columns).
-
unknown authored
mysql-test/t/ps_1general.test: replace_result fixed
-
unknown authored
The optimizer takes away columns from GROUP BY/DISTINCT if they constitute all the parts of an unique index. However if some of the columns can contain NULLs this cannot be done (because an UNIQUE index can have multiple rows with NULL values). Fixed by not using UNIQUE indexes with nullable columns to remove grouping columns from GROUP BY/DISTINCT. mysql-test/r/distinct.result: Bug #25551: inconsistent behaviour in grouping NULL, depending on index type - test case mysql-test/t/distinct.test: Bug #25551: inconsistent behaviour in grouping NULL, depending on index type - test case sql/sql_select.cc: Bug #25551: inconsistent behaviour in grouping NULL, depending on index type - UNIQUE NULL indices don't guarantee GROUP BY/DISTINCT.
-
- 30 Jan, 2007 6 commits
-
-
unknown authored
If inserting a GPL header, include a complete one Makefile.am, mysql.dsw, mysql.sln: Removed C version of mysql-test-run mysql.spec.sh: Specify GPL license only in GPL sources .del-my_manage.h: Delete: mysql-test/my_manage.h mysql.spec.sh: Added GPL header .del-mysql_test_run_new.c: Delete: mysql-test/mysql_test_run_new.c .del-mysql_test_run_new.dsp: Delete: VC++Files/mysql-test/mysql_test_run_new.dsp .del-my_create_tables.c: Delete: mysql-test/my_create_tables.c .del-mysql_test_run_new_ia64.dsp: Delete: VC++Files/mysql-test/mysql_test_run_new_ia64.dsp msql2mysql.sh: Use up-to-date GPL header .del-mysql_test_run_new.vcproj: Delete: VC++Files/mysql-test/mysql_test_run_new.vcproj .del-my_manage.c: Delete: mysql-test/my_manage.c scripts/msql2mysql.sh: Use up-to-date GPL header support-files/mysql.spec.sh: Added GPL header sql/gen_lex_hash.cc: If inserting a GPL header, include a complete one BitKeeper/deleted/.del-mysql_test_run_new.c: Delete: mysql-test/mysql_test_run_new.c BitKeeper/deleted/.del-mysql_test_run_new.dsp: Delete: VC++Files/mysql-test/mysql_test_run_new.dsp BitKeeper/deleted/.del-mysql_test_run_new.vcproj: Delete: VC++Files/mysql-test/mysql_test_run_new.vcproj BitKeeper/deleted/.del-mysql_test_run_new_ia64.dsp: Delete: VC++Files/mysql-test/mysql_test_run_new_ia64.dsp BitKeeper/deleted/.del-my_create_tables.c: Delete: mysql-test/my_create_tables.c BitKeeper/deleted/.del-my_manage.c: Delete: mysql-test/my_manage.c BitKeeper/deleted/.del-my_manage.h: Delete: mysql-test/my_manage.h VC++Files/mysql.dsw: Removed C version of mysql-test-run VC++Files/mysql.sln: Removed C version of mysql-test-run mysql-test/Makefile.am: Removed C version of mysql-test-run
-
unknown authored
into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug24987 sql/opt_sum.cc: Auto merged sql/sql_select.cc: Manual merge
-
unknown authored
Made the function opt_sum_query to return HA_ERR_KEY_NOT_FOUND when no matches were found (instead of -1 it returned prior this patch). This changes allow us to avoid possible conflicts with return values from user-defined handler methods which also may return -1. No particular test cases are provided with this fix. sql/opt_sum.cc: Fixed bug #24987. Made the function opt_sum_query to return HA_ERR_KEY_NOT_FOUND when no matches were found (instead of -1 it returned prior this patch). This changes allow us to avoid possible conflicts with return values from user-defined handler methods which also may return -1. sql/sql_select.cc: Fixed bug #24987. Made the function opt_sum_query to return HA_ERR_KEY_NOT_FOUND when no matches were found (instead of -1 it returned prior this patch). This changes allow us to avoid possible conflicts with return values from user-defined handler methods which also may return -1.
-
unknown authored
into rakia.gmz:/home/kgeorge/mysql/autopush/B25643-5.0-opt
-
unknown authored
Checking for NULL before calling the val_xxx() methods only checks for such arguments that are known to be NULLs at compile time. The arguments that may or may not contain NULLs (e.g. function calls and possibly others) are not checked at all. Fixed by first calling the val_xxx() method and then checking for null in SEC_TO_TIME(). In addition QUARTER() was not returning 0 (as all the val_int() functions do when processing a NULL value). mysql-test/r/func_time.result: Bug #25643: SEC_TO_TIME function problem - test case mysql-test/t/func_time.test: Bug #25643: SEC_TO_TIME function problem - test case sql/item_timefunc.cc: Bug #25643: SEC_TO_TIME function problem - null handling fixed for QUARTER() and SEC_TO_TIME()
-
unknown authored
into kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build-work-25530
-
- 27 Jan, 2007 1 commit
-
-
unknown authored
Objects of the classes Item_func_is_not_null_test and Item_func_trig_cond must be transparent for the method Item::split_sum_func2 as these classes are pure helpers. It means that the method Item::split_sum_func2 should look at those objects as at pure wrappers. mysql-test/r/subselect3.result: Added a test case for bug #24420. mysql-test/t/subselect3.test: Added a test case for bug #24420.
-
- 26 Jan, 2007 5 commits
-
-
unknown authored
into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug24653 sql/item.h: Auto merged
-
unknown authored
into mysql.com:/home/gluh/MySQL/Merge/5.0 sql/item.h: Auto merged sql/sql_table.cc: Auto merged sql/sql_update.cc: Auto merged
-
unknown authored
-
unknown authored
into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug24653 sql/item.cc: Auto merged sql/item.h: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_func.cc: Auto merged sql/sql_select.cc: Auto merged mysql-test/r/subselect.result: Manual merge mysql-test/t/subselect.test: Manual merge sql/filesort.cc: Manual merge sql/item_cmpfunc.h: Manual merge sql/item_subselect.cc: Manual merge
-
unknown authored
The bug report has demonstrated the following two problems. 1. If an ORDER/GROUP BY list includes a constant expression being optimized away and, at the same time, containing single-row subselects that return more that one row, no error is reported. Strictly speaking the standard allows to ignore error in this case. Yet, now a corresponding fatal error is reported in this case. 2. If a query requires sorting by expressions containing single-row subselects that, however, return more than one row, then the execution of the query may cause a server crash. To fix this some code has been added that blocks execution of a subselect item in case of a fatal error in the method Item_subselect::exec. mysql-test/r/subselect.result: Added a test cases for bug #24653. mysql-test/t/subselect.test: Added a test cases for bug #24653. sql/filesort.cc: Fixed bug #24653. Added a check for fatal error after reading the next row from the table in the function find_all_keys. sql/item.cc: Fixed bug #24653. Down-ported calculation of the attribute with_subselect of for Item objects. sql/item.h: Fixed bug #24653. Down-ported calculation of the attribute with_subselect of for Item objects. sql/item_cmpfunc.cc: Fixed bug #24653. Down-ported calculation of the attribute with_subselect of for Item objects. sql/item_cmpfunc.h: Fixed bug #24653. Down-ported calculation of the attribute with_subselect of for Item objects. sql/item_func.cc: Fixed bug #24653. Down-ported calculation of the attribute with_subselect of for Item objects. sql/item_subselect.cc: Fixed bug #24653. Added a check for fatal error in the method Item_subselect::exec to block evaluation of subselects in erroneous situations. Down-ported calculation of the attribute with_subselect of for Item objects. sql/sql_select.cc: Fixed bug #24653. Added a check to verify that any constant expression used in ORDER BY and/or GROUP BY lists which is optimized away does not contain subselects returning more than one row. If it does a fatal error is reported.
-
- 25 Jan, 2007 3 commits
-
-
unknown authored
additional files that specify some actions which are allowed to the MySQL binaries. Create a new subdirectory "supportfiles/RHEL4-SElinux" for them, and process it. This fixes bug#12676. configure.in: New "support-files/RHEL4-SElinux/Makefile.am" must be processed by "automake" etc. support-files/Makefile.am: For Linux systems running RHEL 4 (which includes SE-Linux), we need to provide additional files that specify some actions which are allowed to the MySQL binaries. Create a new subdirectory "supportfiles/RHEL4-SElinux" for them, and process it. support-files/RHEL4-SElinux/Makefile.am: BitKeeper file /MySQL/M50/bug12676-5.0/support-files/RHEL4-SElinux/Makefile.am support-files/RHEL4-SElinux/mysql.fc: BitKeeper file /MySQL/M50/bug12676-5.0/support-files/RHEL4-SElinux/mysql.fc support-files/RHEL4-SElinux/mysql.te: BitKeeper file /MySQL/M50/bug12676-5.0/support-files/RHEL4-SElinux/mysql.te
-
unknown authored
into mockturtle.local:/home/dlenev/src/mysql-5.0-merge
-
unknown authored
BUILD/SETUP.sh: BUG#25530 --with-readline fails with commercial source packages The compile-* scripts should not use --with-readline explicitly when no readline is present. configure.in: BUG#25530 --with-readline fails with commercial source packages Configuring --with-readline should fail when libreadline is not bundled. A system libreadline is only used when there is a bundled libreadline too, so the commercial source code isn't linked with GPL libreadline by accident.
-