From: Mattias Jonsson Date: December 17 2010 11:16am Subject: bzr commit into mysql-trunk branch (mattias.jonsson:3211) WL#5217 List-Archive: http://lists.mysql.com/commits/127173 Message-Id: <201012171117.oBHBBY0K006872@acsinet15.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7349548225528874238==" --===============7349548225528874238== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///Users/mattiasj/mysql-bzr/topush-trunk-wl5217/ based on revid:mattias.jonsson@stripped 3211 Mattias Jonsson 2010-12-17 WL#5217: Add explicit partition selection pre-push test fixes @ mysql-test/suite/parts/t/partition_debug_myisam.test Disable the test on embedded, since restart does not work. @ mysql-test/t/wl5217.test Set the default storage engine to InnoDB, to pass on embedded. @ sql/partition_info.cc Wrong order of DBUG_ASSERT, and an assert that was not correct. modified: mysql-test/r/wl5217.result mysql-test/suite/parts/t/partition_debug_myisam.test mysql-test/t/wl5217.test sql/partition_info.cc === modified file 'mysql-test/r/wl5217.result' --- a/mysql-test/r/wl5217.result 2010-12-14 15:13:57 +0000 +++ b/mysql-test/r/wl5217.result 2010-12-17 11:16:44 +0000 @@ -1,3 +1,7 @@ +# Must have InnoDB as engine to get the same statistics results. +# embedded uses MyISAM as default. CREATE SELECT uses the default engine. +SET @old_default_storage_engine = @@default_storage_engine; +SET @@default_storage_engine = 'InnoDB'; # Original tests for WL#5217 # TODO: benchmark what value to use for MAX_PARTITIONS_BEFORE_HASH # Test to show if I_S affects HANDLER_ counts @@ -1095,3 +1099,4 @@ HANDLER_WRITE 17 SELECT * FROM t3 PARTITION (pNeg); ERROR HY000: PARTITION () clause on non partitioned table DROP TABLE t1, t2, t3; +SET @@default_storage_engine = @old_default_storage_engine; === modified file 'mysql-test/suite/parts/t/partition_debug_myisam.test' --- a/mysql-test/suite/parts/t/partition_debug_myisam.test 2010-08-13 07:50:25 +0000 +++ b/mysql-test/suite/parts/t/partition_debug_myisam.test 2010-12-17 11:16:44 +0000 @@ -4,6 +4,8 @@ --source include/have_debug.inc --source include/have_partition.inc --source include/not_valgrind.inc +# Crash tests don't work with embedded +--source include/not_embedded.inc --disable_warnings DROP TABLE IF EXISTS t1; === modified file 'mysql-test/t/wl5217.test' --- a/mysql-test/t/wl5217.test 2010-12-14 15:13:57 +0000 +++ b/mysql-test/t/wl5217.test 2010-12-17 11:16:44 +0000 @@ -1,24 +1,14 @@ --source include/have_innodb.inc --source include/have_partition.inc +--echo # Must have InnoDB as engine to get the same statistics results. +--echo # embedded uses MyISAM as default. CREATE SELECT uses the default engine. +SET @old_default_storage_engine = @@default_storage_engine; +SET @@default_storage_engine = 'InnoDB'; + --echo # Original tests for WL#5217 --echo # TODO: benchmark what value to use for MAX_PARTITIONS_BEFORE_HASH -#let $get_handler_write_status_counts= SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS -#WHERE (VARIABLE_NAME = 'HANDLER_EXTERNAL_LOCK' OR -#VARIABLE_NAME = 'HANDLER_WRITE') AND -#VARIABLE_VALUE > 0; -#let $get_handler_read_status_counts= SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS -#WHERE (VARIABLE_NAME = 'HANDLER_EXTERNAL_LOCK' OR -#VARIABLE_NAME LIKE 'HANDLER_READ_%') AND -#VARIABLE_VALUE > 0; -#let $get_handler_status_counts= SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS -#WHERE (VARIABLE_NAME = 'HANDLER_EXTERNAL_LOCK' OR -#VARIABLE_NAME = 'HANDLER_UPDATE' OR -#VARIABLE_NAME = 'HANDLER_DELETE' OR -#VARIABLE_NAME = 'HANDLER_WRITE' OR -#VARIABLE_NAME LIKE 'HANDLER_READ_%') AND -#VARIABLE_VALUE > 0; let $get_handler_status_counts= SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'HANDLER_%' AND VARIABLE_VALUE > 0; @@ -504,3 +494,4 @@ eval $get_handler_status_counts; SELECT * FROM t3 PARTITION (pNeg); DROP TABLE t1, t2, t3; +SET @@default_storage_engine = @old_default_storage_engine; === modified file 'sql/partition_info.cc' --- a/sql/partition_info.cc 2010-12-14 20:03:21 +0000 +++ b/sql/partition_info.cc 2010-12-17 11:16:44 +0000 @@ -101,8 +101,8 @@ bool partition_info::prune_partition_bit DBUG_ENTER("partition_info::prune_partition_bitmaps"); DBUG_ASSERT(table && table->s && table->s->ha_part_data); - DBUG_ASSERT(part_name_hash->records); part_name_hash= &table->s->ha_part_data->partition_name_hash; + DBUG_ASSERT(part_name_hash->records); if (num_names < 1) DBUG_RETURN(true); @@ -645,12 +645,13 @@ char *partition_info::has_unique_names() partition_element *el; DBUG_ENTER("partition_info::has_unique_names"); + /* - Only called before the table is created. - If table->s exists one could use the partition_name_hash there instead. + TODO: If table->s->ha_part_data->partition_name_hash.elements is > 0, + then we could just return NULL, but that has not been verified. + And this only happens when in ALTER TABLE with full table copy. */ - DBUG_ASSERT(!table || !table->s); - + max_names= num_parts; if (is_sub_partitioned()) max_names+= num_parts * num_subparts; --===============7349548225528874238== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/mattias.jonsson@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: mattias.jonsson@stripped\ # 9sx0qxhkoutjcp3p # target_branch: file:///Users/mattiasj/mysql-bzr/topush-trunk-wl5217/ # testament_sha1: 2a6ab9744a8ec782520711d3d52f301cec1963be # timestamp: 2010-12-17 12:16:54 +0100 # source_branch: file:///Users/mattiasj/mysql-bzr/wl5217-trunk/ # base_revision_id: mattias.jonsson@stripped\ # f9arbia2abqng644 # # Begin bundle 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 --===============7349548225528874238==--