- 27 Jun, 2006 2 commits
-
-
unknown authored
into mysql.com:/home/kgeorge/mysql/4.1/B16458
-
unknown authored
'SELECT DISTINCT a,b FROM t1' should not use temp table if there is unique index (or primary key) on a. There are a number of other similar cases that can be calculated without the use of a temp table : multi-part unique indexes, primary keys or using GROUP BY instead of DISTINCT. When a GROUP BY/DISTINCT clause contains all key parts of a unique index, then it is guaranteed that the fields of the clause will be unique, therefore we can optimize away GROUP BY/DISTINCT altogether. This optimization has two effects: * there is no need to create a temporary table to compute the GROUP/DISTINCT operation (or the temporary table will be smaller if only GROUP is removed and DISTINCT stays or if DISTINCT is removed and GROUP BY stays) * this causes the statement in effect to become updatable in Connector/Java because the result set columns will be direct reference to the primary key of the table (instead to the temporary table that it currently references). Implemented a check that will optimize away GROUP BY/DISTINCT for queries like the above. Currently it will work only for single non-constant table in the FROM clause. mysql-test/r/distinct.result: Bug #16458: Simple SELECT FOR UPDATE causes "Result Set not updatable" error - test case mysql-test/t/distinct.test: Bug #16458: Simple SELECT FOR UPDATE causes "Result Set not updatable" error - test case sql/sql_select.cc: Bug #16458: Simple SELECT FOR UPDATE causes "Result Set not updatable" error - disable GROUP BY if contains the fields of a unique index.
-
- 23 Jun, 2006 1 commit
-
-
unknown authored
This was another manifestation of the problems fixed in the patch for bug 16674. Wrong calculation of length of the search prefix in the pattern string led here to a wrong result set for a query in 4.1. The bug could be demonstrated for any multi-byte character set. mysql-test/r/ctype_utf8.result: Added a test case for bug #18359. mysql-test/t/ctype_utf8.test: Added a test case for bug #18359.
-
- 22 Jun, 2006 2 commits
-
-
unknown authored
Server crashed in some cases when a query required a MIN/MAX agrregation for a 'ucs2' field. In these cases the aggregation caused calls of the function update_tmptable_sum_func that indirectly invoked the method Item_sum_hybrid::min_max_update_str_field() containing a call to strip_sp for a ucs2 character set. The latter led directly to the crash as it used my_isspace undefined for the ucs2 character set. Actually the call of strip_sp is not needed at all in this situation and has been removed by the fix. mysql-test/r/ctype_ucs.result: Added a test case for bug #20076. mysql-test/t/ctype_ucs.test: Added a test case for bug #20076.
-
unknown authored
execution plans in 4.1 and 5.0.
-
- 21 Jun, 2006 9 commits
-
-
unknown authored
into rurik.mysql.com:/home/igor/mysql-4.1-opt mysql-test/r/ctype_utf8.result: SCCS merged mysql-test/t/ctype_utf8.test: SCCS merged
-
unknown authored
into moonbone.local:/work/tmp_merge-4.1-opt-mysql
-
unknown authored
This bug in Field_string::cmp resulted in a wrong comparison with keys in partial indexes over multi-byte character fields. Given field a is declared as a varchar(16) collate utf8_unicode_ci INDEX(a(4)) gives us an example of such an index. Wrong key comparisons could lead to wrong result sets if the selected query execution plan used a range scan by a partial index over a utf8 character field. This also caused wrong results in many other cases. mysql-test/t/ctype_utf8.test: Added test cases for bug #14896. mysql-test/r/ctype_utf8.result: Added test cases for bug #14896. sql/field.cc: Fixed bug #14896. This bug in Field_string::cmp resulted in a wrong comparison with keys in partial indexes over multi-byte character fields. Given field a is declared as a varchar(16) collate utf8_unicode_ci INDEX(a(4)) gives us an example of such an index. Wrong key comparisons could lead to wrong result sets if the selected query execution plan used a range scan by a partial index over a utf8 character field. This also caused wrong results in many other cases.
-
unknown authored
into may.pils.ru:/home/svoj/devel/mysql/BUG20357/mysql-4.1
-
unknown authored
-
unknown authored
into may.pils.ru:/home/svoj/devel/mysql/BUG20357/mysql-4.1 sql/opt_sum.cc: Auto merged mysql-test/r/myisam.result: SCCS merged mysql-test/t/myisam.test: SCCS merged
-
unknown authored
functions in queries Using MAX()/MIN() on table with disabled indexes (by ALTER TABLE) results in error 124 (wrong index) from storage engine. The problem was that optimizer use disabled index to optimize MAX()/MIN(). Normally it must skip disabled index and perform table scan. This patch skips disabled indexes for min/max optimization. mysql-test/r/myisam.result: Test case for BUG#20357. mysql-test/t/myisam.test: Test case for BUG#20357. sql/opt_sum.cc: Skip disabled/ignored indexes for min/max optimization.
-
unknown authored
into rurik.mysql.com:/home/igor/mysql-4.1-opt
-
unknown authored
The length of the prefix of the pattern string in the LIKE predicate that determined the index range to be scanned was calculated incorrectly for multi-byte character sets. As a result of this in 4. 1 the the scanned range was wider then necessary if the prefix contained not only one-byte characters. In 5.0 additionally it caused missing some rows from the result set. mysql-test/r/ctype_utf8.result: Added test cases for bug #16674. mysql-test/t/ctype_utf8.test: Added test cases for bug #16674. strings/ctype-mb.c: Fixed bug #16674. The length of the prefix of the pattern string in the LIKE predicate that determined the index range to be scanned was calculated incorrectly for multi-byte character sets. As a result of this in 4. 1 the the scanned range was wider then necessary if the prefix contained not only one-byte characters. In 5.0 additionally it caused missing some rows from the result set. The function my_like_range_mb was fixed to calculate the length of the prefix in a pattern string correctly in all cases.
-
- 20 Jun, 2006 5 commits
-
-
unknown authored
into moonbone.local:/work/tmp_merge-4.1-opt-mysql
-
unknown authored
Added test case for bug#18759 Incorrect string to numeric conversion. select.test: Added test case for bug#18759 Incorrect string to numeric conversion. item_cmpfunc.cc: Cleanup after fix for bug#18360 removal sql/item_cmpfunc.cc: Cleanup after fix for bug#18360 removal mysql-test/t/select.test: Added test case for bug#18759 Incorrect string to numeric conversion. mysql-test/r/select.result: Added test case for bug#18759 Incorrect string to numeric conversion.
-
unknown authored
into mysql.com:/usr/home/ram/work/mysql-4.1 mysql-test/r/func_str.result: merge (ul) mysql-test/t/func_str.test: merge (ul) sql/item_strfunc.cc: merge (ul) sql/item_strfunc.h: merge (ul)
-
unknown authored
into mysql.com:/usr/home/ram/work/mysql-4.1
-
unknown authored
into mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
-
- 19 Jun, 2006 9 commits
-
-
unknown authored
into moonbone.local:/work/tmp_merge-4.1-opt-mysql
-
unknown authored
into moonbone.local:/work/tmp_merge-4.1-opt-mysql
-
unknown authored
Reverted fix for bug#18360 mysql-test/t/func_in.test: Reverted fix for bug#18360 mysql-test/r/func_in.result: Reverted fix for bug#18360 sql/item_cmpfunc.cc: Reverted fix for bug#18360
-
unknown authored
into mysql.com:/home/kgeorge/mysql/4.1/B9676
-
unknown authored
tables Currently in INSERT ... SELECT ... LIMIT ... the compiler uses a temporary table to store the results of SELECT ... LIMIT .. and then uses that table as a source for INSERT. The problem is that in some cases it actually skips the LIMIT clause in doing that and materializes the whole SELECT result set regardless of the LIMIT. This fix is limiting the process of filling up the temp table with only that much rows that will be actually used by propagating the LIMIT value. mysql-test/r/insert_select.result: * Bug #9676: INSERT INTO x SELECT .. FROM x LIMIT 1; slows down with big tables - a test demonstrating the code path mysql-test/t/insert_select.test: * Bug #9676: INSERT INTO x SELECT .. FROM x LIMIT 1; slows down with big tables - a test demonstrating the code path sql/sql_select.cc: * Bug #9676: INSERT INTO x SELECT .. FROM x LIMIT 1; slows down with big tables - pass through the real LIMIT number if the temp table is created for buffering results. - set the counter for all the cases when the temp table is not used for grouping
-
unknown authored
into mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
-
unknown authored
into may.pils.ru:/home/svoj/devel/mysql/BUG18036/mysql-4.1
-
unknown authored
Certain updates of table joined to self results in unexpected behavior. The problem was that record cache was mistakenly enabled for self-joined table updates. Normally record cache must be disabled for such updates. Fixed wrong condition in code that determines whether to use record cache for self-joined table updates. Only MyISAM tables were affected. mysql-test/r/myisam.result: Test case for BUG#18036. mysql-test/t/myisam.test: Test case for BUG#18036. sql/sql_update.cc: Fixed wrong condition in code that determines whether to use record cache for self-joined table updates.
-
unknown authored
mysql-test/r/func_time.result: Fix for bug #20496: func_time.test failure - floating point calculations removed. mysql-test/t/func_time.test: Fix for bug #20496: func_time.test failure - floating point calculations removed.
-
- 18 Jun, 2006 1 commit
-
-
unknown authored
into moonbone.local:/work/tmp_merge-4.1-opt-mysql
-
- 17 Jun, 2006 3 commits
-
-
unknown authored
Avoid error message trying 'windoze-dsp' in obsolete directory compile-dist: Avoid error message for target 'distclean' and no Makefile BUILD/compile-dist: Avoid error message for target 'distclean' and no Makefile ndb/Makefile.am: Avoid error message trying 'windoze-dsp' in obsolete directory
-
unknown authored
Make output less verbose Make temporary directory name unique Remove temporary directory on interrupt scripts/make_win_src_distribution.sh: Make output less verbose Make temporary directory name unique Remove temporary directory on interrupt
-
unknown authored
Include "sql_yacc.yy" for completeness (bug#20387) scripts/make_win_src_distribution.sh: Include "sql_yacc.yy" for completeness (bug#20387) Improved error handling Don't list all files packed with tar/zip unless debugging
-
- 16 Jun, 2006 3 commits
-
-
unknown authored
sql/item_timefunc.cc: Auto merged sql/item_timefunc.h: Auto merged
-
unknown authored
Delete: netware/mysql_install.def Makefile.am: Removed obsolete "mysql_install.def" netware/Makefile.am: Removed obsolete "mysql_install.def" BitKeeper/deleted/.del-mysql_install.def~8da659e7c0f7e571: Delete: netware/mysql_install.def
-
unknown authored
Fix for bug#16716 for --ps-protocol mode. item_cmpfunc.cc: Fix for a memory allocation/freeing problem in agg_cmp_type() after fix for bug#16377. Few language corrections. sql/item_cmpfunc.cc: Fix for a memory allocation/freeing problem in agg_cmp_type(). Few language corrections. sql/item_strfunc.cc: Fix for bug#16716 for --ps-protocol mode.
-
- 15 Jun, 2006 5 commits
-
-
unknown authored
into mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
-
unknown authored
into moonbone.local:/work/16377-4.1-after
-
unknown authored
Post fix for bug#16377 mysql-test/r/cast.result: Post fix for bug#16377 sql/item_cmpfunc.h: Post fix for bug#16377
-
unknown authored
into moonbone.local:/home/evgen/bk-trees/mysql-4.1-opt sql/item_strfunc.cc: Auto merged
-
unknown authored
into mysql.com:/usr/home/ram/work/4.1.b15558
-