- 07 May, 2007 7 commits
-
-
unknown authored
into moonbone.local:/mnt/gentoo64/work/28133-bug-5.0-opt-mysql sql/item_cmpfunc.cc: Auto merged mysql-test/r/type_datetime.result: SCCS merged mysql-test/t/type_datetime.test: SCCS merged
-
unknown authored
The IN function was comparing DATE/DATETIME values either as ints or as strings. Both methods have their disadvantages and may lead to a wrong result. Now IN function checks whether all of its arguments has the STRING result types and at least one of them is a DATE/DATETIME item. If so it uses either an object of the in_datetime class or an object of the cmp_item_datetime class to perform its work. If the IN() function arguments are rows then row columns are checked whether the DATE/DATETIME comparator should be used to compare them. The in_datetime class is used to find occurence of the item to be checked in the vector of the constant DATE/DATETIME values. The cmp_item_datetime class is used to compare items one by one in the DATE/DATETIME context. Both classes obtain values from items with help of the get_datetime_value() function and cache the left item if it is a constant one. mysql-test/t/type_datetime.test: Added a test case for the bug#28133: Wrong DATE/DATETIME comparison in IN() function. mysql-test/r/type_datetime.result: Added a test case for the bug#28133: Wrong DATE/DATETIME comparison in IN() function. mysql-test/r/func_in.result: A test case result is corrected after the fix for the bug#28133. sql/item_cmpfunc.h: Bug#28133: Wrong DATE/DATETIME comparison in IN() function. Two DATE/DATETIME comparison classes are added. The in_datetime class is used to find occurence of the item to be checked in the vector of the constant DATE/DATETIME values. The cmp_item_datetime class is used to compare items one by one in the DATE/DATETIME context. Both classes obtain values from items with help of the get_datetime_value() function and cache the left item if it is a constant one. sql/item_cmpfunc.cc: Bug#28133: Wrong DATE/DATETIME comparison in IN() function. Now IN function checks whether all of its arguments has the STRING result types and at least one of them is a DATE/DATETIME item. If so it uses either an object of the in_datetime class or an object of the cmp_item_datetime class to perform its work. If the IN() function arguments are rows then row columns are checked whether the DATE/DATETIME comparator should be used to compare them.
-
unknown authored
Fixed compiler warnings. sql/item_func.cc: Fixed compiler warnings.
-
unknown authored
into mysql.com:/d2/hf/mrg/mysql-5.0-opt
-
unknown authored
into mysql.com:/d2/hf/mrg/mysql-5.0-opt sql/item_func.cc: Auto merged sql/item_func.h: Auto merged sql/mysql_priv.h: Auto merged
-
unknown authored
into mysql.com:/d2/hf/mrg/mysql-4.1-opt
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
-
- 04 May, 2007 11 commits
-
-
unknown authored
into moonbone.local:/mnt/gentoo64/work/27759-bug-5.0-opt-mysql sql/item_func.cc: Auto merged
-
unknown authored
fixed coverage of out-of-mem errors
-
unknown authored
The LEAST/GREATEST functions compared DATE/DATETIME values as strings which in some cases could lead to a wrong result. A new member function called cmp_datetimes() is added to the Item_func_min_max class. It compares arguments in DATETIME context and returns index of the least/greatest argument. The Item_func_min_max::fix_length_and_dec() function now detects when arguments should be compared in DATETIME context and sets the newly added flag compare_as_dates. It indicates that the cmp_datetimes() function should be called to get a correct result. Item_func_min_max::val_xxx() methods are corrected to call the cmp_datetimes() function when needed. Objects of the Item_splocal class now stores and reports correct original field type. mysql-test/t/type_datetime.test: Added a test case for the bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions. mysql-test/r/type_datetime.result: Added a test case for the bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions. mysql-test/r/sp-vars.result: A test case result corrected after the fix for the bug#27759. sql/mysql_priv.h: Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions. Added the prototype of the get_datetime_value() function. sql/item_func.h: Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions. A new member function called cmp_datetimes() is added to the Item_func_min_max class. sql/item_func.cc: Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions. A new member function called cmp_datetimes() is added to the Item_func_min_max class. It compares arguments in DATETIME context and returns index of the least/greatest argument. The Item_func_min_max::fix_length_and_dec() function now detects when arguments should be compared in DATETIME context and sets the newly added flag compare_as_dates. It indicates that the cmp_datetimes() function should be called to get a correct result. Item_func_min_max::val_xxx() methods are corrected to call the cmp_datetimes() function when needed. sql/item_cmpfunc.cc: Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions. The get_datetime_value() function is no longer static. sql/item.h: Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions. Objects of the Item_splocal class now stores and reports correct original field type. sql/item.cc: Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions. Objects of the Item_splocal class now stores and reports correct original field type.
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/work/B27531-5.0-opt mysql-test/t/join.test: Auto merged sql/sql_select.cc: Auto merged mysql-test/r/join.result: SCCS merged
-
unknown authored
When checking for applicability of join cache we must disable its usage only if there is no temp table in use. When a temp table is used we can use join cache (and it will not make the result-set unordered) to fill the temp table. The filesort() operation is then applied to the data in the temp table and hence is not affected by join cache usage. Fixed by narrowing the condition for disabling join cache to exclude the case where temp table is used. mysql-test/r/join.result: Bug #27531: test case mysql-test/t/join.test: Bug #27531: test case sql/sql_select.cc: Bug #27531: Disable join cache only if not using temp table
-
unknown authored
into mysql.com:/home/gluh/MySQL/Merge/5.0-opt
-
unknown authored
allow select into out file from I_S if user has FILE privilege otherwise issue an error mysql-test/r/outfile.result: test result mysql-test/t/outfile.test: test case sql/sql_parse.cc: allow select into out file from I_S if user has FILE privilege otherwise issue an error
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/autopush/B27807-5.0-opt
-
unknown authored
into moonbone.local:/mnt/gentoo64/work/23656-bug-5.0-opt-mysql mysql-test/r/cast.result: Auto merged mysql-test/t/cast.test: Auto merged sql/item_func.cc: Manual merge
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/autopush/B27807-5.0-opt sql/sql_select.cc: Auto merged mysql-test/r/subselect.result: merge to 5.0-opt mysql-test/t/subselect.test: merge to 5.0-opt
-
unknown authored
Non-correlated scalar subqueries may get executed in EXPLAIN at the optimization phase if they are part of a right hand sargable expression. If the scalar subquery uses a temp table to materialize its results it will replace the subquery structure from the parser with a simple select from the materialization table. As a result the EXPLAIN will crash as the temporary materialization table is not to be shown in EXPLAIN at all. Fixed by preserving the original query structure right after calling optimize() for scalar subqueries with temp tables executed during EXPLAIN. mysql-test/r/subselect.result: Bug #27807: test case mysql-test/t/subselect.test: Bug #27807: test case sql/item_subselect.cc: Bug #27807: preserve the join structure sql/sql_select.cc: Bug #27807: introduce initialization function for tmp_join sql/sql_select.h: Bug #27807: introduce initialization function for tmp_join
-
- 03 May, 2007 2 commits
-
-
unknown authored
The generic string to int conversion was used by the Item_func_signed and the Item_func_unsigned classes to convert DATE/DATETIME values to the SIGNED/UNSIGNED type. But this conversion produces wrong results for such values. Now if the item which result has to be converted can return its result as longlong then the item->val_int() method is used to allow the item to carry out the conversion itself and return the correct result. This condition is checked in the Item_func_signed::val_int() and the Item_func_unsigned::val_int() functions. mysql-test/t/cast.test: Added a test case for the bug#23656: Wrong conversion result of a DATETIME to integer using CAST function. mysql-test/r/cast.result: Added a test case for the bug#23656: Wrong conversion result of a DATETIME to integer using CAST function. sql/item_func.cc: Bug#23656: Wrong conversion result of a DATETIME to integer using CAST function. Now if the item which result has to be converted can return its result as longlong then the item->val_int() method is used to allow the item to carry out the conversion itself and return the correct result. This condition is checked in the Item_func_signed::val_int() and the Item_func_unsigned::val_int() functions.
-
unknown authored
(here: "scripts/mysql_fix_privilege_tables{.sql,_sql.c}"). Important for cross-builds. scripts/Makefile.am: Generated files like "mysql_fix_privilege_tables{.sql,_sql.c}" should survive a "make clean", this is essential for cross-builds. So move them from "CLEANFILES" to "DISTCLEANFILES".
-
- 02 May, 2007 14 commits
-
-
unknown authored
into linux.site:/home/omer/source/bld50_2
-
unknown authored
source tarball, this is essential for cross builds, like for NetWare. scripts/Makefile.am: On a fast build machine, both the source (mysql_fix_privilege_tables.sql) and the generated file (mysql_fix_privilege_tables_sql.c) may have identical timestamps (granularity is one second only, may be too coarse). If that happens, the Makefile rule will fire, and "comp_sql" will be built and called - which fails in a cross build, like for NetWare. Prevent that by sleeping for 5 (five) seconds, this will ensure a time difference.
-
unknown authored
into trift2.:/MySQL/M50/push-5.0
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build CMakeLists.txt: Auto merged
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build CMakeLists.txt: Auto merged
-
unknown authored
into trift2.:/MySQL/M50/push-5.0 scripts/Makefile.am: Auto merged
-
unknown authored
into trift2.:/MySQL/M50/spec-5.0 support-files/mysql.spec.sh: SCCS merged
-
unknown authored
support-files/mysql.spec.sh: Man pages may/will be compressed, so the file name needs trailing '*' to cover '.gz'.
-
unknown authored
-
unknown authored
CMakeLists.txt: Generate map files for executables
-
unknown authored
client/Makefile.am: "Makefile" command lines must start with a tab, not with blanks. libmysqld/Makefile.am: "Makefile" command lines must start with a tab, not with blanks. netware/Makefile.am: "Makefile" command lines must start with a tab, not with blanks. scripts/Makefile.am: "Makefile" command lines must start with a tab, not with blanks. win/Makefile.am: After a backslash (to mark a continuation line) there must not be a trailing blank.
-
unknown authored
into mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb
-
unknown authored
Bug#27980 INSERT IGNORE wrongly ignores NULLs in unique index: added check for null values mysql-test/t/ndb_insert.test: Bug#27980 INSERT IGNORE wrongly ignores NULLs in unique index: added check for null values sql/ha_ndbcluster.cc: Bug#27980 INSERT IGNORE wrongly ignores NULLs in unique index: added check for null values mysql-test/r/ndb_insert.result: Bug#27980 INSERT IGNORE wrongly ignores NULLs in unique index: added check for null values
-
unknown authored
'not exists' optimization is applied. In fact 'not exists' optimization did not work anymore after the patch introducing the evaluate_join_record function had been applied. Corrected the evaluate_join_record function to respect the 'not_exists' optimization. mysql-test/r/join_outer.result: Added a test case for bug #28188. mysql-test/t/join_outer.test: Added a test case for bug #28188. sql/sql_select.cc: Fixed bug #28188: performance degradation for outer join queries to which 'not exists' optimization is applied. Corrected the evaluate_join_record function to respect the 'not_exists' optimization.
-
- 01 May, 2007 3 commits
-
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50 sql/item_func.h: Auto merged
-
unknown authored
- validated current result files - forced order by and removed time stamps removed a_version files (since do not make sense now when suite is in the main tree) Note: datadict tests still fail as a result of regression bug 28181 in 5.0.42 (discovered while performing this update) - tests should run clean once bug is fixed BitKeeper/deleted/.del-a_version_check.test: Delete: mysql-test/suite/funcs_1/t/a_version_check.test BitKeeper/deleted/.del-a_version_check.result: Delete: mysql-test/suite/funcs_1/r/a_version_check.result BitKeeper/deleted/.del-innodb_views.warnings: Delete: mysql-test/suite/funcs_1/r/innodb_views.warnings BitKeeper/deleted/.del-memory_views.warnings: Delete: mysql-test/suite/funcs_1/r/memory_views.warnings BitKeeper/deleted/.del-myisam_views.warnings: Delete: mysql-test/suite/funcs_1/r/myisam_views.warnings mysql-test/suite/funcs_1/datadict/datadict_load.inc: Modified to correct failiure to return host name on some systems mysql-test/suite/funcs_1/datadict/datadict_master.inc: corrections to force order by on queries and replace time stamps with strings mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc: corrections to force order by on queries mysql-test/suite/funcs_1/r/innodb__datadict.result: Updated result file with order bu selects, elimination of time stamps and selects with empty user (that we don't have anymore) mysql-test/suite/funcs_1/r/innodb_func_view.result: confirming existing results as correct ones - old result file had wrong cast values returned mysql-test/suite/funcs_1/r/innodb_trig_08.result: confirming existing results as correct ones - updated error message mysql-test/suite/funcs_1/r/innodb_views.result: confirming existing results as correct ones - returned results are correct, wrong 'expected' error messages removed mysql-test/suite/funcs_1/r/memory__datadict.result: Updated result file with order bu selects, elimination of time stamps and selects with empty user (that we don't have anymore) mysql-test/suite/funcs_1/r/memory_func_view.result: confirming existing results as correct ones - old result file had wrong cast values returned mysql-test/suite/funcs_1/r/memory_trig_08.result: confirming existing results as correct ones - updated error message mysql-test/suite/funcs_1/r/memory_views.result: confirming existing results as correct ones - returned results are correct, wrong 'expected' error messages removed mysql-test/suite/funcs_1/r/myisam__datadict.result: Updated result file with order bu selects, elimination of time stamps and selects with empty user (that we don't have anymore) mysql-test/suite/funcs_1/r/myisam_func_view.result: confirming existing results as correct ones - old result file had wrong cast values returned mysql-test/suite/funcs_1/r/myisam_trig_08.result: confirming existing results as correct ones - updated error message mysql-test/suite/funcs_1/r/myisam_views.result: confirming existing results as correct ones - returned results are correct, wrong 'expected' error messages removed mysql-test/suite/funcs_1/t/disabled.def: Updated disabled messages with clearer ones mysql-test/suite/funcs_1/views/views_master.inc: removed invalid -- lines generating warning files
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50 mysql-test/r/alter_table.result: Auto merged mysql-test/t/alter_table.test: Auto merged
-
- 30 Apr, 2007 3 commits
-
-
unknown authored
into damien-katzs-computer.local:/Users/dkatz/mysql50
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
-
unknown authored
tmpdir has uppercase Fix: don't convert mysql_tmpdir to lower case when building the path to a temporary table mysql-test/include/have_lowercase1.inc: BitKeeper file /benchmarks/ext3/TOSAVE/tsmith/bk/maint/b27653/50/mysql-test/include/have_lowercase1.inc mysql-test/r/lowercase1.require: BitKeeper file /benchmarks/ext3/TOSAVE/tsmith/bk/maint/b27653/50/mysql-test/r/lowercase1.require mysql-test/r/lowercase_mixed_tmpdir.result: BitKeeper file /benchmarks/ext3/TOSAVE/tsmith/bk/maint/b27653/50/mysql-test/r/lowercase_mixed_tmpdir.result mysql-test/t/lowercase_mixed_tmpdir-master.opt: BitKeeper file /benchmarks/ext3/TOSAVE/tsmith/bk/maint/b27653/50/mysql-test/t/lowercase_mixed_tmpdir-master.opt mysql-test/t/lowercase_mixed_tmpdir-master.sh: BitKeeper file /benchmarks/ext3/TOSAVE/tsmith/bk/maint/b27653/50/mysql-test/t/lowercase_mixed_tmpdir-master.sh mysql-test/t/lowercase_mixed_tmpdir.test: BitKeeper file /benchmarks/ext3/TOSAVE/tsmith/bk/maint/b27653/50/mysql-test/t/lowercase_mixed_tmpdir.test sql/sql_table.cc: When building the path for a temporary table file, do not convert mysql_tmpdir to lower case; lower_case_table_names should not apply to mysql_tmpdir.
-