- 28 Sep, 2007 1 commit
-
-
unknown authored
The optimizer takes different execution paths during EXPLAIN than SELECT, this fix relates only to EXPLAIN, hence no behavior changes. The test of sort keys for ORDER BY was prohibited from considering keys that were mentioned in IGNORE KEYS FOR ORDER BY. This led to two inconsistencies: One was that IGNORE INDEX FOR GROUP BY and IGNORE INDEX FOR ORDER BY gave apparently different EXPLAINs; the latter erroneously claimed to do filesort. The second inconsistency is that the test of sort keys is called twice, finding a sort key the first time but not the second time, leading to the mentioned filesort. Fixed by making the test of sort keys consider all enabled keys on the table. This test rejects keys that are not covering, and for covering keys the hint should be ignored anyway. mysql-test/r/group_by.result: Bug#30665: Changed test result. The plan gets more efficient here. The output is included in order to show that it is still correct. mysql-test/r/order_by.result: Bug#30665: Test result mysql-test/t/group_by.test: Bug#30665: Changed test case to show correctness of changed plan mysql-test/t/order_by.test: Bug#30665: Test case sql/sql_select.cc: Bug#30665: - the fix: Give test_if_skip_sort_order all keys not the subset of non-disabled keys. - Added comment to test_if_skip_sort_order
-
- 21 Sep, 2007 2 commits
- 20 Sep, 2007 6 commits
-
-
unknown authored
into mysql.com:/home/gluh/MySQL/Merge/5.1-opt
-
unknown authored
-
unknown authored
into mysql.com:/home/gluh/MySQL/Merge/5.1-opt mysql-test/r/grant.result: Auto merged
-
unknown authored
-
unknown authored
into mysql.com:/home/gluh/MySQL/Merge/5.1-opt mysql-test/r/alter_table.result: Auto merged mysql-test/r/create.result: Auto merged mysql-test/r/ctype_collate.result: Auto merged mysql-test/r/ctype_recoding.result: Auto merged mysql-test/r/default.result: Auto merged mysql-test/r/gis.result: Auto merged mysql-test/r/grant.result: Auto merged mysql-test/r/information_schema.result: Auto merged mysql-test/r/key.result: Auto merged mysql-test/r/mysql.result: Auto merged mysql-test/r/ps_1general.result: Auto merged mysql-test/r/sp.result: Auto merged mysql-test/r/type_enum.result: Auto merged mysql-test/r/type_ranges.result: Auto merged mysql-test/r/show_check.result: manual merge mysql-test/t/information_schema.test: manual merge sql/sql_show.cc: manual merge
-
unknown authored
added get_field_default_value() function which obtains default value from the field (used in store_create_info() & get_schema_column_record() functions) mysql-test/r/alter_table.result: result fix mysql-test/r/create.result: result fix mysql-test/r/ctype_collate.result: result fix mysql-test/r/ctype_recoding.result: result fix mysql-test/r/default.result: result fix mysql-test/r/gis.result: result fix mysql-test/r/grant.result: result fix mysql-test/r/information_schema.result: result fix mysql-test/r/key.result: result fix mysql-test/r/mysql.result: result fix mysql-test/r/ps_1general.result: result fix mysql-test/r/show_check.result: result fix mysql-test/r/sp.result: result fix mysql-test/r/type_enum.result: result fix mysql-test/r/type_ranges.result: result fix mysql-test/t/information_schema.test: test case
-
- 19 Sep, 2007 5 commits
-
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/autopush/B30639-5.1-opt mysql-test/r/select.result: Auto merged mysql-test/t/select.test: Auto merged sql/sql_lex.cc: Auto merged
-
unknown authored
The parser uses ulonglong to store the LIMIT number. This number then is stored into a variable of type ha_rows. ha_rows is either 4 or 8 byte depending on the BIG_TABLES define from config.h So an overflow may occur (and LIMIT becomes zero) while storing an ulonglong value in ha_rows. Fixed by : 1. Using the maximum possible value for ha_rows on overflow 2. Defining BIG_TABLES for the windows builds (to match the others) include/config-win.h: Bug #30639: turn on BIG_TABLES for windows mysql-test/r/select.result: Bug #30639: test case mysql-test/t/select.test: Bug #30639: test case sql/sql_lex.cc: Bug #30639: Use the maximum possible number on overflow of LIMIT. This is valid because there won't be more rows anyway.
-
unknown authored
into mysql.com:/home/gluh/MySQL/Merge/5.1-opt
-
unknown authored
into mysql.com:/home/gluh/MySQL/Merge/5.1-opt mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: Auto merged mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: Auto merged
-
unknown authored
into mysql.com:/home/gluh/MySQL/Merge/5.0-opt
-
- 15 Sep, 2007 3 commits
-
-
unknown authored
Post-merge fix. mysql-test/suite/rpl/r/rpl_row_colSize.result: Post-merge fix. mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: Post-merge fix. mysql-test/suite/rpl/r/rpl_extraCol_innodb.result: Post-merge fix. mysql-test/suite/rpl/r/rpl_extraCol_myisam.result: Post-merge fix. mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: Post-merge fix.
-
unknown authored
into devsrv-b.mysql.com:/data0/gshchepa/mysql-5.1-opt mysql-test/t/select.test: Auto merged
-
unknown authored
Post-fix for bug#27695. mysql-test/t/select.test: Post-fix for bug#27695.
-
- 14 Sep, 2007 23 commits
-
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/autopush/B31001-5.1-opt
-
unknown authored
into devsrv-b.mysql.com:/data0/gshchepa/mysql-5.1-opt sql/item.cc: Auto merged
-
unknown authored
into devsrv-b.mysql.com:/data0/gshchepa/mysql-5.0-opt
-
unknown authored
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/autopush/B31001-5.0-opt
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/work/B31001-5.1-opt mysql-test/include/mix1.inc: merge 5.0-opt -> 5.1-opt mysql-test/r/innodb_mysql.result: merge 5.0-opt -> 5.1-opt sql/sql_select.cc: merge 5.0-opt -> 5.1-opt
-
unknown authored
Merge with 5.0-opt. mysql-test/r/binlog_unsafe.result: Merge with 5.0-opt. mysql-test/r/events_bugs.result: Merge with 5.0-opt. mysql-test/r/events_trans.result: Merge with 5.0-opt. mysql-test/r/sp.result: Merge with 5.0-opt. mysql-test/r/sp_gis.result: Merge with 5.0-opt. mysql-test/r/xml.result: Merge with 5.0-opt. mysql-test/suite/rpl/r/rpl_incident.result: Merge with 5.0-opt. mysql-test/suite/rpl/r/rpl_loaddata_fatal.result: Merge with 5.0-opt. mysql-test/suite/rpl/r/rpl_udf.result: Merge with 5.0-opt. mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: Merge with 5.0-opt. mysql-test/suite/ndb/r/ndb_dd_basic.result: Merge with 5.0-opt. mysql-test/suite/ndb/r/ndb_dd_ddl.result: Merge with 5.0-opt. mysql-test/suite/ndb/r/ndb_gis.result: Merge with 5.0-opt. mysql-test/suite/ndb/r/ndb_row_format.result: Merge with 5.0-opt. mysql-test/suite/ndb/r/ndb_single_user.result: Merge with 5.0-opt.
-
unknown authored
The optimizer sets index traversal in reverse order only if there are used key parts that are not compared to a constant. However using the primary key as an ORDER BY suffix rendered the check incomplete : going in reverse order must still be used even if all the parts of the secondary key are compared to a constant. Fixed by relaxing the check and set reverse traversal even when all the secondary index keyparts are compared to a const. Also account for the case when all the primary keys are compared to a constant. mysql-test/r/innodb_mysql.result: Bug #31001: test case mysql-test/t/innodb_mysql.test: Bug #31001: test case sql/sql_select.cc: Bug #31001: - account for the case when all the primary key parts are compared to a constant - force test_if_skip_sort_order to go backwards over the key even when the number of keyparts used is the same as the number of keyparts equal to a constant. (because of the primary key suffix).
-
unknown authored
into mysql.com:/home/psergey/mysql-5.1-bug27927 mysql-test/r/type_bit.result: Auto merged mysql-test/t/type_bit.test: Auto merged sql/item_sum.cc: Auto merged
-
unknown authored
into mysql.com:/home/psergey/mysql-5.0-bug30324
-
unknown authored
- The bug was caused by COUNT(DISTINCT ...) code using Unique object in a way that assumed that BIT(N) column occupies a contiguous space in temp_table->record[0] buffer. - The fix is to make COUNT(DISTINCT ...) code instruct create_tmp_table to create temporary table with column of type BIGINT, not BIT(N). mysql-test/r/type_bit.result: BUG#30324: Grouping queries with COUNT(DISTINCT bit column) return wrong results - Testcase mysql-test/t/type_bit.test: BUG#30324: Grouping queries with COUNT(DISTINCT bit column) return wrong results - Testcase sql/item_sum.cc: BUG#30324: Grouping queries with COUNT(DISTINCT bit column) return wrong results - Make COUNT(DISTINCT ...) code instruct create_tmp_table to create temporary table with BIGINT, not BIT(N) column.
-
unknown authored
into mysql.com:/home/psergey/mysql-5.1-bug27927 mysql-test/r/partition_pruning.result: Auto merged
-
unknown authored
- Introduced val_int_endpoint() function which converts between func argument intervals and func value intervals for monotonic functions. - Made partition interval analyzer use part_expr->val_int_endpoint() to check if the edge values should be included. mysql-test/r/partition_pruning.result: BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions - Testcase mysql-test/t/partition_pruning.test: BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions - Testcase sql/item.cc: BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions - Added Item_field::val_int_endpoint() implementation sql/item.h: BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions - Added Item::val_int_endpoint() which converts intervals from argument space to function value space for unary monotonic functions. sql/item_timefunc.cc: BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions - Added val_int_endpoint() for TO_DAYS and YEAR functions. sql/item_timefunc.h: BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions - Added val_int_endpoint() for TO_DAYS and YEAR functions. sql/partition_info.h: BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions - Removed partition_info::range_analysis_include_bounds as it is no longer needed. sql/sql_partition.cc: BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions - Make partition interval analyzer use part_expr->val_int_endpoint() to check if the edge values should be included.
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge sql/log_event.cc: Auto merged
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
-
unknown authored
into devsrv-b.mysql.com:/data0/gshchepa/mysql-5.1-opt mysql-test/r/select.result: Auto merged mysql-test/t/select.test: Auto merged sql/item.cc: Auto merged sql/share/errmsg.txt: Merge with 5.0-opt.
-
unknown authored
into devsrv-b.mysql.com:/data0/gshchepa/mysql-5.0-opt
-
unknown authored
into gleb.loc:/home/uchum/work/bk/5.0-opt-27695
-
unknown authored
into gleb.loc:/home/uchum/work/bk/5.1-opt
-
unknown authored
into gleb.loc:/home/uchum/work/bk/5.1-opt
-