- 28 Jun, 2006 1 commit
-
-
unknown authored
mysql-test/r/distinct.result: 4.1->5.0 merge for bug #16458 * 5.0 is better in detecting duplicate columns sql/sql_select.cc: 4.1->5.0 merge for bug #16458 * Should not do the optimization if using index for group by * chnaged structures in 5.0
-
- 27 Jun, 2006 2 commits
-
-
unknown authored
into mysql.com:/home/kgeorge/mysql/5.0/B16458 sql/sql_select.cc: Auto merged mysql-test/r/distinct.result: merge 4.1->5.0 mysql-test/t/distinct.test: merge 4.1->5.0
-
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 2 commits
-
-
unknown authored
into rurik.mysql.com:/home/igor/mysql-5.0-opt mysql-test/t/ctype_utf8.test: Auto merged mysql-test/r/ctype_utf8.result: SCCS merged
-
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 6 commits
-
-
unknown authored
into rurik.mysql.com:/home/igor/mysql-5.0-opt sql/item_sum.cc: Auto merged mysql-test/r/ctype_ucs.result: Manual merge mysql-test/t/ctype_ucs.test: Manual merge
-
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
-
unknown authored
into rurik.mysql.com:/home/igor/mysql-5.0-opt mysql-test/r/ctype_utf8.result: Auto merged mysql-test/t/ctype_utf8.test: Auto merged
-
unknown authored
execution plans in 4.1 and 5.0.
-
unknown authored
into rurik.mysql.com:/home/igor/mysql-5.0-opt mysql-test/t/ctype_utf8.test: Auto merged strings/ctype-mb.c: Auto merged mysql-test/r/ctype_utf8.result: SCCS merged
-
- 21 Jun, 2006 28 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-5.0-opt-mysql
-
unknown authored
mysql-test/r/ctype_utf8.result: Auto merged mysql-test/t/ctype_utf8.test: Auto merged
-
unknown authored
into moonbone.local:/work/tmp_merge-5.0-opt-mysql
-
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 mysql.com:/home/bk/fix-mysql-5.0
-
unknown authored
into may.pils.ru:/home/svoj/devel/mysql/BUG20357/mysql-5.0 mysql-test/r/myisam.result: Auto merged mysql-test/t/myisam.test: Auto merged sql/opt_sum.cc: Auto merged mysql-test/mysql-test-run.sh: Auto merged
-
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 mysql.com:/data0/knielsen/mysql-5.0
-
unknown authored
Backport Valgrind suppression from mysql-5.1: D 1.4 05/11/23 22:44:54+02:00 monty@mysql.com 5 4 12/0/154 P mysql-test/valgrind.supp C Remove warning that may happens becasue threads dies in different order mysql-test/valgrind.supp: Add suppression for Valgrind warning.
-
unknown authored
-
unknown authored
into mysql.com:/home/kgeorge/mysql/5.0/B18080 sql/sql_parse.cc: Auto merged
-
unknown authored
into mysql.com:/home/marty/MySQL/mysql-5.0
-
unknown authored
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-main
-
unknown authored
mysql-test/t/insert_select.test: Auto merged mysql-test/r/insert_select.result: manual merge
-
unknown authored
mysql-test/r/view_grant.result: merged mysql-test/t/view_grant.test: merged
-
unknown authored
into mysql.com:/home/kgeorge/mysql/5.0/B20482 sql/sql_base.cc: Auto merged sql/sql_parse.cc: Auto merged
-
unknown authored
schemas The function check_one_table_access() called to check access to tables in SELECT/INSERT/UPDATE was doing additional checks/modifications that don't hold in the context of setup_tables_and_check_access(). That's why the check_one_table() was split into two : the functionality needed by setup_tables_and_check_access() into check_single_table_access() and the rest of the functionality stays in check_one_table_access() that is made to call the new check_single_table_access() function. mysql-test/r/view_grant.result: Bug #20482: failure on Create join view with sources views/tables in different schemas - test suite for the bug mysql-test/t/view_grant.test: Bug #20482: failure on Create join view with sources views/tables in different schemas - test suite for the bug sql/mysql_priv.h: Bug #20482: failure on Create join view with sources views/tables in different schemas - check_one_table_access split into 2 sql/sql_base.cc: Bug #20482: failure on Create join view with sources views/tables in different schemas - the new sub-function called sql/sql_parse.cc: Bug #20482: failure on Create join view with sources views/tables in different schemas - check_one_table_access() split into two : check_single_table_access() to actually check access to the table(ro) and check_one_table_access() that calls check_single_table_access() and checks also the tables belonging to sub selects or implicitly opened tables.
-
unknown authored
into mysql.com:/home/marty/MySQL/mysql-5.0 sql/ha_ndbcluster.cc: Auto merged
-
unknown authored
-
unknown authored
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-main
-
unknown authored
into rurik.mysql.com:/home/igor/mysql-4.1-opt
-
unknown authored
into mysql.com:/usr/home/ram/work/mysql-5.0 mysql-test/r/func_str.result: Auto merged mysql-test/t/func_str.test: Auto merged mysql-test/t/func_time.test: Auto merged sql/item_strfunc.cc: Auto merged sql/item_strfunc.h: Auto merged mysql-test/r/func_time.result: SCCS merged
-
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 1 commit
-
-
unknown authored
into moonbone.local:/work/tmp_merge-5.0-opt-mysql mysql-test/r/insert_select.result: Auto merged mysql-test/t/insert_select.test: Auto merged sql/sql_select.cc: Auto merged
-