From 17343b4c373ffe45d4f3e8b8ffaa031fff5e63ba Mon Sep 17 00:00:00 2001 From: Alexey Botchkov Date: Mon, 16 Jun 2008 08:04:45 +0500 Subject: [PATCH 001/141] Bug #35999 When using the embedded server a wrong message comes. HAVE_REPLICATION was on for the embedded server as the #define was in wrong place. include/my_global.h: Bug #35999 When using the embedded server a wrong message comes. #define HAVE_REPLICATION moved after the 'include config.h' so it won't be enabled with the embedded server. --- include/my_global.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/my_global.h b/include/my_global.h index 6cfc4d67305..4feed96e7d6 100644 --- a/include/my_global.h +++ b/include/my_global.h @@ -18,11 +18,6 @@ #ifndef _global_h #define _global_h -#ifndef EMBEDDED_LIBRARY -#define HAVE_REPLICATION -#define HAVE_EXTERNAL_CLIENT -#endif - /* InnoDB depends on some MySQL internals which other plugins should not need. This is because of InnoDB's foreign key support, "safe" binlog @@ -101,6 +96,11 @@ #endif #endif /* !EMBEDDED_LIBRARY */ +#ifndef EMBEDDED_LIBRARY +#define HAVE_REPLICATION +#define HAVE_EXTERNAL_CLIENT +#endif + /* Some defines to avoid ifdefs in the code */ #ifndef NETWARE_YIELD #define NETWARE_YIELD From c7866ece4d3795d5ecc5dd481e75d0ed776fb36a Mon Sep 17 00:00:00 2001 From: Chad MILLER Date: Mon, 7 Jul 2008 18:56:53 -0400 Subject: [PATCH 002/141] Bug#34129: mysqldumpslow does not aggregate times Query times were changed to contain subsecond information after a decimal. Change the capturing regex to account for decimal also. --- scripts/mysqldumpslow.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/mysqldumpslow.sh b/scripts/mysqldumpslow.sh index f05761bb837..2d59b470331 100644 --- a/scripts/mysqldumpslow.sh +++ b/scripts/mysqldumpslow.sh @@ -83,7 +83,7 @@ while ( defined($_ = shift @pending) or defined($_ = <>) ) { s/^#? Time: \d{6}\s+\d+:\d+:\d+.*\n//; my ($user,$host) = s/^#? User\@Host:\s+(\S+)\s+\@\s+(\S+).*\n// ? ($1,$2) : ('',''); - s/^# Query_time: (\d+) Lock_time: (\d+) Rows_sent: (\d+).*\n//; + s/^# Query_time: ([0-9.]+) Lock_time: ([0-9.]+) Rows_sent: ([0-9.]+).*\n//; my ($t, $l, $r) = ($1, $2, $3); $t -= $l unless $opt{l}; From 49411edb69cd5ad26bd48850ce4637fda7659a34 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Thu, 28 Aug 2008 16:16:06 +0300 Subject: [PATCH 003/141] on behalf of jasonh : fix of a test problem re bug#37051: Wait for slave to stop before set skip counter --- mysql-test/include/wait_for_slave_sql_error_and_skip.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mysql-test/include/wait_for_slave_sql_error_and_skip.inc b/mysql-test/include/wait_for_slave_sql_error_and_skip.inc index ef17ffed12f..4b4776d2923 100644 --- a/mysql-test/include/wait_for_slave_sql_error_and_skip.inc +++ b/mysql-test/include/wait_for_slave_sql_error_and_skip.inc @@ -17,6 +17,9 @@ if ($show_sql_error) echo Last_SQL_Error = $error; } +# wait for SQL thread to stop after the error +source include/wait_for_slave_sql_to_stop.inc; + # skip the erroneous statement set global sql_slave_skip_counter=1; start slave; From 86af3f63ff9be54c1d4b27d2b38d4a540bcaf988 Mon Sep 17 00:00:00 2001 From: mysqldev Date: Thu, 28 Aug 2008 16:16:43 +0200 Subject: [PATCH 004/141] Added "-rc" to the release number --- configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.in b/configure.in index 56bdb4ba006..dacd3864e6a 100644 --- a/configure.in +++ b/configure.in @@ -10,7 +10,7 @@ AC_CANONICAL_SYSTEM # # When changing major version number please also check switch statement # in mysqlbinlog::check_master_version(). -AM_INIT_AUTOMAKE(mysql, 5.1.28) +AM_INIT_AUTOMAKE(mysql, 5.1.28-rc) AM_CONFIG_HEADER([include/config.h:config.h.in]) PROTOCOL_VERSION=10 From a470fd7ba487de1a9a3b44085fa8c3db697d2878 Mon Sep 17 00:00:00 2001 From: Mattias Jonsson Date: Fri, 3 Oct 2008 20:08:40 +0200 Subject: [PATCH 005/141] Bug#37719: Crash if rename Archive table to same name with different case and then select Problem was that the archive share was using a case insensitive charset when comparing table names Solution was to use a case sensitive char set when the table names are case sensitive mysql-test/suite/parts/r/partition_mgm_lc0_archive.result: Bug#37719: Crash if rename Archive table to same name with different case and then select Updated to correct result. storage/archive/ha_archive.cc: Bug#37719: Crash if rename Archive table to same name with different case and then select system_charset_info is case insensitive, table_alias_charset depends on the filesystem/lower_case_table_names variable. since there could be two tables that used the same share, unpredicted things could happen. --- .../parts/r/partition_mgm_lc0_archive.result | 66 ------------------- storage/archive/ha_archive.cc | 2 +- 2 files changed, 1 insertion(+), 67 deletions(-) diff --git a/mysql-test/suite/parts/r/partition_mgm_lc0_archive.result b/mysql-test/suite/parts/r/partition_mgm_lc0_archive.result index 2bb6e7421b1..5350d11c7a1 100644 --- a/mysql-test/suite/parts/r/partition_mgm_lc0_archive.result +++ b/mysql-test/suite/parts/r/partition_mgm_lc0_archive.result @@ -157,22 +157,10 @@ tablea SELECT * FROM tablea; a 1 -1 10 -10 -11 -12 2 -2 -3 -4 -5 -6 -7 7 8 -8 -9 9 SHOW CREATE TABLE tablea; Table Create Table @@ -185,7 +173,6 @@ ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; a 1 -1 10 11 12 @@ -195,10 +182,7 @@ a 5 6 7 -7 8 -8 -9 9 SHOW CREATE TABLE TableA; Table Create Table @@ -372,22 +356,10 @@ tablea SELECT * FROM tablea; a 1 -1 10 -10 -11 -12 2 -2 -3 -4 -5 -6 -7 7 8 -8 -9 9 SHOW CREATE TABLE tablea; Table Create Table @@ -400,21 +372,16 @@ ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; a 1 -1 -10 10 11 12 2 -2 3 4 5 6 7 8 -8 -9 9 SHOW CREATE TABLE TableA; Table Create Table @@ -580,22 +547,10 @@ tablea SELECT * FROM tablea; a 1 -1 10 -10 -11 -12 2 -2 -3 -4 -5 -6 -7 7 8 -8 -9 9 SHOW CREATE TABLE tablea; Table Create Table @@ -608,22 +563,16 @@ ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; a 1 -1 -10 10 11 12 2 -2 3 4 5 6 7 -7 8 -8 -9 9 SHOW CREATE TABLE TableA; Table Create Table @@ -783,19 +732,10 @@ tablea SELECT * FROM tablea; a 1 -1 10 -12 2 -3 -4 -5 -6 -7 7 8 -8 -9 9 SHOW CREATE TABLE tablea; Table Create Table @@ -808,19 +748,13 @@ ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; a 1 -1 -10 12 -2 3 4 5 6 7 -7 8 -8 -9 9 SHOW CREATE TABLE TableA; Table Create Table diff --git a/storage/archive/ha_archive.cc b/storage/archive/ha_archive.cc index 967e315d4a4..7edfca53751 100644 --- a/storage/archive/ha_archive.cc +++ b/storage/archive/ha_archive.cc @@ -171,7 +171,7 @@ int archive_db_init(void *p) if (pthread_mutex_init(&archive_mutex, MY_MUTEX_INIT_FAST)) goto error; - if (hash_init(&archive_open_tables, system_charset_info, 32, 0, 0, + if (hash_init(&archive_open_tables, table_alias_charset, 32, 0, 0, (hash_get_key) archive_get_key, 0, 0)) { VOID(pthread_mutex_destroy(&archive_mutex)); From 65811a336dbde9d09b6ed0b470fa37bd488a7a74 Mon Sep 17 00:00:00 2001 From: Mattias Jonsson Date: Sun, 5 Oct 2008 00:40:30 +0200 Subject: [PATCH 006/141] Bug#37453: Dropping/creating index on partitioned table with InnoDB Plugin locks table The fast/on-line add/drop index handler calls was not implemented whithin the partitioning. This implements it in the partitioning handler. Since this is only used by the not included InnoDB plugin, there is no test case. (Have tested it manually with the plugin, and it does not allow unique indexes not including partitioning function, or removal of pk, which in innodb generates a new pk, which is not in the partitioning function.) NOTE: This introduces a new handler method, and because of that changes the storage engine api. (One cannot use a handlerton to see the capabilities of a table's handler if it is partitioned. So I added a wrapper function in the handler that defaults to the handlerton function, which the partitioning handler overrides. sql/ha_partition.cc: Bug#37453: Dropping/creating index on partitioned table with InnoDB Plugin locks table Added support for fast/on-line add/drop index. Implemented alter_table_flags as bit-or of the partitioned hton and the first partitions alter_table_flags. It is only to forward the calls for the other functions: check_if_incompatible_data add_index prepare_drop_index final_drop_index to all parts handler sql/ha_partition.h: Bug#37453: Dropping/creating index on partitioned table with InnoDB Plugin locks table Added support for fast/on-line add/drop index. sql/handler.h: Bug#37453: Dropping/creating index on partitioned table with InnoDB Plugin locks table Added the function on handler level, defaulting to use the handlerton function, but a handler can override it. Needed for partitioned tables. NOTE: Change of storage engine api. sql/sql_partition.cc: Bug#37453: Dropping/creating index on partitioned table with InnoDB Plugin locks table Using the new handler function, instead of the handlerton function. This works better with the partitioning handler. sql/sql_table.cc: Bug#37453: Dropping/creating index on partitioned table with InnoDB Plugin locks table Using the new handler function, instead of the handlerton function. This works better with the partitioning handler. Also using new process info for 'manage keys' (kind of fix for bug-37550). --- sql/ha_partition.cc | 83 ++++++++++++++++++++++++++++++++++++++++++++ sql/ha_partition.h | 18 +++++++--- sql/handler.h | 6 ++++ sql/sql_partition.cc | 3 +- sql/sql_table.cc | 6 ++-- 5 files changed, 106 insertions(+), 10 deletions(-) diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc index 34cd160e7e4..50d800969c0 100644 --- a/sql/ha_partition.cc +++ b/sql/ha_partition.cc @@ -5600,6 +5600,89 @@ bool ha_partition::get_error_message(int error, String *buf) /**************************************************************************** MODULE handler characteristics ****************************************************************************/ +/** + alter_table_flags must be on handler/table level, not on hton level + due to the ha_partition hton does not know what the underlying hton is. +*/ +uint ha_partition::alter_table_flags(uint flags) +{ + DBUG_ENTER("ha_partition::alter_table_flags"); + DBUG_RETURN(ht->alter_table_flags(flags) | + m_file[0]->alter_table_flags(flags)); +} + + +/** + check if copy of data is needed in alter table. +*/ +bool ha_partition::check_if_incompatible_data(HA_CREATE_INFO *create_info, + uint table_changes) +{ + handler **file; + bool ret; + + /* + The check for any partitioning related changes have already been done + in mysql_alter_table (by fix_partition_func), so it is only up to + the underlying handlers. + */ + for (file= m_file; *file; file++) + if ((ret= (*file)->check_if_incompatible_data(create_info, + table_changes)) != + COMPATIBLE_DATA_YES) + break; + return ret; +} + + +/** + Support of fast or online add/drop index +*/ +int ha_partition::add_index(TABLE *table_arg, KEY *key_info, uint num_of_keys) +{ + handler **file; + int ret; + + /* + There has already been a check in fix_partition_func in mysql_alter_table + before this call, which checks for unique/primary key violations of the + partitioning function. So no need for extra check here. + */ + for (file= m_file; *file; file++) + if ((ret= (*file)->add_index(table_arg, key_info, num_of_keys))) + break; + return ret; +} + + +int ha_partition::prepare_drop_index(TABLE *table_arg, uint *key_num, + uint num_of_keys) +{ + handler **file; + int ret; + + /* + DROP INDEX does not affect partitioning. + */ + for (file= m_file; *file; file++) + if ((ret= (*file)->prepare_drop_index(table_arg, key_num, num_of_keys))) + break; + return ret; +} + + +int ha_partition::final_drop_index(TABLE *table_arg) +{ + handler **file; + int ret= HA_ERR_WRONG_COMMAND; + + for (file= m_file; *file; file++) + if ((ret= (*file)->final_drop_index(table_arg))) + break; + return ret; +} + + /* If frm_error() is called then we will use this to to find out what file extensions exist for the storage engine. This is also used by the default diff --git a/sql/ha_partition.h b/sql/ha_partition.h index 97f5624608f..4e4b746d611 100644 --- a/sql/ha_partition.h +++ b/sql/ha_partition.h @@ -210,6 +210,8 @@ public: DBUG_RETURN(0); } virtual void change_table_ptr(TABLE *table_arg, TABLE_SHARE *share); + virtual bool check_if_incompatible_data(HA_CREATE_INFO *create_info, + uint table_changes); private: int prepare_for_rename(); int copy_partitions(ulonglong *copied, ulonglong *deleted); @@ -762,6 +764,11 @@ public: return m_file[0]->index_flags(inx, part, all_parts); } + /** + wrapper function for handlerton alter_table_flags, since + the ha_partition_hton cannot know all its capabilities + */ + virtual uint alter_table_flags(uint flags); /* extensions of table handler files */ @@ -898,13 +905,14 @@ public: ------------------------------------------------------------------------- MODULE on-line ALTER TABLE ------------------------------------------------------------------------- - These methods are in the handler interface but never used (yet) - They are to be used by on-line alter table add/drop index: + These methods are in the handler interface. (used by innodb-plugin) + They are used for on-line/fast alter table add/drop index: ------------------------------------------------------------------------- - virtual ulong index_ddl_flags(KEY *wanted_index) const - virtual int add_index(TABLE *table_arg,KEY *key_info,uint num_of_keys); - virtual int drop_index(TABLE *table_arg,uint *key_num,uint num_of_keys); */ + virtual int add_index(TABLE *table_arg, KEY *key_info, uint num_of_keys); + virtual int prepare_drop_index(TABLE *table_arg, uint *key_num, + uint num_of_keys); + virtual int final_drop_index(TABLE *table_arg); /* ------------------------------------------------------------------------- diff --git a/sql/handler.h b/sql/handler.h index df6157f80b4..bea2952f4c1 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -1724,6 +1724,12 @@ public: but we don't have a primary key */ virtual void use_hidden_primary_key(); + virtual uint alter_table_flags(uint flags) + { + if (ht->alter_table_flags) + return ht->alter_table_flags(flags); + return 0; + } protected: /* Service methods for use by storage engines. */ diff --git a/sql/sql_partition.cc b/sql/sql_partition.cc index 6419d336b9f..e7a72219264 100644 --- a/sql/sql_partition.cc +++ b/sql/sql_partition.cc @@ -4219,8 +4219,7 @@ uint prep_alter_part_table(THD *thd, TABLE *table, Alter_info *alter_info, alter_info->no_parts= curr_part_no - new_part_no; } } - if (table->s->db_type()->alter_table_flags && - (!(flags= table->s->db_type()->alter_table_flags(alter_info->flags)))) + if (!(flags= table->file->alter_table_flags(alter_info->flags))) { my_error(ER_PARTITION_FUNCTION_FAILURE, MYF(0)); DBUG_RETURN(1); diff --git a/sql/sql_table.cc b/sql/sql_table.cc index e317cdab952..3c6023f50ce 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -6449,8 +6449,7 @@ view_err: uint *idx_p; uint *idx_end_p; - if (table->s->db_type()->alter_table_flags) - alter_flags= table->s->db_type()->alter_table_flags(alter_info->flags); + alter_flags= table->file->alter_table_flags(alter_info->flags); DBUG_PRINT("info", ("alter_flags: %lu", alter_flags)); /* Check dropped indexes. */ for (idx_p= index_drop_buffer, idx_end_p= idx_p + index_drop_count; @@ -6720,7 +6719,6 @@ view_err: /* Copy the data if necessary. */ thd->count_cuted_fields= CHECK_FIELD_WARN; // calc cuted fields thd->cuted_fields=0L; - thd_proc_info(thd, "copy to tmp table"); copied=deleted=0; /* We do not copy data for MERGE tables. Only the children have data. @@ -6731,6 +6729,7 @@ view_err: /* We don't want update TIMESTAMP fields during ALTER TABLE. */ new_table->timestamp_field_type= TIMESTAMP_NO_AUTO_SET; new_table->next_number_field=new_table->found_next_number_field; + thd_proc_info(thd, "copy to tmp table"); error= copy_data_between_tables(table, new_table, alter_info->create_list, ignore, order_num, order, &copied, &deleted, @@ -6742,6 +6741,7 @@ view_err: VOID(pthread_mutex_lock(&LOCK_open)); wait_while_table_is_used(thd, table, HA_EXTRA_FORCE_REOPEN); VOID(pthread_mutex_unlock(&LOCK_open)); + thd_proc_info(thd, "manage keys"); alter_table_manage_keys(table, table->file->indexes_are_disabled(), alter_info->keys_onoff); error= ha_autocommit_or_rollback(thd, 0); From 89d2b8efb9a45145b44b56aa5bdd2b341b46b382 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Mon, 6 Oct 2008 17:17:25 +0300 Subject: [PATCH 007/141] Bug#34773: query with explain extended and derived table / other table crashes server When creating temporary table that contains aggregate functions a non-reversible source transformation was performed to redirect aggregate function arguments towards temporary table columns. This caused EXPLAIN EXTENDED to fail because it was trying to resolve references to the (freed) temporary table. Fixed by preserving the original aggregate function arguments and using them (instead of the transformed ones) for EXPLAIN EXTENDED. mysql-test/r/explain.result: Bug#34773: test case mysql-test/t/explain.test: Bug#34773: test case sql/item.cc: Bug#34773: use accessor functions instead of public members sql/item_sum.cc: Bug#34773: - Encapsulate the arguments into Item_sum and provide accessor and mutator methods - print the orginal arguments (if present) in EXPLAIN EXTENDED - preserve the original arguments list. sql/item_sum.h: Bug#34773: - Encapsulate the arguments into Item_sum and provide accessor and mutator methods - print the orginal arguments (if present) in EXPLAIN EXTENDED - preserve the original arguments list. sql/opt_range.cc: Bug#34773: use accessor functions instead of public members sql/opt_sum.cc: Bug#34773: use accessor functions instead of public members sql/sql_select.cc: Bug#34773: use accessor functions instead of public members --- mysql-test/r/explain.result | 48 +++++++++++++++++++++++++++++++++++++ mysql-test/t/explain.test | 29 ++++++++++++++++++++++ sql/item.cc | 4 ++-- sql/item_sum.cc | 37 +++++++++++++++++++++++++--- sql/item_sum.h | 25 +++++++++++++------ sql/opt_range.cc | 2 +- sql/opt_sum.cc | 6 ++--- sql/sql_select.cc | 16 ++++++------- 8 files changed, 143 insertions(+), 24 deletions(-) diff --git a/mysql-test/r/explain.result b/mysql-test/r/explain.result index 2ce8b8c384f..742dc5ae49d 100644 --- a/mysql-test/r/explain.result +++ b/mysql-test/r/explain.result @@ -107,3 +107,51 @@ X X X X X X X X X X X X X X X X X X Range checked for each record (index map: 0xFFFFFFFFFF) DROP TABLE t2; DROP TABLE t1; +CREATE TABLE t1(a INT); +CREATE TABLE t2(a INT); +INSERT INTO t1 VALUES (1),(2); +INSERT INTO t2 VALUES (1),(2); +EXPLAIN EXTENDED SELECT 1 +FROM (SELECT COUNT(DISTINCT t1.a) FROM t1,t2 GROUP BY t1.a) AS s1; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 PRIMARY ALL NULL NULL NULL NULL 2 100.00 +2 DERIVED t1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort +2 DERIVED t2 ALL NULL NULL NULL NULL 2 100.00 Using join buffer +Warnings: +Note 1003 select 1 AS `1` from (select count(distinct `test`.`t1`.`a`) AS `COUNT(DISTINCT t1.a)` from `test`.`t1` join `test`.`t2` group by `test`.`t1`.`a`) `s1` +EXPLAIN EXTENDED SELECT 1 +FROM (SELECT COUNT(DISTINCT t1.a) FROM t1,t2 GROUP BY t1.a) AS s1; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 PRIMARY ALL NULL NULL NULL NULL 2 100.00 +2 DERIVED t1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort +2 DERIVED t2 ALL NULL NULL NULL NULL 2 100.00 Using join buffer +Warnings: +Note 1003 select 1 AS `1` from (select count(distinct `test`.`t1`.`a`) AS `COUNT(DISTINCT t1.a)` from `test`.`t1` join `test`.`t2` group by `test`.`t1`.`a`) `s1` +prepare s1 from +'EXPLAIN EXTENDED SELECT 1 + FROM (SELECT COUNT(DISTINCT t1.a) FROM t1,t2 GROUP BY t1.a) AS s1'; +execute s1; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 PRIMARY ALL NULL NULL NULL NULL 2 100.00 +2 DERIVED t1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort +2 DERIVED t2 ALL NULL NULL NULL NULL 2 100.00 Using join buffer +Warnings: +Note 1003 select 1 AS `1` from (select count(distinct `test`.`t1`.`a`) AS `COUNT(DISTINCT t1.a)` from `test`.`t1` join `test`.`t2` group by `test`.`t1`.`a`) `s1` +prepare s1 from +'EXPLAIN EXTENDED SELECT 1 + FROM (SELECT COUNT(DISTINCT t1.a) FROM t1,t2 GROUP BY t1.a) AS s1'; +execute s1; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 PRIMARY ALL NULL NULL NULL NULL 2 100.00 +2 DERIVED t1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort +2 DERIVED t2 ALL NULL NULL NULL NULL 2 100.00 Using join buffer +Warnings: +Note 1003 select 1 AS `1` from (select count(distinct `test`.`t1`.`a`) AS `COUNT(DISTINCT t1.a)` from `test`.`t1` join `test`.`t2` group by `test`.`t1`.`a`) `s1` +execute s1; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 PRIMARY ALL NULL NULL NULL NULL 2 100.00 +2 DERIVED t1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort +2 DERIVED t2 ALL NULL NULL NULL NULL 2 100.00 Using join buffer +Warnings: +Note 1003 select 1 AS `1` from (select count(distinct `test`.`t1`.`a`) AS `COUNT(DISTINCT t1.a)` from `test`.`t1` join `test`.`t2` group by `test`.`t1`.`a`) `s1` +DROP TABLE t1,t2; diff --git a/mysql-test/t/explain.test b/mysql-test/t/explain.test index c9ae8aceaf6..0247aca82df 100644 --- a/mysql-test/t/explain.test +++ b/mysql-test/t/explain.test @@ -94,4 +94,33 @@ EXPLAIN SELECT 1 FROM DROP TABLE t2; DROP TABLE t1; +# +# Bug #34773: query with explain extended and derived table / other table +# crashes server +# + +CREATE TABLE t1(a INT); +CREATE TABLE t2(a INT); +INSERT INTO t1 VALUES (1),(2); +INSERT INTO t2 VALUES (1),(2); + +EXPLAIN EXTENDED SELECT 1 + FROM (SELECT COUNT(DISTINCT t1.a) FROM t1,t2 GROUP BY t1.a) AS s1; + +EXPLAIN EXTENDED SELECT 1 + FROM (SELECT COUNT(DISTINCT t1.a) FROM t1,t2 GROUP BY t1.a) AS s1; + +prepare s1 from +'EXPLAIN EXTENDED SELECT 1 + FROM (SELECT COUNT(DISTINCT t1.a) FROM t1,t2 GROUP BY t1.a) AS s1'; +execute s1; + +prepare s1 from +'EXPLAIN EXTENDED SELECT 1 + FROM (SELECT COUNT(DISTINCT t1.a) FROM t1,t2 GROUP BY t1.a) AS s1'; +execute s1; +execute s1; + +DROP TABLE t1,t2; + # End of 5.0 tests. diff --git a/sql/item.cc b/sql/item.cc index 96408a70bdd..e603bcc24f5 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -6919,7 +6919,7 @@ enum_field_types Item_type_holder::get_real_type(Item *item) */ Item_sum *item_sum= (Item_sum *) item; if (item_sum->keep_field_type()) - return get_real_type(item_sum->args[0]); + return get_real_type(item_sum->get_arg(0)); break; } case FUNC_ITEM: @@ -7182,7 +7182,7 @@ void Item_type_holder::get_full_info(Item *item) if (item->type() == Item::SUM_FUNC_ITEM && (((Item_sum*)item)->sum_func() == Item_sum::MAX_FUNC || ((Item_sum*)item)->sum_func() == Item_sum::MIN_FUNC)) - item = ((Item_sum*)item)->args[0]; + item = ((Item_sum*)item)->get_arg(0); /* We can have enum/set type after merging only if we have one enum|set field (or MIN|MAX(enum|set field)) and number of NULL fields diff --git a/sql/item_sum.cc b/sql/item_sum.cc index 96f0b6a142d..c2b3b954634 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -369,6 +369,10 @@ Item_sum::Item_sum(List &list) :arg_count(list.elements), args[i++]= item; } } + if (!(orig_args= (Item **) sql_alloc(sizeof(Item *) * arg_count))) + { + args= NULL; + } mark_as_sum_func(); list.empty(); // Fields are used } @@ -379,18 +383,28 @@ Item_sum::Item_sum(List &list) :arg_count(list.elements), */ Item_sum::Item_sum(THD *thd, Item_sum *item): - Item_result_field(thd, item), arg_count(item->arg_count), + Item_result_field(thd, item), aggr_sel(item->aggr_sel), nest_level(item->nest_level), aggr_level(item->aggr_level), - quick_group(item->quick_group), used_tables_cache(item->used_tables_cache), + quick_group(item->quick_group), + arg_count(item->arg_count), orig_args(NULL), + used_tables_cache(item->used_tables_cache), forced_const(item->forced_const) { if (arg_count <= 2) + { args=tmp_args; + orig_args=tmp_orig_args; + } else + { if (!(args= (Item**) thd->alloc(sizeof(Item*)*arg_count))) return; + if (!(orig_args= (Item**) thd->alloc(sizeof(Item*)*arg_count))) + return; + } memcpy(args, item->args, sizeof(Item*)*arg_count); + memcpy(orig_args, item->orig_args, sizeof(Item*)*arg_count); } @@ -425,12 +439,13 @@ void Item_sum::make_field(Send_field *tmp_field) void Item_sum::print(String *str, enum_query_type query_type) { + Item **pargs= orig_args; str->append(func_name()); for (uint i=0 ; i < arg_count ; i++) { if (i) str->append(','); - args[i]->print(str, query_type); + pargs[i]->print(str, query_type); } str->append(')'); } @@ -535,6 +550,13 @@ void Item_sum::update_used_tables () } +Item *Item_sum::set_arg(int i, THD *thd, Item *new_val) +{ + thd->change_item_tree(args + i, new_val); + return new_val; +} + + String * Item_sum_num::val_str(String *str) { @@ -586,6 +608,7 @@ Item_sum_num::fix_fields(THD *thd, Item **ref) if (check_sum_func(thd, ref)) return TRUE; + memcpy (orig_args, args, sizeof (Item *) * arg_count); fixed= 1; return FALSE; } @@ -673,6 +696,7 @@ Item_sum_hybrid::fix_fields(THD *thd, Item **ref) if (check_sum_func(thd, ref)) return TRUE; + orig_args[0]= args[0]; fixed= 1; return FALSE; } @@ -3141,6 +3165,12 @@ Item_func_group_concat(Name_resolution_context *context_arg, sizeof(ORDER*)*arg_count_order))) return; + if (!(orig_args= (Item **) sql_alloc(sizeof(Item *) * arg_count))) + { + args= NULL; + return; + } + order= (ORDER**)(args + arg_count); /* fill args items of show and sort */ @@ -3368,6 +3398,7 @@ Item_func_group_concat::fix_fields(THD *thd, Item **ref) if (check_sum_func(thd, ref)) return TRUE; + memcpy (orig_args, args, sizeof (Item *) * arg_count); fixed= 1; return FALSE; } diff --git a/sql/item_sum.h b/sql/item_sum.h index bee8792fbfa..d991327d847 100644 --- a/sql/item_sum.h +++ b/sql/item_sum.h @@ -228,10 +228,8 @@ public: VARIANCE_FUNC, SUM_BIT_FUNC, UDF_SUM_FUNC, GROUP_CONCAT_FUNC }; - Item **args, *tmp_args[2]; Item **ref_by; /* pointer to a ref to the object used to register it */ Item_sum *next; /* next in the circular chain of registered objects */ - uint arg_count; Item_sum *in_sum_func; /* embedding set function if any */ st_select_lex * aggr_sel; /* select where the function is aggregated */ int8 nest_level; /* number of the nesting level of the set function */ @@ -248,24 +246,32 @@ public: List outer_fields; protected: + uint arg_count; + Item **args, *tmp_args[2]; + /* + Copy of the arguments list to hold the original set of arguments. + Used in EXPLAIN EXTENDED instead of the current argument list because + the current argument list can be altered by usage of temporary tables. + */ + Item **orig_args, *tmp_orig_args[2]; table_map used_tables_cache; bool forced_const; public: void mark_as_sum_func(); - Item_sum() :arg_count(0), quick_group(1), forced_const(FALSE) + Item_sum() :quick_group(1), arg_count(0), forced_const(FALSE) { mark_as_sum_func(); } - Item_sum(Item *a) :args(tmp_args), arg_count(1), quick_group(1), - forced_const(FALSE) + Item_sum(Item *a) :quick_group(1), arg_count(1), args(tmp_args), + orig_args(tmp_orig_args), forced_const(FALSE) { args[0]=a; mark_as_sum_func(); } - Item_sum( Item *a, Item *b ) :args(tmp_args), arg_count(2), quick_group(1), - forced_const(FALSE) + Item_sum( Item *a, Item *b ) :quick_group(1), arg_count(2), args(tmp_args), + orig_args(tmp_orig_args), forced_const(FALSE) { args[0]=a; args[1]=b; mark_as_sum_func(); @@ -374,6 +380,10 @@ public: bool register_sum_func(THD *thd, Item **ref); st_select_lex *depended_from() { return (nest_level == aggr_level ? 0 : aggr_sel); } + + Item *get_arg(int i) { return args[i]; } + Item *set_arg(int i, THD *thd, Item *new_val); + uint get_arg_count() { return arg_count; } }; @@ -981,6 +991,7 @@ public: if (udf.fix_fields(thd, this, this->arg_count, this->args)) return TRUE; + memcpy (orig_args, args, sizeof (Item *) * arg_count); return check_sum_func(thd, ref); } enum Sumfunctype sum_func () const { return UDF_SUM_FUNC; } diff --git a/sql/opt_range.cc b/sql/opt_range.cc index b428909d9b7..1bf51915787 100644 --- a/sql/opt_range.cc +++ b/sql/opt_range.cc @@ -9157,7 +9157,7 @@ get_best_group_min_max(PARAM *param, SEL_TREE *tree) DBUG_RETURN(NULL); /* The argument of MIN/MAX. */ - Item *expr= min_max_item->args[0]->real_item(); + Item *expr= min_max_item->get_arg(0)->real_item(); if (expr->type() == Item::FIELD_ITEM) /* Is it an attribute? */ { if (! min_max_arg_item) diff --git a/sql/opt_sum.cc b/sql/opt_sum.cc index 42d36756845..3ccc1e5cf41 100644 --- a/sql/opt_sum.cc +++ b/sql/opt_sum.cc @@ -199,7 +199,7 @@ int opt_sum_query(TABLE_LIST *tables, List &all_fields,COND *conds) to the number of rows in the tables if this number is exact and there are no outer joins. */ - if (!conds && !((Item_sum_count*) item)->args[0]->maybe_null && + if (!conds && !((Item_sum_count*) item)->get_arg(0)->maybe_null && !outer_tables && maybe_exact_count) { if (!is_exact_count) @@ -225,7 +225,7 @@ int opt_sum_query(TABLE_LIST *tables, List &all_fields,COND *conds) parts of the key is found in the COND, then we can use indexes to find the key. */ - Item *expr=item_sum->args[0]; + Item *expr=item_sum->get_arg(0); if (expr->real_item()->type() == Item::FIELD_ITEM) { uchar key_buff[MAX_KEY_LENGTH]; @@ -373,7 +373,7 @@ int opt_sum_query(TABLE_LIST *tables, List &all_fields,COND *conds) parts of the key is found in the COND, then we can use indexes to find the key. */ - Item *expr=item_sum->args[0]; + Item *expr=item_sum->get_arg(0); if (expr->real_item()->type() == Item::FIELD_ITEM) { uchar key_buff[MAX_KEY_LENGTH]; diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 2ef7aa13dd8..e778db579a5 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -9780,11 +9780,11 @@ create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List &fields, } if (type == Item::SUM_FUNC_ITEM && !group && !save_sum_fields) { /* Can't calc group yet */ - ((Item_sum*) item)->result_field=0; - for (i=0 ; i < ((Item_sum*) item)->arg_count ; i++) + Item_sum *sum_item= (Item_sum *) item; + sum_item->result_field=0; + for (i=0 ; i < sum_item->get_arg_count() ; i++) { - Item **argp= ((Item_sum*) item)->args + i; - Item *arg= *argp; + Item *arg= sum_item->get_arg(i); if (!arg->const_item()) { Field *new_field= @@ -9812,7 +9812,7 @@ create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List &fields, string_total_length+= new_field->pack_length(); } thd->mem_root= mem_root_save; - thd->change_item_tree(argp, new Item_field(new_field)); + arg= sum_item->set_arg(i, thd, new Item_field(new_field)); thd->mem_root= &table->mem_root; if (!(new_field->flags & NOT_NULL_FLAG)) { @@ -9821,7 +9821,7 @@ create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List &fields, new_field->maybe_null() is still false, it will be changed below. But we have to setup Item_field correctly */ - (*argp)->maybe_null=1; + arg->maybe_null=1; } new_field->field_index= fieldnr++; } @@ -14491,9 +14491,9 @@ count_field_types(SELECT_LEX *select_lex, TMP_TABLE_PARAM *param, param->quick_group=0; // UDF SUM function param->sum_func_count++; - for (uint i=0 ; i < sum_item->arg_count ; i++) + for (uint i=0 ; i < sum_item->get_arg_count() ; i++) { - if (sum_item->args[0]->real_item()->type() == Item::FIELD_ITEM) + if (sum_item->get_arg(i)->real_item()->type() == Item::FIELD_ITEM) param->field_count++; else param->func_count++; From ff4fde18c40fa92caabff596100357c2b411116f Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Mon, 6 Oct 2008 14:36:15 -0600 Subject: [PATCH 008/141] Bug#36768 (partition_info::check_partition_info() reports mal formed warnings) Before this fix, several places in the code would raise a warning with an error code 0, making it impossible for a stored procedure, a connector, or a client application to trigger logic to handle the warning. Also, the warning text was hard coded, and therefore not translated. With this fix, new errors numbers have been created to represent these warnings, and the warning text is coded in the errmsg.txt file. --- mysql-test/r/partition_not_windows.result | 4 ++-- mysql-test/r/partition_symlink.result | 4 ++-- mysql-test/r/partition_windows.result | 12 ++++++------ mysql-test/r/symlink.result | 10 +++++----- mysql-test/r/windows.result | 4 ++-- sql/mysqld.cc | 22 ++++++++++++++++------ sql/partition_info.cc | 10 ++++++---- sql/share/errmsg.txt | 12 ++++++++++++ sql/sql_error.cc | 8 +++++++- sql/sql_parse.cc | 14 ++++++++------ sql/sql_plugin.cc | 8 ++++---- sql/sql_table.cc | 10 ++++++---- 12 files changed, 76 insertions(+), 42 deletions(-) diff --git a/mysql-test/r/partition_not_windows.result b/mysql-test/r/partition_not_windows.result index 44afdea3855..c0247babb50 100644 --- a/mysql-test/r/partition_not_windows.result +++ b/mysql-test/r/partition_not_windows.result @@ -24,8 +24,8 @@ data directory='/not/existing' index directory='/not/existing' ); Warnings: -Warning 0 DATA DIRECTORY option ignored -Warning 0 INDEX DIRECTORY option ignored +Warning 1616 option ignored +Warning 1616 option ignored show create table t2; Table Create Table t2 CREATE TABLE `t2` ( diff --git a/mysql-test/r/partition_symlink.result b/mysql-test/r/partition_symlink.result index 73844e9e70d..00c9f5b3f01 100644 --- a/mysql-test/r/partition_symlink.result +++ b/mysql-test/r/partition_symlink.result @@ -101,8 +101,8 @@ data directory='/not/existing' index directory='/not/existing' ); Warnings: -Warning 0 DATA DIRECTORY option ignored -Warning 0 INDEX DIRECTORY option ignored +Warning 1616 option ignored +Warning 1616 option ignored show create table t2; Table Create Table t2 CREATE TABLE `t2` ( diff --git a/mysql-test/r/partition_windows.result b/mysql-test/r/partition_windows.result index c2d4054deeb..87e3a3e970d 100644 --- a/mysql-test/r/partition_windows.result +++ b/mysql-test/r/partition_windows.result @@ -15,16 +15,16 @@ DATA DIRECTORY = 'E:/mysqltest/p2Data' INDEX DIRECTORY = 'F:/mysqltest/p2Index' ); Warnings: -Warning 0 DATA DIRECTORY option ignored -Warning 0 INDEX DIRECTORY option ignored -Warning 0 DATA DIRECTORY option ignored -Warning 0 INDEX DIRECTORY option ignored +Warning 1616 option ignored +Warning 1616 option ignored +Warning 1616 option ignored +Warning 1616 option ignored INSERT INTO t1 VALUES (NULL, "first", 1); INSERT INTO t1 VALUES (NULL, "second", 2); INSERT INTO t1 VALUES (NULL, "third", 3); ALTER TABLE t1 ADD PARTITION (PARTITION p3 DATA DIRECTORY = 'G:/mysqltest/p3Data' INDEX DIRECTORY = 'H:/mysqltest/p3Index'); Warnings: -Warning 0 DATA DIRECTORY option ignored -Warning 0 INDEX DIRECTORY option ignored +Warning 1616 option ignored +Warning 1616 option ignored INSERT INTO t1 VALUES (NULL, "last", 4); DROP TABLE t1; diff --git a/mysql-test/r/symlink.result b/mysql-test/r/symlink.result index b8c1660f947..df4aa343f1f 100644 --- a/mysql-test/r/symlink.result +++ b/mysql-test/r/symlink.result @@ -79,7 +79,7 @@ drop database mysqltest; create table t1 (a int not null) engine=myisam; alter table t1 data directory="MYSQLTEST_VARDIR/tmp"; Warnings: -Warning 0 DATA DIRECTORY option ignored +Warning 1616 option ignored show create table t1; Table Create Table t1 CREATE TABLE `t1` ( @@ -88,7 +88,7 @@ t1 CREATE TABLE `t1` ( alter table t1 add b int; alter table t1 data directory="MYSQLTEST_VARDIR/log"; Warnings: -Warning 0 DATA DIRECTORY option ignored +Warning 1616 option ignored show create table t1; Table Create Table t1 CREATE TABLE `t1` ( @@ -97,7 +97,7 @@ t1 CREATE TABLE `t1` ( ) ENGINE=MyISAM DEFAULT CHARSET=latin1 alter table t1 index directory="MYSQLTEST_VARDIR/log"; Warnings: -Warning 0 INDEX DIRECTORY option ignored +Warning 1616 option ignored show create table t1; Table Create Table t1 CREATE TABLE `t1` ( @@ -164,8 +164,8 @@ ERROR HY000: Can't create/write to file 'TEST_DIR/master-data_var/t1.MYI' (Errco SET @OLD_SQL_MODE=@@SQL_MODE, @@SQL_MODE='NO_DIR_IN_CREATE'; CREATE TABLE t1(a INT) DATA DIRECTORY='MYSQLTEST_VARDIR/tmp' INDEX DIRECTORY='MYSQLTEST_VARDIR/tmp'; Warnings: -Warning 0 DATA DIRECTORY option ignored -Warning 0 INDEX DIRECTORY option ignored +Warning 1616 option ignored +Warning 1616 option ignored DROP TABLE t1; SET @@SQL_MODE=@OLD_SQL_MODE; End of 5.1 tests diff --git a/mysql-test/r/windows.result b/mysql-test/r/windows.result index e58a891838a..53c0dd7d767 100644 --- a/mysql-test/r/windows.result +++ b/mysql-test/r/windows.result @@ -9,8 +9,8 @@ drop table nu; drop table if exists t1; CREATE TABLE t1 ( `ID` int(6) ) data directory 'c:/tmp/' index directory 'c:/tmp/' engine=MyISAM; Warnings: -Warning 0 DATA DIRECTORY option ignored -Warning 0 INDEX DIRECTORY option ignored +Warning 1616 option ignored +Warning 1616 option ignored drop table t1; CREATE TABLE t1 (a int, b int); INSERT INTO t1 VALUES (1,1); diff --git a/sql/mysqld.cc b/sql/mysqld.cc index b04d4e3cecd..c2d28f9a821 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -2800,11 +2800,25 @@ int my_message_sql(uint error, const char *str, myf MyFlags) THD *thd; DBUG_ENTER("my_message_sql"); DBUG_PRINT("error", ("error: %u message: '%s'", error, str)); + + DBUG_ASSERT(str != NULL); /* - Put here following assertion when situation with EE_* error codes - will be fixed + An error should have a valid error number (!= 0), so it can be caught + in stored procedures by SQL exception handlers. + Calling my_error() with error == 0 is a bug. + Remaining known places to fix: + - storage/myisam/mi_create.c, my_printf_error() + TODO: DBUG_ASSERT(error != 0); */ + + if (error == 0) + { + /* At least, prevent new abuse ... */ + DBUG_ASSERT(strncmp(str, "MyISAM table", 12) == 0); + error= ER_UNKNOWN_ERROR; + } + if ((thd= current_thd)) { /* @@ -2835,10 +2849,6 @@ int my_message_sql(uint error, const char *str, myf MyFlags) { if (! thd->main_da.is_error()) // Return only first message { - if (error == 0) - error= ER_UNKNOWN_ERROR; - if (str == NULL) - str= ER(error); thd->main_da.set_error_status(thd, error, str); } query_cache_abort(&thd->net); diff --git a/sql/partition_info.cc b/sql/partition_info.cc index 8feac884c77..bd30d0b5540 100644 --- a/sql/partition_info.cc +++ b/sql/partition_info.cc @@ -956,11 +956,13 @@ bool partition_info::check_partition_info(THD *thd, handlerton **eng_type, #endif { if (part_elem->data_file_name) - push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, 0, - "DATA DIRECTORY option ignored"); + push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN, + WARN_OPTION_IGNORED, ER(WARN_OPTION_IGNORED), + "DATA DIRECTORY"); if (part_elem->index_file_name) - push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, 0, - "INDEX DIRECTORY option ignored"); + push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN, + WARN_OPTION_IGNORED,ER(WARN_OPTION_IGNORED), + "INDEX DIRECTORY"); part_elem->data_file_name= part_elem->index_file_name= NULL; } if (!is_sub_partitioned()) diff --git a/sql/share/errmsg.txt b/sql/share/errmsg.txt index 84eb5f5ba64..1b278523019 100644 --- a/sql/share/errmsg.txt +++ b/sql/share/errmsg.txt @@ -6133,3 +6133,15 @@ ER_NEED_REPREPARE ER_DELAYED_NOT_SUPPORTED eng "DELAYED option not supported for table '%-.192s'" + +WARN_NO_MASTER_INFO + eng "The master info structure does not exist" + +WARN_OPTION_IGNORED + eng "<%-.64s> option ignored" + +WARN_PLUGIN_DELETE_BUILTIN + eng "Built-in plugins cannot be deleted" + +WARN_PLUGIN_BUSY + eng "Plugin is busy and will be uninstalled on shutdown" diff --git a/sql/sql_error.cc b/sql/sql_error.cc index 0b74e3455eb..79da1936eb9 100644 --- a/sql/sql_error.cc +++ b/sql/sql_error.cc @@ -109,6 +109,9 @@ MYSQL_ERROR *push_warning(THD *thd, MYSQL_ERROR::enum_warning_level level, DBUG_ENTER("push_warning"); DBUG_PRINT("enter", ("code: %d, msg: %s", code, msg)); + DBUG_ASSERT(code != 0); + DBUG_ASSERT(msg != NULL); + if (level == MYSQL_ERROR::WARN_LEVEL_NOTE && !(thd->options & OPTION_SQL_NOTES)) DBUG_RETURN(0); @@ -177,7 +180,10 @@ void push_warning_printf(THD *thd, MYSQL_ERROR::enum_warning_level level, char warning[ERRMSGSIZE+20]; DBUG_ENTER("push_warning_printf"); DBUG_PRINT("enter",("warning: %u", code)); - + + DBUG_ASSERT(code != 0); + DBUG_ASSERT(format != NULL); + va_start(args,format); my_vsnprintf(warning, sizeof(warning), format, args); va_end(args); diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index a710b80b4e0..f293a6dc709 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -2324,8 +2324,8 @@ mysql_execute_command(THD *thd) } else { - push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, 0, - "the master info structure does not exist"); + push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, + WARN_NO_MASTER_INFO, ER(WARN_NO_MASTER_INFO)); my_ok(thd); } pthread_mutex_unlock(&LOCK_active_mi); @@ -2722,11 +2722,13 @@ end_with_restore_list: /* Don't yet allow changing of symlinks with ALTER TABLE */ if (create_info.data_file_name) - push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, 0, - "DATA DIRECTORY option ignored"); + push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN, + WARN_OPTION_IGNORED, ER(WARN_OPTION_IGNORED), + "DATA DIRECTORY"); if (create_info.index_file_name) - push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, 0, - "INDEX DIRECTORY option ignored"); + push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN, + WARN_OPTION_IGNORED, ER(WARN_OPTION_IGNORED), + "INDEX DIRECTORY"); create_info.data_file_name= create_info.index_file_name= NULL; /* ALTER TABLE ends previous transaction */ if (end_active_trans(thd)) diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc index 089ef012d3a..13b2bfef24d 100644 --- a/sql/sql_plugin.cc +++ b/sql/sql_plugin.cc @@ -1715,16 +1715,16 @@ bool mysql_uninstall_plugin(THD *thd, const LEX_STRING *name) } if (!plugin->plugin_dl) { - push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, 0, - "Built-in plugins cannot be deleted,."); + push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, + WARN_PLUGIN_DELETE_BUILTIN, ER(WARN_PLUGIN_DELETE_BUILTIN)); my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "PLUGIN", name->str); goto err; } plugin->state= PLUGIN_IS_DELETED; if (plugin->ref_count) - push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, 0, - "Plugin is busy and will be uninstalled on shutdown"); + push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, + WARN_PLUGIN_BUSY, ER(WARN_PLUGIN_BUSY)); else reap_needed= true; reap_plugins(); diff --git a/sql/sql_table.cc b/sql/sql_table.cc index e317cdab952..243324764f5 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -3540,11 +3540,13 @@ bool mysql_create_table_no_lock(THD *thd, #endif /* HAVE_READLINK */ { if (create_info->data_file_name) - push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, 0, - "DATA DIRECTORY option ignored"); + push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN, + WARN_OPTION_IGNORED, ER(WARN_OPTION_IGNORED), + "DATA DIRECTORY"); if (create_info->index_file_name) - push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, 0, - "INDEX DIRECTORY option ignored"); + push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN, + WARN_OPTION_IGNORED, ER(WARN_OPTION_IGNORED), + "INDEX DIRECTORY"); create_info->data_file_name= create_info->index_file_name= 0; } create_info->table_options=db_options; From 85ca983736fe3b559adcf9b7b4f722e2d0098b45 Mon Sep 17 00:00:00 2001 From: Kristofer Pettersson Date: Tue, 7 Oct 2008 11:48:27 +0200 Subject: [PATCH 009/141] Bug#38692 concurrent inserts cause valgrind errors in Query_cache::invalidate Concurrent inserts produce valgrind error messages. The reason is that the query cache is invalidated after the target table object is closed. Since the delayed insert thread already takes care of invalidating the query cache there is no need to try to synchronize an extra cache invalidation call. The fix is to remove the query_cache_invalidate3 call altogether. sql/sql_insert.cc: When end_delayed_insert is called, the table_list items will be invalidated by the concurrent insert thread. Further more there is no need to call query_cache_invalidate here since the delayed insert thread takes care of this already. --- sql/sql_insert.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc index 8a7a5ca90a5..994e2b2c72a 100644 --- a/sql/sql_insert.cc +++ b/sql/sql_insert.cc @@ -830,7 +830,6 @@ bool mysql_insert(THD *thd,TABLE_LIST *table_list, info.copied=values_list.elements; end_delayed_insert(thd); } - query_cache_invalidate3(thd, table_list, 1); } else #endif From 32f151cdab602029c45bdc83668cf7fbaa6690b9 Mon Sep 17 00:00:00 2001 From: Kristofer Pettersson Date: Tue, 7 Oct 2008 19:20:13 +0200 Subject: [PATCH 010/141] Bug#38066 Events log 'note' level messages by default in the error log The event scheduler logged start-, stop-execution messages in the error log on lowest log-warning level which would lead to very large log files in a short time. This patch changes this behavior so that no start-/stop-messages are logged. Log messages stating successful execution are also removed. sql/event_scheduler.cc: * Removed logging for start-/stop-events. * Removed log-messages stating successful execution of events. --- sql/event_scheduler.cc | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/sql/event_scheduler.cc b/sql/event_scheduler.cc index 5655a8acc99..d9d010783e8 100644 --- a/sql/event_scheduler.cc +++ b/sql/event_scheduler.cc @@ -301,12 +301,6 @@ Event_worker_thread::run(THD *thd, Event_queue_element_for_exec *event) goto end; } - sql_print_information("Event Scheduler: " - "[%s].[%s.%s] started in thread %lu.", - job_data.definer.str, - job_data.dbname.str, job_data.name.str, - thd->thread_id); - thd->enable_slow_log= TRUE; res= job_data.execute(thd, event->dropped); @@ -318,13 +312,6 @@ Event_worker_thread::run(THD *thd, Event_queue_element_for_exec *event) "[%s].[%s.%s] event execution failed.", job_data.definer.str, job_data.dbname.str, job_data.name.str); - else - sql_print_information("Event Scheduler: " - "[%s].[%s.%s] executed successfully in thread %lu.", - job_data.definer.str, - job_data.dbname.str, job_data.name.str, - thd->thread_id); - end: DBUG_PRINT("info", ("Done with Event %s.%s", event->dbname.str, event->name.str)); From 3d514511436f5f9f8ab28a1223e06e59fbc58cc1 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Tue, 7 Oct 2008 16:14:58 -0600 Subject: [PATCH 011/141] coding style --- sql/partition_info.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/partition_info.cc b/sql/partition_info.cc index bd30d0b5540..02f2c9b0ab1 100644 --- a/sql/partition_info.cc +++ b/sql/partition_info.cc @@ -961,7 +961,7 @@ bool partition_info::check_partition_info(THD *thd, handlerton **eng_type, "DATA DIRECTORY"); if (part_elem->index_file_name) push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN, - WARN_OPTION_IGNORED,ER(WARN_OPTION_IGNORED), + WARN_OPTION_IGNORED, ER(WARN_OPTION_IGNORED), "INDEX DIRECTORY"); part_elem->data_file_name= part_elem->index_file_name= NULL; } From 6d54b0443a55142263754e0f7a6a36a5bafc2a21 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Wed, 8 Oct 2008 14:23:53 +0300 Subject: [PATCH 012/141] Bug #32124: crash if prepared statements refer to variables in the where clause The code to get read the value of a system variable was extracting its value on PREPARE stage and was substituting the value (as a constant) into the parse tree. Note that this must be a reversible transformation, i.e. it must be reversed before each re-execution. Unfortunately this cannot be reliably done using the current code, because there are other non-reversible source tree transformations that can interfere with this reversible transformation. Fixed by not resolving the value at PREPARE, but at EXECUTE (as the rest of the functions operate). Added a cache of the value (so that it's constant throughout the execution of the query). Note that the cache also caches NULL values. Updated an obsolete related test suite (variables-big) and the code to test the result type of system variables (as per bug 74). mysql-test/extra/rpl_tests/rpl_insert_id.test: Bug #32124: removed ambiguous testcase mysql-test/r/innodb_data_home_dir_basic.result: Bug #32124: fixed wrong test case mysql-test/r/innodb_flush_method_basic.result: Bug #32124: fixed wrong test case mysql-test/r/ps_11bugs.result: Bug #32124: test case mysql-test/r/ssl_capath_basic.result: Bug #32124: fixed wrong test case mysql-test/r/ssl_cipher_basic.result: Bug #32124: fixed wrong test case mysql-test/r/variables.result: Bug #32124: system vars are shown as such in EXPLAIN EXTENDED, not as constants. mysql-test/suite/rpl/r/rpl_insert_id.result: Bug #32124: removed ambiguous testcase mysql-test/t/ps_11bugs.test: Bug #32124: test case sql/item.cc: Bug #32124: placed the code to convert string to longlong or double to a function (so that it can be reused) sql/item.h: Bug #32124: placed the code to convert string to longlong or double to a function (so that it can be reused) sql/item_func.cc: Bug #32124: moved the evaluation of system variables at runtime (val_xxx). sql/item_func.h: Bug #32124: moved the evaluation of system variables at runtime (val_xxx). sql/set_var.cc: Bug #32124: removed the code that calculated the system variable's value at PREPARE sql/set_var.h: Bug #32124: removed the code that calculated the system variable's value at PREPARE tests/mysql_client_test.c: Bug #32124 : removed the reading of the system variable, because its max length is depended on the system charset and client charset and can't be easily calculated. --- mysql-test/extra/rpl_tests/rpl_insert_id.test | 2 - .../r/innodb_data_home_dir_basic.result | 10 +- mysql-test/r/innodb_flush_method_basic.result | 10 +- mysql-test/r/ps_11bugs.result | 28 ++ mysql-test/r/ssl_capath_basic.result | 10 +- mysql-test/r/ssl_cipher_basic.result | 10 +- mysql-test/r/variables.result | 2 +- mysql-test/suite/rpl/r/rpl_insert_id.result | 28 +- mysql-test/t/ps_11bugs.test | 37 ++ sql/item.cc | 68 +-- sql/item.h | 5 + sql/item_func.cc | 395 +++++++++++++++++- sql/item_func.h | 33 +- sql/set_var.cc | 113 ----- sql/set_var.h | 1 - tests/mysql_client_test.c | 56 +-- 16 files changed, 542 insertions(+), 266 deletions(-) diff --git a/mysql-test/extra/rpl_tests/rpl_insert_id.test b/mysql-test/extra/rpl_tests/rpl_insert_id.test index d8ea267d62b..bd815d9de02 100644 --- a/mysql-test/extra/rpl_tests/rpl_insert_id.test +++ b/mysql-test/extra/rpl_tests/rpl_insert_id.test @@ -442,8 +442,6 @@ SELECT f1(); INSERT INTO t1 VALUES (NULL, f2()), (NULL, LAST_INSERT_ID()), (NULL, LAST_INSERT_ID()), (NULL, f2()), (NULL, f2()); INSERT INTO t1 VALUES (NULL, f2()); -INSERT INTO t1 VALUES (NULL, LAST_INSERT_ID()), (NULL, LAST_INSERT_ID(5)), - (NULL, @@LAST_INSERT_ID); # Test replication of substitution "IS NULL" -> "= LAST_INSERT_ID". INSERT INTO t1 VALUES (NULL, 0), (NULL, LAST_INSERT_ID()); UPDATE t1 SET j= -1 WHERE i IS NULL; diff --git a/mysql-test/r/innodb_data_home_dir_basic.result b/mysql-test/r/innodb_data_home_dir_basic.result index fb9a0b0bca5..e4bdd79b7c3 100644 --- a/mysql-test/r/innodb_data_home_dir_basic.result +++ b/mysql-test/r/innodb_data_home_dir_basic.result @@ -1,7 +1,7 @@ '#---------------------BS_STVARS_025_01----------------------#' SELECT COUNT(@@GLOBAL.innodb_data_home_dir); COUNT(@@GLOBAL.innodb_data_home_dir) -0 +1 1 Expected '#---------------------BS_STVARS_025_02----------------------#' SET @@GLOBAL.innodb_data_home_dir=1; @@ -9,7 +9,7 @@ ERROR HY000: Variable 'innodb_data_home_dir' is a read only variable Expected error 'Read only variable' SELECT COUNT(@@GLOBAL.innodb_data_home_dir); COUNT(@@GLOBAL.innodb_data_home_dir) -0 +1 1 Expected '#---------------------BS_STVARS_025_03----------------------#' SELECT @@GLOBAL.innodb_data_home_dir = VARIABLE_VALUE @@ -20,7 +20,7 @@ NULL 1 Expected SELECT COUNT(@@GLOBAL.innodb_data_home_dir); COUNT(@@GLOBAL.innodb_data_home_dir) -0 +1 1 Expected SELECT COUNT(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES @@ -36,7 +36,7 @@ NULL '#---------------------BS_STVARS_025_05----------------------#' SELECT COUNT(@@innodb_data_home_dir); COUNT(@@innodb_data_home_dir) -0 +1 1 Expected SELECT COUNT(@@local.innodb_data_home_dir); ERROR HY000: Variable 'innodb_data_home_dir' is a GLOBAL variable @@ -46,7 +46,7 @@ ERROR HY000: Variable 'innodb_data_home_dir' is a GLOBAL variable Expected error 'Variable is a GLOBAL variable' SELECT COUNT(@@GLOBAL.innodb_data_home_dir); COUNT(@@GLOBAL.innodb_data_home_dir) -0 +1 1 Expected SELECT innodb_data_home_dir = @@SESSION.innodb_data_home_dir; ERROR 42S22: Unknown column 'innodb_data_home_dir' in 'field list' diff --git a/mysql-test/r/innodb_flush_method_basic.result b/mysql-test/r/innodb_flush_method_basic.result index 836328c5c9b..8c8924cdd86 100644 --- a/mysql-test/r/innodb_flush_method_basic.result +++ b/mysql-test/r/innodb_flush_method_basic.result @@ -1,7 +1,7 @@ '#---------------------BS_STVARS_029_01----------------------#' SELECT COUNT(@@GLOBAL.innodb_flush_method); COUNT(@@GLOBAL.innodb_flush_method) -0 +1 1 Expected '#---------------------BS_STVARS_029_02----------------------#' SET @@GLOBAL.innodb_flush_method=1; @@ -9,7 +9,7 @@ ERROR HY000: Variable 'innodb_flush_method' is a read only variable Expected error 'Read only variable' SELECT COUNT(@@GLOBAL.innodb_flush_method); COUNT(@@GLOBAL.innodb_flush_method) -0 +1 1 Expected '#---------------------BS_STVARS_029_03----------------------#' SELECT @@GLOBAL.innodb_flush_method = VARIABLE_VALUE @@ -20,7 +20,7 @@ NULL 1 Expected SELECT COUNT(@@GLOBAL.innodb_flush_method); COUNT(@@GLOBAL.innodb_flush_method) -0 +1 1 Expected SELECT COUNT(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES @@ -36,7 +36,7 @@ NULL '#---------------------BS_STVARS_029_05----------------------#' SELECT COUNT(@@innodb_flush_method); COUNT(@@innodb_flush_method) -0 +1 1 Expected SELECT COUNT(@@local.innodb_flush_method); ERROR HY000: Variable 'innodb_flush_method' is a GLOBAL variable @@ -46,7 +46,7 @@ ERROR HY000: Variable 'innodb_flush_method' is a GLOBAL variable Expected error 'Variable is a GLOBAL variable' SELECT COUNT(@@GLOBAL.innodb_flush_method); COUNT(@@GLOBAL.innodb_flush_method) -0 +1 1 Expected SELECT innodb_flush_method = @@SESSION.innodb_flush_method; ERROR 42S22: Unknown column 'innodb_flush_method' in 'field list' diff --git a/mysql-test/r/ps_11bugs.result b/mysql-test/r/ps_11bugs.result index ebe161f46b3..a298c552806 100644 --- a/mysql-test/r/ps_11bugs.result +++ b/mysql-test/r/ps_11bugs.result @@ -162,4 +162,32 @@ a b 12 NULL drop table t1; drop table t2; +CREATE TABLE t1 (a INT); +PREPARE stmt FROM 'select 1 from `t1` where `a` = any (select (@@tmpdir))'; +EXECUTE stmt; +1 +DEALLOCATE PREPARE stmt; +DROP TABLE t1; +CREATE TABLE t2 (a INT PRIMARY KEY); +INSERT INTO t2 VALUES (400000), (400001); +SET @@sort_buffer_size=400000; +CREATE FUNCTION p1(i INT) RETURNS INT +BEGIN +SET @@sort_buffer_size= i; +RETURN i + 1; +END| +SELECT * FROM t2 WHERE a = @@sort_buffer_size AND p1(@@sort_buffer_size + 1) > a - 1; +a +400000 +DROP TABLE t2; +DROP FUNCTION p1; +SELECT CONCAT(@@sort_buffer_size); +CONCAT(@@sort_buffer_size) +400001 +SELECT LEFT("12345", @@ft_boolean_syntax); +LEFT("12345", @@ft_boolean_syntax) + +Warnings: +Warning 1292 Truncated incorrect INTEGER value: '+ -><()~*:""&|' +SET @@sort_buffer_size=DEFAULT; End of 5.0 tests. diff --git a/mysql-test/r/ssl_capath_basic.result b/mysql-test/r/ssl_capath_basic.result index a2c01aab806..3d161392917 100644 --- a/mysql-test/r/ssl_capath_basic.result +++ b/mysql-test/r/ssl_capath_basic.result @@ -1,7 +1,7 @@ '#---------------------BS_STVARS_046_01----------------------#' SELECT COUNT(@@GLOBAL.ssl_capath); COUNT(@@GLOBAL.ssl_capath) -0 +1 1 Expected '#---------------------BS_STVARS_046_02----------------------#' SET @@GLOBAL.ssl_capath=1; @@ -9,7 +9,7 @@ ERROR HY000: Variable 'ssl_capath' is a read only variable Expected error 'Read only variable' SELECT COUNT(@@GLOBAL.ssl_capath); COUNT(@@GLOBAL.ssl_capath) -0 +1 1 Expected '#---------------------BS_STVARS_046_03----------------------#' SELECT @@GLOBAL.ssl_capath = VARIABLE_VALUE @@ -20,7 +20,7 @@ NULL 1 Expected SELECT COUNT(@@GLOBAL.ssl_capath); COUNT(@@GLOBAL.ssl_capath) -0 +1 1 Expected SELECT COUNT(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES @@ -36,7 +36,7 @@ NULL '#---------------------BS_STVARS_046_05----------------------#' SELECT COUNT(@@ssl_capath); COUNT(@@ssl_capath) -0 +1 1 Expected SELECT COUNT(@@local.ssl_capath); ERROR HY000: Variable 'ssl_capath' is a GLOBAL variable @@ -46,7 +46,7 @@ ERROR HY000: Variable 'ssl_capath' is a GLOBAL variable Expected error 'Variable is a GLOBAL variable' SELECT COUNT(@@GLOBAL.ssl_capath); COUNT(@@GLOBAL.ssl_capath) -0 +1 1 Expected SELECT ssl_capath = @@SESSION.ssl_capath; ERROR 42S22: Unknown column 'ssl_capath' in 'field list' diff --git a/mysql-test/r/ssl_cipher_basic.result b/mysql-test/r/ssl_cipher_basic.result index 3c7098e1150..df0fc8b5aad 100644 --- a/mysql-test/r/ssl_cipher_basic.result +++ b/mysql-test/r/ssl_cipher_basic.result @@ -1,7 +1,7 @@ '#---------------------BS_STVARS_048_01----------------------#' SELECT COUNT(@@GLOBAL.ssl_cipher); COUNT(@@GLOBAL.ssl_cipher) -0 +1 1 Expected '#---------------------BS_STVARS_048_02----------------------#' SET @@GLOBAL.ssl_cipher=1; @@ -9,7 +9,7 @@ ERROR HY000: Variable 'ssl_cipher' is a read only variable Expected error 'Read only variable' SELECT COUNT(@@GLOBAL.ssl_cipher); COUNT(@@GLOBAL.ssl_cipher) -0 +1 1 Expected '#---------------------BS_STVARS_048_03----------------------#' SELECT @@GLOBAL.ssl_cipher = VARIABLE_VALUE @@ -20,7 +20,7 @@ NULL 1 Expected SELECT COUNT(@@GLOBAL.ssl_cipher); COUNT(@@GLOBAL.ssl_cipher) -0 +1 1 Expected SELECT COUNT(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES @@ -36,7 +36,7 @@ NULL '#---------------------BS_STVARS_048_05----------------------#' SELECT COUNT(@@ssl_cipher); COUNT(@@ssl_cipher) -0 +1 1 Expected SELECT COUNT(@@local.ssl_cipher); ERROR HY000: Variable 'ssl_cipher' is a GLOBAL variable @@ -46,7 +46,7 @@ ERROR HY000: Variable 'ssl_cipher' is a GLOBAL variable Expected error 'Variable is a GLOBAL variable' SELECT COUNT(@@GLOBAL.ssl_cipher); COUNT(@@GLOBAL.ssl_cipher) -0 +1 1 Expected SELECT ssl_cipher = @@SESSION.ssl_cipher; ERROR 42S22: Unknown column 'ssl_cipher' in 'field list' diff --git a/mysql-test/r/variables.result b/mysql-test/r/variables.result index 3f66599751d..aee84c98e4f 100644 --- a/mysql-test/r/variables.result +++ b/mysql-test/r/variables.result @@ -157,7 +157,7 @@ explain extended select @@IDENTITY,last_insert_id(), @@identity; id select_type table type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: -Note 1003 select 345 AS `@@IDENTITY`,last_insert_id() AS `last_insert_id()`,345 AS `@@identity` +Note 1003 select @@IDENTITY AS `@@IDENTITY`,last_insert_id() AS `last_insert_id()`,@@identity AS `@@identity` set big_tables=OFF, big_tables=ON, big_tables=0, big_tables=1, big_tables="OFF", big_tables="ON"; set global concurrent_insert=2; show variables like 'concurrent_insert'; diff --git a/mysql-test/suite/rpl/r/rpl_insert_id.result b/mysql-test/suite/rpl/r/rpl_insert_id.result index 76e405c68de..e171e247b6c 100644 --- a/mysql-test/suite/rpl/r/rpl_insert_id.result +++ b/mysql-test/suite/rpl/r/rpl_insert_id.result @@ -398,8 +398,6 @@ f1() INSERT INTO t1 VALUES (NULL, f2()), (NULL, LAST_INSERT_ID()), (NULL, LAST_INSERT_ID()), (NULL, f2()), (NULL, f2()); INSERT INTO t1 VALUES (NULL, f2()); -INSERT INTO t1 VALUES (NULL, LAST_INSERT_ID()), (NULL, LAST_INSERT_ID(5)), -(NULL, @@LAST_INSERT_ID); INSERT INTO t1 VALUES (NULL, 0), (NULL, LAST_INSERT_ID()); UPDATE t1 SET j= -1 WHERE i IS NULL; INSERT INTO t1 (i) VALUES (NULL); @@ -422,20 +420,17 @@ i j 11 3 12 3 13 8 -14 13 -15 5 -16 13 -17 -1 -18 14 -19 0 -20 0 +14 -1 +15 13 +16 0 +17 0 SELECT * FROM t2 ORDER BY i; i 2 3 5 6 -19 +16 SELECT * FROM t1; i j 1 -1 @@ -451,20 +446,17 @@ i j 11 3 12 3 13 8 -14 13 -15 5 -16 13 -17 -1 -18 14 -19 0 -20 0 +14 -1 +15 13 +16 0 +17 0 SELECT * FROM t2; i 2 3 5 6 -19 +16 DROP PROCEDURE p1; DROP FUNCTION f1; DROP FUNCTION f2; diff --git a/mysql-test/t/ps_11bugs.test b/mysql-test/t/ps_11bugs.test index 515bcc03c1a..ccab833e878 100644 --- a/mysql-test/t/ps_11bugs.test +++ b/mysql-test/t/ps_11bugs.test @@ -177,4 +177,41 @@ select * from t2; drop table t1; drop table t2; +# +# Bug #32124: crash if prepared statements refer to variables in the where +# clause +# + +CREATE TABLE t1 (a INT); +PREPARE stmt FROM 'select 1 from `t1` where `a` = any (select (@@tmpdir))'; +EXECUTE stmt; +DEALLOCATE PREPARE stmt; +DROP TABLE t1; + +CREATE TABLE t2 (a INT PRIMARY KEY); +INSERT INTO t2 VALUES (400000), (400001); + +SET @@sort_buffer_size=400000; + +DELIMITER |; + +CREATE FUNCTION p1(i INT) RETURNS INT +BEGIN + SET @@sort_buffer_size= i; + RETURN i + 1; +END| + +DELIMITER ;| + +SELECT * FROM t2 WHERE a = @@sort_buffer_size AND p1(@@sort_buffer_size + 1) > a - 1; + +DROP TABLE t2; +DROP FUNCTION p1; + + +SELECT CONCAT(@@sort_buffer_size); +SELECT LEFT("12345", @@ft_boolean_syntax); + +SET @@sort_buffer_size=DEFAULT; + --echo End of 5.0 tests. diff --git a/sql/item.cc b/sql/item.cc index cdb71e86694..5848b7f34a8 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -2380,17 +2380,15 @@ void Item_string::print(String *str, enum_query_type query_type) } -double Item_string::val_real() +double +double_from_string_with_check (CHARSET_INFO *cs, const char *cptr, char *end) { - DBUG_ASSERT(fixed == 1); int error; - char *end, *org_end; + char *org_end; double tmp; - CHARSET_INFO *cs= str_value.charset(); - org_end= (char*) str_value.ptr() + str_value.length(); - tmp= my_strntod(cs, (char*) str_value.ptr(), str_value.length(), &end, - &error); + org_end= end; + tmp= my_strntod(cs, (char*) cptr, end - cptr, &end, &error); if (error || (end != org_end && !check_if_only_end_space(cs, end, org_end))) { /* @@ -2400,7 +2398,39 @@ double Item_string::val_real() push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN, ER_TRUNCATED_WRONG_VALUE, ER(ER_TRUNCATED_WRONG_VALUE), "DOUBLE", - str_value.ptr()); + cptr); + } + return tmp; +} + + +double Item_string::val_real() +{ + DBUG_ASSERT(fixed == 1); + return double_from_string_with_check (str_value.charset(), str_value.ptr(), + (char *) str_value.ptr() + str_value.length()); +} + + +longlong +longlong_from_string_with_check (CHARSET_INFO *cs, const char *cptr, char *end) +{ + int err; + longlong tmp; + char *org_end= end; + + tmp= (*(cs->cset->strtoll10))(cs, cptr, &end, &err); + /* + TODO: Give error if we wanted a signed integer and we got an unsigned + one + */ + if (err > 0 || + (end != org_end && !check_if_only_end_space(cs, end, org_end))) + { + push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN, + ER_TRUNCATED_WRONG_VALUE, + ER(ER_TRUNCATED_WRONG_VALUE), "INTEGER", + cptr); } return tmp; } @@ -2413,26 +2443,8 @@ double Item_string::val_real() longlong Item_string::val_int() { DBUG_ASSERT(fixed == 1); - int err; - longlong tmp; - char *end= (char*) str_value.ptr()+ str_value.length(); - char *org_end= end; - CHARSET_INFO *cs= str_value.charset(); - - tmp= (*(cs->cset->strtoll10))(cs, str_value.ptr(), &end, &err); - /* - TODO: Give error if we wanted a signed integer and we got an unsigned - one - */ - if (err > 0 || - (end != org_end && !check_if_only_end_space(cs, end, org_end))) - { - push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN, - ER_TRUNCATED_WRONG_VALUE, - ER(ER_TRUNCATED_WRONG_VALUE), "INTEGER", - str_value.ptr()); - } - return tmp; + return longlong_from_string_with_check(str_value.charset(), str_value.ptr(), + (char *) str_value.ptr()+ str_value.length()); } diff --git a/sql/item.h b/sql/item.h index be343e25d3f..9b5062eee88 100644 --- a/sql/item.h +++ b/sql/item.h @@ -1981,6 +1981,11 @@ private: }; +longlong +longlong_from_string_with_check (CHARSET_INFO *cs, const char *cptr, char *end); +double +double_from_string_with_check (CHARSET_INFO *cs, const char *cptr, char *end); + class Item_static_string_func :public Item_string { const char *func_name; diff --git a/sql/item_func.cc b/sql/item_func.cc index d7e6fc1f8f2..4cdf40e18bd 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -4800,39 +4800,392 @@ Item_func_get_system_var:: Item_func_get_system_var(sys_var *var_arg, enum_var_type var_type_arg, LEX_STRING *component_arg, const char *name_arg, size_t name_len_arg) - :var(var_arg), var_type(var_type_arg), component(*component_arg) + :var(var_arg), var_type(var_type_arg), component(*component_arg), + cache_present(0) { /* set_name() will allocate the name */ set_name(name_arg, name_len_arg, system_charset_info); } -bool -Item_func_get_system_var::fix_fields(THD *thd, Item **ref) -{ - Item *item; - DBUG_ENTER("Item_func_get_system_var::fix_fields"); - - /* - Evaluate the system variable and substitute the result (a basic constant) - instead of this item. If the variable can not be evaluated, - the error is reported in sys_var::item(). - */ - if (!(item= var->item(thd, var_type, &component))) - DBUG_RETURN(1); // Impossible - item->set_name(name, 0, system_charset_info); // don't allocate a new name - thd->change_item_tree(ref, item); - - DBUG_RETURN(0); -} - - bool Item_func_get_system_var::is_written_to_binlog() { return var->is_written_to_binlog(var_type); } +void Item_func_get_system_var::fix_length_and_dec() +{ + maybe_null=0; + + if (var->check_type(var_type)) + { + if (var_type != OPT_DEFAULT) + { + my_error(ER_INCORRECT_GLOBAL_LOCAL_VAR, MYF(0), + var->name, var_type == OPT_GLOBAL ? "SESSION" : "GLOBAL"); + return; + } + /* As there was no local variable, return the global value */ + var_type= OPT_GLOBAL; + } + + switch (var->show_type()) + { + case SHOW_LONG: + case SHOW_INT: + case SHOW_HA_ROWS: + unsigned_flag= TRUE; + max_length= MY_INT64_NUM_DECIMAL_DIGITS; + decimals=0; + break; + case SHOW_LONGLONG: + unsigned_flag= FALSE; + max_length= MY_INT64_NUM_DECIMAL_DIGITS; + decimals=0; + break; + case SHOW_CHAR: + case SHOW_CHAR_PTR: + collation.set(system_charset_info, DERIVATION_SYSCONST); + max_length= MAX_BLOB_WIDTH; + decimals=NOT_FIXED_DEC; + break; + case SHOW_MY_BOOL: + unsigned_flag= FALSE; + max_length= 1; + decimals=0; + break; + case SHOW_DOUBLE: + unsigned_flag= FALSE; + decimals= 6; + max_length= DBL_DIG + 6; + break; + default: + my_error(ER_VAR_CANT_BE_READ, MYF(0), var->name); + break; + } +} + + +void Item_func_get_system_var::print(String *str, enum_query_type query_type) +{ + str->append(name, name_length); +} + + +enum Item_result Item_func_get_system_var::result_type() const +{ + switch (var->show_type()) + { + case SHOW_MY_BOOL: + case SHOW_INT: + case SHOW_LONG: + case SHOW_LONGLONG: + case SHOW_HA_ROWS: + return INT_RESULT; + case SHOW_CHAR: + case SHOW_CHAR_PTR: + return STRING_RESULT; + case SHOW_DOUBLE: + return REAL_RESULT; + default: + my_error(ER_VAR_CANT_BE_READ, MYF(0), var->name); + return STRING_RESULT; // keep the compiler happy + } +} + + +enum_field_types Item_func_get_system_var::field_type() const +{ + switch (var->show_type()) + { + case SHOW_MY_BOOL: + case SHOW_INT: + case SHOW_LONG: + case SHOW_LONGLONG: + case SHOW_HA_ROWS: + return MYSQL_TYPE_LONGLONG; + case SHOW_CHAR: + case SHOW_CHAR_PTR: + return MYSQL_TYPE_VARCHAR; + case SHOW_DOUBLE: + return MYSQL_TYPE_DOUBLE; + default: + my_error(ER_VAR_CANT_BE_READ, MYF(0), var->name); + return MYSQL_TYPE_VARCHAR; // keep the compiler happy + } +} + + +#define get_sys_var_safe(type) \ +do { \ + type value; \ + pthread_mutex_lock(&LOCK_global_system_variables); \ + value= *(type*) var->value_ptr(thd, var_type, &component); \ + pthread_mutex_unlock(&LOCK_global_system_variables); \ + cache_present |= GET_SYS_VAR_CACHE_LONG; \ + used_query_id= thd->query_id; \ + cached_llval= null_value ? 0 : (longlong) value; \ + cached_null_value= null_value; \ + return cached_llval; \ +} while (0) + + +longlong Item_func_get_system_var::val_int() +{ + THD *thd= current_thd; + + if (thd->query_id == used_query_id) + { + if (cache_present & GET_SYS_VAR_CACHE_LONG) + { + null_value= cached_null_value; + return cached_llval; + } + else if (cache_present & GET_SYS_VAR_CACHE_DOUBLE) + { + null_value= cached_null_value; + cached_llval= (longlong) cached_dval; + cache_present|= GET_SYS_VAR_CACHE_LONG; + return cached_llval; + } + else if (cache_present & GET_SYS_VAR_CACHE_STRING) + { + null_value= cached_null_value; + if (!null_value) + cached_llval= longlong_from_string_with_check (cached_strval.charset(), + cached_strval.c_ptr(), + cached_strval.c_ptr() + + cached_strval.length()); + else + cached_llval= 0; + cache_present|= GET_SYS_VAR_CACHE_LONG; + return cached_llval; + } + } + + switch (var->show_type()) + { + case SHOW_INT: get_sys_var_safe (uint); + case SHOW_LONG: get_sys_var_safe (ulong); + case SHOW_LONGLONG: get_sys_var_safe (longlong); + case SHOW_HA_ROWS: get_sys_var_safe (ha_rows); + case SHOW_MY_BOOL: get_sys_var_safe (my_bool); + case SHOW_DOUBLE: + { + double dval= val_real(); + + used_query_id= thd->query_id; + cached_llval= (longlong) dval; + cache_present|= GET_SYS_VAR_CACHE_LONG; + return cached_llval; + } + case SHOW_CHAR: + case SHOW_CHAR_PTR: + { + String *str_val= val_str(NULL); + + if (str_val && str_val->length()) + cached_llval= longlong_from_string_with_check (system_charset_info, + str_val->c_ptr(), + str_val->c_ptr() + + str_val->length()); + else + { + null_value= TRUE; + cached_llval= 0; + } + + cache_present|= GET_SYS_VAR_CACHE_LONG; + return cached_llval; + } + + default: + my_error(ER_VAR_CANT_BE_READ, MYF(0), var->name); + return 0; // keep the compiler happy + } +} + + +String* Item_func_get_system_var::val_str(String* str) +{ + THD *thd= current_thd; + + if (thd->query_id == used_query_id) + { + if (cache_present & GET_SYS_VAR_CACHE_STRING) + { + null_value= cached_null_value; + return null_value ? NULL : &cached_strval; + } + else if (cache_present & GET_SYS_VAR_CACHE_LONG) + { + null_value= cached_null_value; + if (!null_value) + cached_strval.set (cached_llval, collation.collation); + cache_present|= GET_SYS_VAR_CACHE_STRING; + return null_value ? NULL : &cached_strval; + } + else if (cache_present & GET_SYS_VAR_CACHE_DOUBLE) + { + null_value= cached_null_value; + if (!null_value) + cached_strval.set_real (cached_dval, decimals, collation.collation); + cache_present|= GET_SYS_VAR_CACHE_STRING; + return null_value ? NULL : &cached_strval; + } + } + + str= &cached_strval; + switch (var->show_type()) + { + case SHOW_CHAR: + case SHOW_CHAR_PTR: + { + pthread_mutex_lock(&LOCK_global_system_variables); + char *cptr= var->show_type() == SHOW_CHAR_PTR ? + *(char**) var->value_ptr(thd, var_type, &component) : + (char*) var->value_ptr(thd, var_type, &component); + if (cptr) + { + if (str->copy(cptr, strlen(cptr), collation.collation)) + { + null_value= TRUE; + str= NULL; + } + } + else + { + null_value= TRUE; + str= NULL; + } + pthread_mutex_unlock(&LOCK_global_system_variables); + break; + } + + case SHOW_INT: + case SHOW_LONG: + case SHOW_LONGLONG: + case SHOW_HA_ROWS: + case SHOW_MY_BOOL: + str->set (val_int(), collation.collation); + break; + case SHOW_DOUBLE: + str->set_real (val_real(), decimals, collation.collation); + break; + + default: + my_error(ER_VAR_CANT_BE_READ, MYF(0), var->name); + str= NULL; + break; + } + + cache_present|= GET_SYS_VAR_CACHE_STRING; + used_query_id= thd->query_id; + cached_null_value= null_value; + return str; +} + + +double Item_func_get_system_var::val_real() +{ + THD *thd= current_thd; + + if (thd->query_id == used_query_id) + { + if (cache_present & GET_SYS_VAR_CACHE_DOUBLE) + { + null_value= cached_null_value; + return cached_dval; + } + else if (cache_present & GET_SYS_VAR_CACHE_LONG) + { + null_value= cached_null_value; + cached_dval= (double)cached_llval; + cache_present|= GET_SYS_VAR_CACHE_DOUBLE; + return cached_dval; + } + else if (cache_present & GET_SYS_VAR_CACHE_STRING) + { + null_value= cached_null_value; + if (!null_value) + cached_dval= double_from_string_with_check (cached_strval.charset(), + cached_strval.c_ptr(), + cached_strval.c_ptr() + + cached_strval.length()); + else + cached_dval= 0; + cache_present|= GET_SYS_VAR_CACHE_DOUBLE; + return cached_dval; + } + } + + switch (var->show_type()) + { + case SHOW_DOUBLE: + pthread_mutex_lock(&LOCK_global_system_variables); + cached_dval= *(double*) var->value_ptr(thd, var_type, &component); + pthread_mutex_unlock(&LOCK_global_system_variables); + used_query_id= thd->query_id; + cached_null_value= null_value; + if (null_value) + cached_dval= 0; + cache_present|= GET_SYS_VAR_CACHE_DOUBLE; + return cached_dval; + case SHOW_CHAR: + case SHOW_CHAR_PTR: + { + char *cptr; + + pthread_mutex_lock(&LOCK_global_system_variables); + cptr= var->show_type() == SHOW_CHAR ? + (char*) var->value_ptr(thd, var_type, &component) : + *(char**) var->value_ptr(thd, var_type, &component); + if (cptr) + cached_dval= double_from_string_with_check (system_charset_info, + cptr, cptr + strlen (cptr)); + else + { + null_value= TRUE; + cached_dval= 0; + } + pthread_mutex_unlock(&LOCK_global_system_variables); + used_query_id= thd->query_id; + cached_null_value= null_value; + cache_present|= GET_SYS_VAR_CACHE_DOUBLE; + return cached_dval; + } + case SHOW_INT: + case SHOW_LONG: + case SHOW_LONGLONG: + case SHOW_HA_ROWS: + case SHOW_MY_BOOL: + cached_dval= (double) val_int(); + cache_present|= GET_SYS_VAR_CACHE_DOUBLE; + used_query_id= thd->query_id; + cached_null_value= null_value; + return cached_dval; + default: + my_error(ER_VAR_CANT_BE_READ, MYF(0), var->name); + return 0; + } +} + + +bool Item_func_get_system_var::eq(const Item *item, bool binary_cmp) const +{ + /* Assume we don't have rtti */ + if (this == item) + return 1; // Same item is same. + /* Check if other type is also a get_user_var() object */ + if (item->type() != FUNC_ITEM || + ((Item_func*) item)->functype() != functype()) + return 0; + Item_func_get_system_var *other=(Item_func_get_system_var*) item; + return (var == other->var && var_type == other->var_type); +} + + longlong Item_func_inet_aton::val_int() { DBUG_ASSERT(fixed == 1); diff --git a/sql/item_func.h b/sql/item_func.h index d84abdb6e56..778ffd5757f 100644 --- a/sql/item_func.h +++ b/sql/item_func.h @@ -55,7 +55,7 @@ public: NOW_FUNC, TRIG_COND_FUNC, SUSERVAR_FUNC, GUSERVAR_FUNC, COLLATE_FUNC, EXTRACT_FUNC, CHAR_TYPECAST_FUNC, FUNC_SP, UDF_FUNC, - NEG_FUNC }; + NEG_FUNC, GSYSVAR_FUNC }; enum optimize_type { OPTIMIZE_NONE,OPTIMIZE_KEY,OPTIMIZE_OP, OPTIMIZE_NULL, OPTIMIZE_EQUAL }; enum Type type() const { return FUNC_ITEM; } @@ -1426,24 +1426,36 @@ public: /* A system variable */ +#define GET_SYS_VAR_CACHE_LONG 1 +#define GET_SYS_VAR_CACHE_DOUBLE 2 +#define GET_SYS_VAR_CACHE_STRING 4 + class Item_func_get_system_var :public Item_func { sys_var *var; enum_var_type var_type; LEX_STRING component; + longlong cached_llval; + double cached_dval; + String cached_strval; + my_bool cached_null_value; + query_id_t used_query_id; + uchar cache_present; + public: Item_func_get_system_var(sys_var *var_arg, enum_var_type var_type_arg, LEX_STRING *component_arg, const char *name_arg, size_t name_len_arg); - bool fix_fields(THD *thd, Item **ref); - /* - Stubs for pure virtual methods. Should never be called: this - item is always substituted with a constant in fix_fields(). - */ - double val_real() { DBUG_ASSERT(0); return 0.0; } - longlong val_int() { DBUG_ASSERT(0); return 0; } - String* val_str(String*) { DBUG_ASSERT(0); return 0; } - void fix_length_and_dec() { DBUG_ASSERT(0); } + enum Functype functype() const { return GSYSVAR_FUNC; } + void fix_length_and_dec(); + void print(String *str, enum_query_type query_type); + bool const_item() const { return true; } + table_map used_tables() const { return 0; } + enum Item_result result_type() const; + enum_field_types field_type() const; + double val_real(); + longlong val_int(); + String* val_str(String*); /* TODO: fix to support views */ const char *func_name() const { return "get_system_var"; } /** @@ -1455,6 +1467,7 @@ public: @return true if the variable is written to the binlog, false otherwise. */ bool is_written_to_binlog(); + bool eq(const Item *item, bool binary_cmp) const; }; diff --git a/sql/set_var.cc b/sql/set_var.cc index 4259c3a6aaf..f1b9f5e4107 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -1734,119 +1734,6 @@ err: } -/** - Return an Item for a variable. - - Used with @@[global.]variable_name. - - If type is not given, return local value if exists, else global. -*/ - -Item *sys_var::item(THD *thd, enum_var_type var_type, LEX_STRING *base) -{ - if (check_type(var_type)) - { - if (var_type != OPT_DEFAULT) - { - my_error(ER_INCORRECT_GLOBAL_LOCAL_VAR, MYF(0), - name, var_type == OPT_GLOBAL ? "SESSION" : "GLOBAL"); - return 0; - } - /* As there was no local variable, return the global value */ - var_type= OPT_GLOBAL; - } - switch (show_type()) { - case SHOW_INT: - { - uint value; - pthread_mutex_lock(&LOCK_global_system_variables); - value= *(uint*) value_ptr(thd, var_type, base); - pthread_mutex_unlock(&LOCK_global_system_variables); - return new Item_uint((ulonglong) value); - } - case SHOW_LONG: - { - ulong value; - pthread_mutex_lock(&LOCK_global_system_variables); - value= *(ulong*) value_ptr(thd, var_type, base); - pthread_mutex_unlock(&LOCK_global_system_variables); - return new Item_uint((ulonglong) value); - } - case SHOW_LONGLONG: - { - longlong value; - pthread_mutex_lock(&LOCK_global_system_variables); - value= *(longlong*) value_ptr(thd, var_type, base); - pthread_mutex_unlock(&LOCK_global_system_variables); - return new Item_int(value); - } - case SHOW_DOUBLE: - { - double value; - pthread_mutex_lock(&LOCK_global_system_variables); - value= *(double*) value_ptr(thd, var_type, base); - pthread_mutex_unlock(&LOCK_global_system_variables); - /* 6, as this is for now only used with microseconds */ - return new Item_float(value, 6); - } - case SHOW_HA_ROWS: - { - ha_rows value; - pthread_mutex_lock(&LOCK_global_system_variables); - value= *(ha_rows*) value_ptr(thd, var_type, base); - pthread_mutex_unlock(&LOCK_global_system_variables); - return new Item_int((ulonglong) value); - } - case SHOW_MY_BOOL: - { - int32 value; - pthread_mutex_lock(&LOCK_global_system_variables); - value= *(my_bool*) value_ptr(thd, var_type, base); - pthread_mutex_unlock(&LOCK_global_system_variables); - return new Item_int(value,1); - } - case SHOW_CHAR_PTR: - { - Item *tmp; - pthread_mutex_lock(&LOCK_global_system_variables); - char *str= *(char**) value_ptr(thd, var_type, base); - if (str) - { - uint length= strlen(str); - tmp= new Item_string(thd->strmake(str, length), length, - system_charset_info, DERIVATION_SYSCONST); - } - else - { - tmp= new Item_null(); - tmp->collation.set(system_charset_info, DERIVATION_SYSCONST); - } - pthread_mutex_unlock(&LOCK_global_system_variables); - return tmp; - } - case SHOW_CHAR: - { - Item *tmp; - pthread_mutex_lock(&LOCK_global_system_variables); - char *str= (char*) value_ptr(thd, var_type, base); - if (str) - tmp= new Item_string(str, strlen(str), - system_charset_info, DERIVATION_SYSCONST); - else - { - tmp= new Item_null(); - tmp->collation.set(system_charset_info, DERIVATION_SYSCONST); - } - pthread_mutex_unlock(&LOCK_global_system_variables); - return tmp; - } - default: - my_error(ER_VAR_CANT_BE_READ, MYF(0), name); - } - return 0; -} - - bool sys_var_thd_enum::update(THD *thd, set_var *var) { if (var->type == OPT_GLOBAL) diff --git a/sql/set_var.h b/sql/set_var.h index 8ae97c6502d..9681c955a98 100644 --- a/sql/set_var.h +++ b/sql/set_var.h @@ -105,7 +105,6 @@ public: { return type != INT_RESULT; } /* Assume INT */ virtual bool check_default(enum_var_type type) { return option_limits == 0; } - Item *item(THD *thd, enum_var_type type, LEX_STRING *base); virtual bool is_struct() { return 0; } virtual bool is_readonly() const { return 0; } virtual sys_var_pluginvar *cast_pluginvar() { return 0; } diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c index 6da7b3e8072..a50b009303a 100644 --- a/tests/mysql_client_test.c +++ b/tests/mysql_client_test.c @@ -7201,9 +7201,6 @@ static void test_field_misc() { MYSQL_STMT *stmt; MYSQL_RES *result; - MYSQL_BIND my_bind[1]; - char table_type[NAME_LEN]; - ulong type_length; int rc; myheader("test_field_misc"); @@ -7246,53 +7243,6 @@ static void test_field_misc() mysql_free_result(result); mysql_stmt_close(stmt); - stmt= mysql_simple_prepare(mysql, "SELECT @@table_type"); - check_stmt(stmt); - - rc= mysql_stmt_execute(stmt); - check_execute(stmt, rc); - - bzero((char*) my_bind, sizeof(my_bind)); - my_bind[0].buffer_type= MYSQL_TYPE_STRING; - my_bind[0].buffer= table_type; - my_bind[0].length= &type_length; - my_bind[0].buffer_length= NAME_LEN; - - rc= mysql_stmt_bind_result(stmt, my_bind); - check_execute(stmt, rc); - - rc= mysql_stmt_fetch(stmt); - check_execute(stmt, rc); - if (!opt_silent) - fprintf(stdout, "\n default table type: %s(%ld)", table_type, type_length); - - rc= mysql_stmt_fetch(stmt); - DIE_UNLESS(rc == MYSQL_NO_DATA); - - mysql_stmt_close(stmt); - - stmt= mysql_simple_prepare(mysql, "SELECT @@table_type"); - check_stmt(stmt); - - result= mysql_stmt_result_metadata(stmt); - mytest(result); - DIE_UNLESS(mysql_stmt_field_count(stmt) == mysql_num_fields(result)); - - rc= mysql_stmt_execute(stmt); - check_execute(stmt, rc); - - DIE_UNLESS(1 == my_process_stmt_result(stmt)); - - verify_prepare_field(result, 0, - "@@table_type", "", /* field and its org name */ - mysql_get_server_version(mysql) <= 50000 ? - MYSQL_TYPE_STRING : MYSQL_TYPE_VAR_STRING, - "", "", /* table and its org name */ - "", type_length, 0); /* db name, length */ - - mysql_free_result(result); - mysql_stmt_close(stmt); - stmt= mysql_simple_prepare(mysql, "SELECT @@max_error_count"); check_stmt(stmt); @@ -7309,7 +7259,8 @@ static void test_field_misc() "@@max_error_count", "", /* field and its org name */ MYSQL_TYPE_LONGLONG, /* field type */ "", "", /* table and its org name */ - "", 10, 0); /* db name, length */ + /* db name, length */ + "", MY_INT64_NUM_DECIMAL_DIGITS , 0); mysql_free_result(result); mysql_stmt_close(stmt); @@ -7329,7 +7280,8 @@ static void test_field_misc() "@@max_allowed_packet", "", /* field and its org name */ MYSQL_TYPE_LONGLONG, /* field type */ "", "", /* table and its org name */ - "", 10, 0); /* db name, length */ + /* db name, length */ + "", MY_INT64_NUM_DECIMAL_DIGITS, 0); mysql_free_result(result); mysql_stmt_close(stmt); From f985e787758e3081e18543b5490724d30296aebf Mon Sep 17 00:00:00 2001 From: Kristofer Pettersson Date: Thu, 9 Oct 2008 09:26:42 +0200 Subject: [PATCH 013/141] Bug#24289 Status Variable "Questions" gets wrong values with Stored Routines When running Stored Routines the Status Variable "Questions" was wrongly incremented. According to the manual it should contain the "number of statements that clients have sent to the server" Introduced a new status variable 'questions' to replace the query_id variable which currently corresponds badly with the number of statements sent by the client. The new behavior is ment to be backward compatible with 4.0 and at the same time work with new features in a similar way. This is a backport from 6.0 mysql-test/r/status2.result: Added test case mysql-test/t/status2.test: Added test case sql/mysqld.cc: Introduced a new status variable 'questions' to replace the query_id variable which currently corresponds badly with the number of statements sent by the client. sql/sql_class.h: Introduced a new status variable 'questions' to replace the query_id variable which currently corresponds badly with the number of statements sent by the client. sql/sql_parse.cc: To be backward compatible with 4.0 and at the same time extend the interpretation of the Question variable, it should be increased on all COM-commands but COM_STATISTICS, COM_PING, COM_STMT_PREPARE, COM_STMT_CLOSE and COM_STMT_RESET. Since COM_QUERY can process multiple statements, there has to be an extra increase there as well. sql/sql_show.cc: Removed deprecated SHOW_QUESTION status code. sql/structs.h: Removed deprecated SHOW_QUESTION status code. --- mysql-test/r/status2.result | 64 +++++++++++++++++++++++++++++++++++++ mysql-test/t/status2.test | 64 +++++++++++++++++++++++++++++++++++++ sql/mysqld.cc | 4 ++- sql/sql_class.h | 13 ++++++-- sql/sql_parse.cc | 23 ++++++++++++- sql/sql_show.cc | 3 -- sql/structs.h | 2 +- 7 files changed, 164 insertions(+), 9 deletions(-) create mode 100644 mysql-test/r/status2.result create mode 100644 mysql-test/t/status2.test diff --git a/mysql-test/r/status2.result b/mysql-test/r/status2.result new file mode 100644 index 00000000000..7f6eab693e5 --- /dev/null +++ b/mysql-test/r/status2.result @@ -0,0 +1,64 @@ +# +# Bug#24289 Status Variable "Questions" gets wrong values with Stored Routines +# +FLUSH STATUS; +DROP TABLE IF EXISTS t1,t2; +DROP PROCEDURE IF EXISTS p1; +DROP FUNCTION IF EXISTS f1; +CREATE FUNCTION f1() RETURNS INTEGER +BEGIN +DECLARE foo INTEGER; +DECLARE bar INTEGER; +SET foo=1; +SET bar=2; +RETURN foo; +END $$ +CREATE PROCEDURE p1() +BEGIN +SELECT 1; +END $$ +CREATE TABLE t1 (c1 INT); +CREATE TABLE t2 (c1 INT); +INSERT INTO t1 VALUES (1); +Assert Questions == 9 +SHOW STATUS LIKE 'Questions'; +Variable_name Value +Questions 9 +SELECT f1(); +f1() +1 +Assert Questions == 11 +SHOW STATUS LIKE 'Questions'; +Variable_name Value +Questions 11 +CALL p1(); +1 +1 +Assert Questions == 13 +SHOW STATUS LIKE 'Questions'; +Variable_name Value +Questions 13 +SELECT 1; +1 +1 +Assert Questions == 15 +SHOW STATUS LIKE 'Questions'; +Variable_name Value +Questions 15 +FLUSH STATUS; +SELECT 1; +1 +1 +Assert Questions == 16 +SHOW STATUS LIKE 'Questions'; +Variable_name Value +Questions 16 +Global status updated; Assert diff == 5 +FLUSH STATUS; +SELECT 5; +5 +5 +DROP TABLE t1,t2; +DROP PROCEDURE p1; +DROP FUNCTION f1; +End of 6.0 tests diff --git a/mysql-test/t/status2.test b/mysql-test/t/status2.test new file mode 100644 index 00000000000..b834cd0c6ad --- /dev/null +++ b/mysql-test/t/status2.test @@ -0,0 +1,64 @@ +--echo # +--echo # Bug#24289 Status Variable "Questions" gets wrong values with Stored Routines +--echo # +# The bogus connection below is needed to make the gobal statement count +# deterministic when the test is run for the first time. +connect (con1,localhost,root,,); +connection con1; +connection default; +disconnect con1; +FLUSH STATUS; +--disable_warnings +DROP TABLE IF EXISTS t1,t2; +DROP PROCEDURE IF EXISTS p1; +DROP FUNCTION IF EXISTS f1; +--enable_warnings +DELIMITER $$; +CREATE FUNCTION f1() RETURNS INTEGER +BEGIN + DECLARE foo INTEGER; + DECLARE bar INTEGER; + SET foo=1; + SET bar=2; + RETURN foo; +END $$ +CREATE PROCEDURE p1() +BEGIN + SELECT 1; +END $$ +DELIMITER ;$$ +CREATE TABLE t1 (c1 INT); +CREATE TABLE t2 (c1 INT); +INSERT INTO t1 VALUES (1); +--echo Assert Questions == 9 +SHOW STATUS LIKE 'Questions'; +SELECT f1(); +--echo Assert Questions == 11 +SHOW STATUS LIKE 'Questions'; +CALL p1(); +--echo Assert Questions == 13 +SHOW STATUS LIKE 'Questions'; +SELECT 1; +--echo Assert Questions == 15 +SHOW STATUS LIKE 'Questions'; +connect (con1,localhost,root,,); +connection con1; +FLUSH STATUS; +let $org_questions= `SHOW GLOBAL STATUS LIKE 'questions'`; +SELECT 1; +connection default; +disconnect con1; +--echo Assert Questions == 16 +SHOW STATUS LIKE 'Questions'; +--echo Global status updated; Assert diff == 5 +FLUSH STATUS; +let $new_questions= `SHOW GLOBAL STATUS LIKE 'questions'`; +--disable_log +let $diff= `SELECT SUBSTRING('$new_questions',10)-SUBSTRING('$org_questions',10)`; +--enable_log +eval SELECT $diff; +DROP TABLE t1,t2; +DROP PROCEDURE p1; +DROP FUNCTION f1; +--echo End of 6.0 tests + diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 757427f9fdf..c3e5449b22b 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -6573,7 +6573,9 @@ struct show_var_st status_vars[]= { {"Qcache_queries_in_cache", (char*) &query_cache.queries_in_cache, SHOW_LONG_CONST}, {"Qcache_total_blocks", (char*) &query_cache.total_blocks, SHOW_LONG_CONST}, #endif /*HAVE_QUERY_CACHE*/ - {"Questions", (char*) 0, SHOW_QUESTION}, + {"Questions", (char*) offsetof(STATUS_VAR, questions), + SHOW_LONG_STATUS}, + {"Rpl_status", (char*) 0, SHOW_RPL_STATUS}, {"Select_full_join", (char*) offsetof(STATUS_VAR, select_full_join_count), SHOW_LONG_STATUS}, {"Select_full_range_join", (char*) offsetof(STATUS_VAR, select_full_range_join_count), SHOW_LONG_STATUS}, diff --git a/sql/sql_class.h b/sql/sql_class.h index a9700c9e91b..9fe0a7423de 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -664,10 +664,17 @@ typedef struct system_status_var ulong com_stmt_fetch; ulong com_stmt_reset; ulong com_stmt_close; + /* + Number of statements sent from the client + */ + ulong questions; /* - Status variables which it does not make sense to add to - global status variable counter + IMPORTANT! + SEE last_system_status_var DEFINITION BELOW. + + Below 'last_system_status_var' are all variables which doesn't make any + sense to add to the /global/ status variable counter. */ double last_query_cost; } STATUS_VAR; @@ -678,7 +685,7 @@ typedef struct system_status_var counter */ -#define last_system_status_var com_stmt_close +#define last_system_status_var questions void free_tmp_table(THD *thd, TABLE *entry); diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 83b111b7c4c..da1a4a352ae 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -1690,8 +1690,24 @@ bool dispatch_command(enum enum_server_command command, THD *thd, thd->set_time(); VOID(pthread_mutex_lock(&LOCK_thread_count)); thd->query_id= global_query_id; - if (command != COM_STATISTICS && command != COM_PING) + + switch( command ) { + /* Ignore these statements. */ + case COM_STATISTICS: + case COM_PING: + break; + /* Only increase id on these statements but don't count them. */ + case COM_STMT_PREPARE: + case COM_STMT_CLOSE: + case COM_STMT_RESET: next_query_id(); + break; + /* Increase id and count all other statements. */ + default: + statistic_increment(thd->status_var.questions, &LOCK_status); + next_query_id(); + } + thread_running++; /* TODO: set thd->lex->sql_command to SQLCOM_END here */ VOID(pthread_mutex_unlock(&LOCK_thread_count)); @@ -1896,6 +1912,11 @@ bool dispatch_command(enum enum_server_command command, THD *thd, VOID(pthread_mutex_lock(&LOCK_thread_count)); thd->query_length= length; thd->query= next_packet; + /* + Count each statement from the client. + */ + statistic_increment(thd->status_var.questions, &LOCK_status); + thd->query_id= next_query_id(); thd->set_time(); /* Reset the query start time. */ /* TODO: set thd->lex->sql_command to SQLCOM_END here */ diff --git a/sql/sql_show.cc b/sql/sql_show.cc index c30e0a00d95..d6854e00228 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -1520,9 +1520,6 @@ static bool show_status_array(THD *thd, const char *wild, nr= (long) (thd->query_start() - server_start_time); end= int10_to_str(nr, buff, 10); break; - case SHOW_QUESTION: - end= int10_to_str((long) thd->query_id, buff, 10); - break; #ifdef HAVE_REPLICATION case SHOW_RPL_STATUS: end= strmov(buff, rpl_status_type[(int)rpl_status]); diff --git a/sql/structs.h b/sql/structs.h index bc373fe4b52..ab8537612fa 100644 --- a/sql/structs.h +++ b/sql/structs.h @@ -170,7 +170,7 @@ enum SHOW_TYPE SHOW_UNDEF, SHOW_LONG, SHOW_LONGLONG, SHOW_INT, SHOW_CHAR, SHOW_CHAR_PTR, SHOW_DOUBLE_STATUS, - SHOW_BOOL, SHOW_MY_BOOL, SHOW_OPENTABLES, SHOW_STARTTIME, SHOW_QUESTION, + SHOW_BOOL, SHOW_MY_BOOL, SHOW_OPENTABLES, SHOW_STARTTIME, SHOW_LONG_CONST, SHOW_INT_CONST, SHOW_HAVE, SHOW_SYS, SHOW_HA_ROWS, SHOW_VARS, #ifdef HAVE_OPENSSL From 95b721e62853c400541937b75f9e4d4bdada9bc0 Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Thu, 9 Oct 2008 12:50:29 +0500 Subject: [PATCH 014/141] Bug#38918 selecting from information_schema.columns is disproportionately slow The problem: table_open_method is not calculated properly if '*' is used in 'select' The fix: added table_open_method calculation for such case mysql-test/r/information_schema.result: test result mysql-test/t/information_schema.test: test case sql/sql_show.cc: The problem: table_open_method is not calculated properly if '*' is used in 'select' The fix: added table_open_method calculation for such case --- mysql-test/r/information_schema.result | 9 +++++++++ mysql-test/t/information_schema.test | 8 ++++++++ sql/sql_show.cc | 12 +++++++++++- 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result index c5c79b15ca6..c198e097b96 100644 --- a/mysql-test/r/information_schema.result +++ b/mysql-test/r/information_schema.result @@ -1646,4 +1646,13 @@ drop table t1; drop function f1; select * from information_schema.tables where 1=sleep(100000); select * from information_schema.columns where 1=sleep(100000); +explain select count(*) from information_schema.tables; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tables ALL NULL NULL NULL NULL NULL Skip_open_table; Scanned all databases +explain select count(*) from information_schema.columns; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE columns ALL NULL NULL NULL NULL NULL Open_frm_only; Scanned all databases +explain select count(*) from information_schema.views; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE views ALL NULL NULL NULL NULL NULL Open_frm_only; Scanned all databases End of 5.1 tests. diff --git a/mysql-test/t/information_schema.test b/mysql-test/t/information_schema.test index bb9cb127d07..4027293da66 100644 --- a/mysql-test/t/information_schema.test +++ b/mysql-test/t/information_schema.test @@ -1338,4 +1338,12 @@ where state='User sleep' and info='select * from information_schema.columns where 1=sleep(100000)'; --source include/wait_condition.inc + +# +# Bug#38918 selecting from information_schema.columns is disproportionately slow +# +explain select count(*) from information_schema.tables; +explain select count(*) from information_schema.columns; +explain select count(*) from information_schema.views; + --echo End of 5.1 tests. diff --git a/sql/sql_show.cc b/sql/sql_show.cc index f715da843c2..f2b02d0107f 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -2962,7 +2962,7 @@ static int fill_schema_table_names(THD *thd, TABLE *table, @retval SKIP_OPEN_TABLE | OPEN_FRM_ONLY | OPEN_FULL_TABLE */ -static uint get_table_open_method(TABLE_LIST *tables, +uint get_table_open_method(TABLE_LIST *tables, ST_SCHEMA_TABLE *schema_table, enum enum_schema_tables schema_table_idx) { @@ -2973,12 +2973,22 @@ static uint get_table_open_method(TABLE_LIST *tables, { Field **ptr, *field; int table_open_method= 0, field_indx= 0; + uint star_table_open_method= OPEN_FULL_TABLE; + bool used_star= true; // true if '*' is used in select for (ptr=tables->table->field; (field= *ptr) ; ptr++) { + star_table_open_method= + min(star_table_open_method, + schema_table->fields_info[field_indx].open_method); if (bitmap_is_set(tables->table->read_set, field->field_index)) + { + used_star= false; table_open_method|= schema_table->fields_info[field_indx].open_method; + } field_indx++; } + if (used_star) + return star_table_open_method; return table_open_method; } /* I_S tables which use get_all_tables but can not be optimized */ From 56810c9d6560f073ec09078a139f059e9d3ea01f Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Thu, 9 Oct 2008 13:55:16 +0500 Subject: [PATCH 015/141] Bug#35068 Assertion fails when reading from i_s.tables and there is incorrect merge table Hide "Table doesn't exist" errors if the table belongs to a merge table. mysql-test/r/merge.result: result fix mysql-test/t/merge.test: test case sql/sql_base.cc: Hide "Table doesn't exist" errors if the table belongs to a merge table. --- mysql-test/r/merge.result | 21 +++++++++++++++------ mysql-test/t/merge.test | 25 +++++++++++++++++++------ sql/sql_base.cc | 18 +++++++++++++----- 3 files changed, 47 insertions(+), 17 deletions(-) diff --git a/mysql-test/r/merge.result b/mysql-test/r/merge.result index ef623b343e9..cc05efded02 100644 --- a/mysql-test/r/merge.result +++ b/mysql-test/r/merge.result @@ -830,7 +830,7 @@ ERROR HY000: Unable to open underlying table which is differently defined or of DROP TABLE t1, t2; CREATE TABLE t2(a INT) ENGINE=MERGE UNION=(t3); SELECT * FROM t2; -ERROR 42S02: Table 'test.t3' doesn't exist +ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist DROP TABLE t2; CREATE TABLE t1(a INT, b TEXT); CREATE TABLE tm1(a TEXT, b INT) ENGINE=MERGE UNION=(t1); @@ -895,17 +895,19 @@ drop table t2; drop table t1; CREATE TABLE tm1(a INT) ENGINE=MERGE UNION=(t1, t2); SELECT * FROM tm1; -ERROR 42S02: Table 'test.t1' doesn't exist +ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist CHECK TABLE tm1; Table Op Msg_type Msg_text test.tm1 check Error Table 'test.t1' doesn't exist +test.tm1 check Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist test.tm1 check error Corrupt CREATE TABLE t1(a INT); SELECT * FROM tm1; -ERROR 42S02: Table 'test.t2' doesn't exist +ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist CHECK TABLE tm1; Table Op Msg_type Msg_text test.tm1 check Error Table 'test.t2' doesn't exist +test.tm1 check Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist test.tm1 check error Corrupt CREATE TABLE t2(a BLOB); SELECT * FROM tm1; @@ -1199,7 +1201,7 @@ c1 3 RENAME TABLE t2 TO t5; SELECT * FROM t3 ORDER BY c1; -ERROR 42S02: Table 'test.t2' doesn't exist +ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist RENAME TABLE t5 TO t2; SELECT * FROM t3 ORDER BY c1; c1 @@ -1233,7 +1235,7 @@ UNLOCK TABLES; # 4. Alter table rename. ALTER TABLE t2 RENAME TO t5; SELECT * FROM t3 ORDER BY c1; -ERROR 42S02: Table 'test.t2' doesn't exist +ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist ALTER TABLE t5 RENAME TO t2; SELECT * FROM t3 ORDER BY c1; c1 @@ -1317,7 +1319,7 @@ LOCK TABLES t1 WRITE, t2 WRITE; INSERT INTO t1 VALUES (1); DROP TABLE t1; SELECT * FROM t2; -ERROR 42S02: Table 'test.t1' doesn't exist +ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist SELECT * FROM t1; ERROR 42S02: Table 'test.t1' doesn't exist UNLOCK TABLES; @@ -2006,6 +2008,13 @@ test.t1 optimize status OK FLUSH TABLES m1, t1; UNLOCK TABLES; DROP TABLE t1, m1; +CREATE TABLE tm1 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1) INSERT_METHOD=FIRST; +SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE +TABLE_SCHEMA = 'test' and TABLE_NAME='tm1'; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT +NULL test tm1 BASE TABLE NULL NULL NULL # # # # # # # # # # NULL # # Unable to open underlying table which is differently defined or of non-MyISAM ty +DROP TABLE tm1; +End of 5.1 tests CREATE TABLE t1(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; CREATE TABLE t2(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; CREATE TABLE t3(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; diff --git a/mysql-test/t/merge.test b/mysql-test/t/merge.test index fd1336491aa..dd3e4e28aeb 100644 --- a/mysql-test/t/merge.test +++ b/mysql-test/t/merge.test @@ -456,7 +456,7 @@ CREATE TABLE t2(a INT) ENGINE=MERGE UNION=(t1); SELECT * FROM t2; DROP TABLE t1, t2; CREATE TABLE t2(a INT) ENGINE=MERGE UNION=(t3); ---error ER_NO_SUCH_TABLE +--error 1168 SELECT * FROM t2; DROP TABLE t2; @@ -548,11 +548,11 @@ drop table t1; # CREATE TABLE fails # CREATE TABLE tm1(a INT) ENGINE=MERGE UNION=(t1, t2); ---error ER_NO_SUCH_TABLE +--error 1168 SELECT * FROM tm1; CHECK TABLE tm1; CREATE TABLE t1(a INT); ---error ER_NO_SUCH_TABLE +--error 1168 SELECT * FROM tm1; CHECK TABLE tm1; CREATE TABLE t2(a BLOB); @@ -878,7 +878,7 @@ DROP TABLE t4; --echo # 2. Normal rename. SELECT * FROM t3 ORDER BY c1; RENAME TABLE t2 TO t5; ---error ER_NO_SUCH_TABLE +--error 1168 SELECT * FROM t3 ORDER BY c1; RENAME TABLE t5 TO t2; SELECT * FROM t3 ORDER BY c1; @@ -896,7 +896,7 @@ UNLOCK TABLES; --echo # --echo # 4. Alter table rename. ALTER TABLE t2 RENAME TO t5; ---error ER_NO_SUCH_TABLE +--error 1168 SELECT * FROM t3 ORDER BY c1; ALTER TABLE t5 RENAME TO t2; SELECT * FROM t3 ORDER BY c1; @@ -956,7 +956,7 @@ CREATE TABLE t2 (c1 INT, INDEX(c1)) ENGINE=MRG_MYISAM UNION=(t1) LOCK TABLES t1 WRITE, t2 WRITE; INSERT INTO t1 VALUES (1); DROP TABLE t1; ---error ER_NO_SUCH_TABLE +--error 1168 SELECT * FROM t2; --error ER_NO_SUCH_TABLE SELECT * FROM t1; @@ -1394,6 +1394,19 @@ FLUSH TABLES m1, t1; UNLOCK TABLES; DROP TABLE t1, m1; +# +# Bug#35068 - Assertion fails when reading from i_s.tables +# and there is incorrect merge table +# +CREATE TABLE tm1 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1) INSERT_METHOD=FIRST; +--replace_column 8 # 9 # 10 # 11 # 12 # 13 # 14 # 15 # 16 # 17 # 19 # 20 # +SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE +TABLE_SCHEMA = 'test' and TABLE_NAME='tm1'; + +DROP TABLE tm1; + +--echo End of 5.1 tests + # # Bug#36006 - Optimizer does table scan for select count(*) # diff --git a/sql/sql_base.cc b/sql/sql_base.cc index e8097d79f82..c97a4b0fbda 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -489,12 +489,20 @@ static TABLE_SHARE "no such table" errors. @todo Rework the alternative ways to deal with ER_NO_SUCH TABLE. */ - if (thd->is_error() && table_list->belong_to_view) + if (thd->is_error()) { - TABLE_LIST *view= table_list->belong_to_view; - thd->clear_error(); - my_error(ER_VIEW_INVALID, MYF(0), - view->view_db.str, view->view_name.str); + if (table_list->parent_l) + { + thd->clear_error(); + my_error(ER_WRONG_MRG_TABLE, MYF(0)); + } + else if (table_list->belong_to_view) + { + TABLE_LIST *view= table_list->belong_to_view; + thd->clear_error(); + my_error(ER_VIEW_INVALID, MYF(0), + view->view_db.str, view->view_name.str); + } } DBUG_RETURN(0); } From 1e4f12d65dff1532f9922e714e1cd672127acb17 Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Thu, 9 Oct 2008 15:49:13 +0500 Subject: [PATCH 016/141] Bug#39372 "Smart" ALTER TABLE not so smart after all. The problem was that PACK_KEYS and MAX_ROWS clause in ALTER TABLE did not trigger table reconstruction. The fix is to rebuild a table if PACK_KEYS or MAX_ROWS are specified. mysql-test/r/alter_table.result: test result mysql-test/t/alter_table.test: test case sql/sql_table.cc: The problem was that PACK_KEYS and MAX_ROWS clause in ALTER TABLE did not trigger table reconstruction. The fix is to rebuild a table if PACK_KEYS or MAX_ROWS are specified. --- mysql-test/r/alter_table.result | 18 ++++++++++++++++++ mysql-test/t/alter_table.test | 30 ++++++++++++++++++++++++++++++ sql/sql_table.cc | 2 ++ 3 files changed, 50 insertions(+) diff --git a/mysql-test/r/alter_table.result b/mysql-test/r/alter_table.result index d6986f4a956..e01f4fa047b 100644 --- a/mysql-test/r/alter_table.result +++ b/mysql-test/r/alter_table.result @@ -1222,4 +1222,22 @@ ALTER TABLE t1 CHANGE d c varchar(10); affected rows: 0 info: Records: 0 Duplicates: 0 Warnings: 0 DROP TABLE t1; +create table t1(f1 int not null, f2 int not null, key (f1), key (f2)); +select index_length into @unpaked_keys_size from +information_schema.tables where table_name='t1'; +alter table t1 pack_keys=1; +select index_length into @paked_keys_size from +information_schema.tables where table_name='t1'; +select (@unpaked_keys_size > @paked_keys_size); +(@unpaked_keys_size > @paked_keys_size) +1 +select max_data_length into @orig_max_data_length from +information_schema.tables where table_name='t1'; +alter table t1 max_rows=100; +select max_data_length into @changed_max_data_length from +information_schema.tables where table_name='t1'; +select (@orig_max_data_length > @changed_max_data_length); +(@orig_max_data_length > @changed_max_data_length) +1 +drop table t1; End of 5.1 tests diff --git a/mysql-test/t/alter_table.test b/mysql-test/t/alter_table.test index 662f9095810..8502ba3f3d3 100644 --- a/mysql-test/t/alter_table.test +++ b/mysql-test/t/alter_table.test @@ -947,4 +947,34 @@ ALTER TABLE t1 CHANGE d c varchar(10); --disable_info DROP TABLE t1; +# +# Bug#39372 "Smart" ALTER TABLE not so smart after all. +# +create table t1(f1 int not null, f2 int not null, key (f1), key (f2)); +let $count= 50; +--disable_query_log +while ($count) +{ + EVAL insert into t1 values (1,1),(1,1),(1,1),(1,1),(1,1); + EVAL insert into t1 values (2,2),(2,2),(2,2),(2,2),(2,2); + dec $count ; +} +--enable_query_log + +select index_length into @unpaked_keys_size from +information_schema.tables where table_name='t1'; +alter table t1 pack_keys=1; +select index_length into @paked_keys_size from +information_schema.tables where table_name='t1'; +select (@unpaked_keys_size > @paked_keys_size); + +select max_data_length into @orig_max_data_length from +information_schema.tables where table_name='t1'; +alter table t1 max_rows=100; +select max_data_length into @changed_max_data_length from +information_schema.tables where table_name='t1'; +select (@orig_max_data_length > @changed_max_data_length); + +drop table t1; + --echo End of 5.1 tests diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 243324764f5..4fdd88bbec3 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -5281,6 +5281,8 @@ compare_tables(TABLE *table, create_info->used_fields & HA_CREATE_USED_CHARSET || create_info->used_fields & HA_CREATE_USED_DEFAULT_CHARSET || create_info->used_fields & HA_CREATE_USED_ROW_FORMAT || + create_info->used_fields & HA_CREATE_USED_PACK_KEYS || + create_info->used_fields & HA_CREATE_USED_MAX_ROWS || (alter_info->flags & (ALTER_RECREATE | ALTER_FOREIGN_KEY)) || order_num || !table->s->mysql_version || From 169a65aacdee0c92876cfef9e4030e613fbfa440 Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Thu, 9 Oct 2008 17:09:30 +0500 Subject: [PATCH 017/141] Bug#29153 SHOW and INFORMATION_SCHEMA commands increment Created_tmp_disk_tables TRIGGERS.SQL_MODE, EVENTS.SQL_MODE, TRIGGERS.DEFINER: field type is changed to VARCHAR. mysql-test/r/information_schema.result: result fix mysql-test/r/show_check.result: result fix mysql-test/suite/funcs_1/r/is_columns_is.result: result fix mysql-test/suite/funcs_1/r/is_events.result: result fix mysql-test/suite/funcs_1/r/is_triggers.result: result fix sql/sql_show.cc: TRIGGERS.SQL_MODE, EVENTS.SQL_MODE, TRIGGERS.DEFINER: field type is changed to VARCHAR. --- mysql-test/r/information_schema.result | 3 --- mysql-test/r/show_check.result | 8 ++++---- mysql-test/suite/funcs_1/r/is_columns_is.result | 12 ++++++------ mysql-test/suite/funcs_1/r/is_events.result | 6 +++--- mysql-test/suite/funcs_1/r/is_triggers.result | 12 ++++++------ sql/sql_show.cc | 6 +++--- 6 files changed, 22 insertions(+), 25 deletions(-) diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result index c198e097b96..7da540dd8f6 100644 --- a/mysql-test/r/information_schema.result +++ b/mysql-test/r/information_schema.result @@ -758,7 +758,6 @@ table_schema table_name column_name information_schema COLUMNS COLUMN_DEFAULT information_schema COLUMNS COLUMN_TYPE information_schema EVENTS EVENT_DEFINITION -information_schema EVENTS SQL_MODE information_schema PARTITIONS PARTITION_EXPRESSION information_schema PARTITIONS SUBPARTITION_EXPRESSION information_schema PARTITIONS PARTITION_DESCRIPTION @@ -768,8 +767,6 @@ information_schema ROUTINES ROUTINE_DEFINITION information_schema ROUTINES SQL_MODE information_schema TRIGGERS ACTION_CONDITION information_schema TRIGGERS ACTION_STATEMENT -information_schema TRIGGERS SQL_MODE -information_schema TRIGGERS DEFINER information_schema VIEWS VIEW_DEFINITION select table_name, column_name, data_type from information_schema.columns where data_type = 'datetime'; diff --git a/mysql-test/r/show_check.result b/mysql-test/r/show_check.result index dfadfd878e8..b9a5ddbf8ec 100644 --- a/mysql-test/r/show_check.result +++ b/mysql-test/r/show_check.result @@ -1001,8 +1001,8 @@ def TRIGGERS EVENT_OBJECT_TABLE Table 253 192 2 N 1 0 33 def TRIGGERS ACTION_STATEMENT Statement 252 589815 10 N 17 0 33 def TRIGGERS ACTION_TIMING Timing 253 18 6 N 1 0 33 def TRIGGERS CREATED Created 12 19 0 Y 128 0 63 -def TRIGGERS SQL_MODE sql_mode 252 589815 0 N 17 0 33 -def TRIGGERS DEFINER Definer 252 589815 14 N 17 0 33 +def TRIGGERS SQL_MODE sql_mode 253 24576 0 N 1 0 33 +def TRIGGERS DEFINER Definer 253 231 14 N 1 0 33 def TRIGGERS CHARACTER_SET_CLIENT character_set_client 253 96 6 N 1 0 33 def TRIGGERS COLLATION_CONNECTION collation_connection 253 96 6 N 1 0 33 def TRIGGERS DATABASE_COLLATION Database Collation 253 96 17 N 1 0 33 @@ -1045,8 +1045,8 @@ def TRIGGERS ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_OLD_TABLE 253 192 0 Y def TRIGGERS ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_NEW_TABLE 253 192 0 Y 0 0 33 def TRIGGERS ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_OLD_ROW 253 9 3 N 1 0 33 def TRIGGERS ACTION_REFERENCE_NEW_ROW ACTION_REFERENCE_NEW_ROW 253 9 3 N 1 0 33 -def TRIGGERS SQL_MODE SQL_MODE 252 589815 0 N 17 0 33 -def TRIGGERS DEFINER DEFINER 252 589815 14 N 17 0 33 +def TRIGGERS SQL_MODE SQL_MODE 253 24576 0 N 1 0 33 +def TRIGGERS DEFINER DEFINER 253 231 14 N 1 0 33 TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW SQL_MODE DEFINER NULL test t1_bi INSERT NULL test t1 NULL SET @a = 1 ROW BEFORE NULL NULL OLD NEW root@localhost ---------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/is_columns_is.result b/mysql-test/suite/funcs_1/r/is_columns_is.result index c1813a1add2..84daef5f8da 100644 --- a/mysql-test/suite/funcs_1/r/is_columns_is.result +++ b/mysql-test/suite/funcs_1/r/is_columns_is.result @@ -67,7 +67,7 @@ NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime N NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema EVENTS SQL_MODE 12 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema EVENTS SQL_MODE 12 NO varchar 8192 24576 NULL NULL utf8 utf8_general_ci varchar(8192) select NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -277,12 +277,12 @@ NULL information_schema TRIGGERS CHARACTER_SET_CLIENT 20 NO varchar 32 96 NULL NULL information_schema TRIGGERS COLLATION_CONNECTION 21 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema TRIGGERS DATABASE_COLLATION 22 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select -NULL information_schema TRIGGERS DEFINER 19 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema TRIGGERS DEFINER 19 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema TRIGGERS SQL_MODE 18 NO varchar 8192 24576 NULL NULL utf8 utf8_general_ci varchar(8192) select NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -412,7 +412,7 @@ NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint( NULL information_schema EVENTS EXECUTE_AT datetime NULL NULL NULL NULL datetime 3.0000 information_schema EVENTS INTERVAL_VALUE varchar 256 768 utf8 utf8_general_ci varchar(256) 3.0000 information_schema EVENTS INTERVAL_FIELD varchar 18 54 utf8 utf8_general_ci varchar(18) -1.0000 information_schema EVENTS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext +3.0000 information_schema EVENTS SQL_MODE varchar 8192 24576 utf8 utf8_general_ci varchar(8192) NULL information_schema EVENTS STARTS datetime NULL NULL NULL NULL datetime NULL information_schema EVENTS ENDS datetime NULL NULL NULL NULL datetime 3.0000 information_schema EVENTS STATUS varchar 18 54 utf8 utf8_general_ci varchar(18) @@ -635,8 +635,8 @@ NULL information_schema TRIGGERS ACTION_ORDER bigint NULL NULL NULL NULL bigint( 3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW varchar 3 9 utf8 utf8_general_ci varchar(3) 3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW varchar 3 9 utf8 utf8_general_ci varchar(3) NULL information_schema TRIGGERS CREATED datetime NULL NULL NULL NULL datetime -1.0000 information_schema TRIGGERS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -1.0000 information_schema TRIGGERS DEFINER longtext 4294967295 4294967295 utf8 utf8_general_ci longtext +3.0000 information_schema TRIGGERS SQL_MODE varchar 8192 24576 utf8 utf8_general_ci varchar(8192) +3.0000 information_schema TRIGGERS DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77) 3.0000 information_schema TRIGGERS CHARACTER_SET_CLIENT varchar 32 96 utf8 utf8_general_ci varchar(32) 3.0000 information_schema TRIGGERS COLLATION_CONNECTION varchar 32 96 utf8 utf8_general_ci varchar(32) 3.0000 information_schema TRIGGERS DATABASE_COLLATION varchar 32 96 utf8 utf8_general_ci varchar(32) diff --git a/mysql-test/suite/funcs_1/r/is_events.result b/mysql-test/suite/funcs_1/r/is_events.result index 52673f1d285..6dfe5899bf4 100644 --- a/mysql-test/suite/funcs_1/r/is_events.result +++ b/mysql-test/suite/funcs_1/r/is_events.result @@ -39,7 +39,7 @@ EVENT_TYPE varchar(9) NO EXECUTE_AT datetime YES NULL INTERVAL_VALUE varchar(256) YES NULL INTERVAL_FIELD varchar(18) YES NULL -SQL_MODE longtext NO NULL +SQL_MODE varchar(8192) NO STARTS datetime YES NULL ENDS datetime YES NULL STATUS varchar(18) NO @@ -66,7 +66,7 @@ EVENTS CREATE TEMPORARY TABLE `EVENTS` ( `EXECUTE_AT` datetime DEFAULT NULL, `INTERVAL_VALUE` varchar(256) DEFAULT NULL, `INTERVAL_FIELD` varchar(18) DEFAULT NULL, - `SQL_MODE` longtext NOT NULL, + `SQL_MODE` varchar(8192) NOT NULL DEFAULT '', `STARTS` datetime DEFAULT NULL, `ENDS` datetime DEFAULT NULL, `STATUS` varchar(18) NOT NULL DEFAULT '', @@ -93,7 +93,7 @@ EVENT_TYPE varchar(9) NO EXECUTE_AT datetime YES NULL INTERVAL_VALUE varchar(256) YES NULL INTERVAL_FIELD varchar(18) YES NULL -SQL_MODE longtext NO NULL +SQL_MODE varchar(8192) NO STARTS datetime YES NULL ENDS datetime YES NULL STATUS varchar(18) NO diff --git a/mysql-test/suite/funcs_1/r/is_triggers.result b/mysql-test/suite/funcs_1/r/is_triggers.result index ca62bd26e80..edf4a9e5032 100644 --- a/mysql-test/suite/funcs_1/r/is_triggers.result +++ b/mysql-test/suite/funcs_1/r/is_triggers.result @@ -45,8 +45,8 @@ ACTION_REFERENCE_NEW_TABLE varchar(64) YES NULL ACTION_REFERENCE_OLD_ROW varchar(3) NO ACTION_REFERENCE_NEW_ROW varchar(3) NO CREATED datetime YES NULL -SQL_MODE longtext NO NULL -DEFINER longtext NO NULL +SQL_MODE varchar(8192) NO +DEFINER varchar(77) NO CHARACTER_SET_CLIENT varchar(32) NO COLLATION_CONNECTION varchar(32) NO DATABASE_COLLATION varchar(32) NO @@ -70,8 +70,8 @@ TRIGGERS CREATE TEMPORARY TABLE `TRIGGERS` ( `ACTION_REFERENCE_OLD_ROW` varchar(3) NOT NULL DEFAULT '', `ACTION_REFERENCE_NEW_ROW` varchar(3) NOT NULL DEFAULT '', `CREATED` datetime DEFAULT NULL, - `SQL_MODE` longtext NOT NULL, - `DEFINER` longtext NOT NULL, + `SQL_MODE` varchar(8192) NOT NULL DEFAULT '', + `DEFINER` varchar(77) NOT NULL DEFAULT '', `CHARACTER_SET_CLIENT` varchar(32) NOT NULL DEFAULT '', `COLLATION_CONNECTION` varchar(32) NOT NULL DEFAULT '', `DATABASE_COLLATION` varchar(32) NOT NULL DEFAULT '' @@ -95,8 +95,8 @@ ACTION_REFERENCE_NEW_TABLE varchar(64) YES NULL ACTION_REFERENCE_OLD_ROW varchar(3) NO ACTION_REFERENCE_NEW_ROW varchar(3) NO CREATED datetime YES NULL -SQL_MODE longtext NO NULL -DEFINER longtext NO NULL +SQL_MODE varchar(8192) NO +DEFINER varchar(77) NO CHARACTER_SET_CLIENT varchar(32) NO COLLATION_CONNECTION varchar(32) NO DATABASE_COLLATION varchar(32) NO diff --git a/sql/sql_show.cc b/sql/sql_show.cc index f2b02d0107f..d732c3ab110 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -6126,7 +6126,7 @@ ST_FIELD_INFO events_fields_info[]= SKIP_OPEN_TABLE}, {"INTERVAL_FIELD", 18, MYSQL_TYPE_STRING, 0, 1, "Interval field", SKIP_OPEN_TABLE}, - {"SQL_MODE", 65535, MYSQL_TYPE_STRING, 0, 0, 0, SKIP_OPEN_TABLE}, + {"SQL_MODE", 32*256, MYSQL_TYPE_STRING, 0, 0, 0, SKIP_OPEN_TABLE}, {"STARTS", 0, MYSQL_TYPE_DATETIME, 0, 1, "Starts", SKIP_OPEN_TABLE}, {"ENDS", 0, MYSQL_TYPE_DATETIME, 0, 1, "Ends", SKIP_OPEN_TABLE}, {"STATUS", 18, MYSQL_TYPE_STRING, 0, 0, "Status", SKIP_OPEN_TABLE}, @@ -6369,8 +6369,8 @@ ST_FIELD_INFO triggers_fields_info[]= {"ACTION_REFERENCE_OLD_ROW", 3, MYSQL_TYPE_STRING, 0, 0, 0, OPEN_FULL_TABLE}, {"ACTION_REFERENCE_NEW_ROW", 3, MYSQL_TYPE_STRING, 0, 0, 0, OPEN_FULL_TABLE}, {"CREATED", 0, MYSQL_TYPE_DATETIME, 0, 1, "Created", OPEN_FULL_TABLE}, - {"SQL_MODE", 65535, MYSQL_TYPE_STRING, 0, 0, "sql_mode", OPEN_FULL_TABLE}, - {"DEFINER", 65535, MYSQL_TYPE_STRING, 0, 0, "Definer", OPEN_FULL_TABLE}, + {"SQL_MODE", 32*256, MYSQL_TYPE_STRING, 0, 0, "sql_mode", OPEN_FULL_TABLE}, + {"DEFINER", 77, MYSQL_TYPE_STRING, 0, 0, "Definer", OPEN_FULL_TABLE}, {"CHARACTER_SET_CLIENT", MY_CS_NAME_SIZE, MYSQL_TYPE_STRING, 0, 0, "character_set_client", OPEN_FULL_TABLE}, {"COLLATION_CONNECTION", MY_CS_NAME_SIZE, MYSQL_TYPE_STRING, 0, 0, From 9f31df646fd28b5ed9d9891ef8c598f0c303fdd3 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Thu, 9 Oct 2008 18:03:23 +0300 Subject: [PATCH 018/141] Bug #32124 addendum Fixed the handling of system variable retrieval in prepared statements : added a cleanup method that clears up the cache and restores the original scope of the variable (which is overwritten at fix_fields()). sql/item_func.cc: ug #32124: - preserve the requested variable scope - clean up the cache and restore the variable scope for prepared statements. sql/item_func.h: Bug #32124: preserve the requested variable scope --- sql/item_func.cc | 13 +++++++++++-- sql/item_func.h | 4 +++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/sql/item_func.cc b/sql/item_func.cc index 4cdf40e18bd..876e47e5c66 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -4800,8 +4800,8 @@ Item_func_get_system_var:: Item_func_get_system_var(sys_var *var_arg, enum_var_type var_type_arg, LEX_STRING *component_arg, const char *name_arg, size_t name_len_arg) - :var(var_arg), var_type(var_type_arg), component(*component_arg), - cache_present(0) + :var(var_arg), var_type(var_type_arg), orig_var_type(var_type_arg), + component(*component_arg), cache_present(0) { /* set_name() will allocate the name */ set_name(name_arg, name_len_arg, system_charset_info); @@ -5186,6 +5186,15 @@ bool Item_func_get_system_var::eq(const Item *item, bool binary_cmp) const } +void Item_func_get_system_var::cleanup() +{ + Item_func::cleanup(); + cache_present= NULL; + var_type= orig_var_type; + cached_strval.free(); +} + + longlong Item_func_inet_aton::val_int() { DBUG_ASSERT(fixed == 1); diff --git a/sql/item_func.h b/sql/item_func.h index 778ffd5757f..08906ae826e 100644 --- a/sql/item_func.h +++ b/sql/item_func.h @@ -1433,7 +1433,7 @@ public: class Item_func_get_system_var :public Item_func { sys_var *var; - enum_var_type var_type; + enum_var_type var_type, orig_var_type; LEX_STRING component; longlong cached_llval; double cached_dval; @@ -1468,6 +1468,8 @@ public: */ bool is_written_to_binlog(); bool eq(const Item *item, bool binary_cmp) const; + + void cleanup(); }; From feb051be817e31cac77eeda6c011855c927faf88 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Fri, 10 Oct 2008 12:52:23 +0300 Subject: [PATCH 019/141] Bug #32124 addendum #2 - fixed an unitialized memory read - fixed a compilation warning - added a suppression for FC9 x86_64 mysql-test/valgrind.supp: Bug #3214: added a suppression for FC9 x86_64 sql/item_func.cc: Bug #32124 - fixed an unitialized memory read - fixed a compilation warning --- mysql-test/valgrind.supp | 9 +++++++++ sql/item_func.cc | 8 ++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/mysql-test/valgrind.supp b/mysql-test/valgrind.supp index cb1b07c83b0..64c439314a9 100644 --- a/mysql-test/valgrind.supp +++ b/mysql-test/valgrind.supp @@ -444,6 +444,15 @@ fun:_dl_open } +{ + libc pthread_exit 8 + Memcheck:Leak + fun:malloc + fun:local_strdup + fun:_dl_map_object + fun:dl_open_worker +} + # # This is seen internally in the system libraries on 64-bit RHAS3. # diff --git a/sql/item_func.cc b/sql/item_func.cc index 876e47e5c66..185100bf125 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -4935,7 +4935,7 @@ longlong Item_func_get_system_var::val_int() { THD *thd= current_thd; - if (thd->query_id == used_query_id) + if (cache_present && thd->query_id == used_query_id) { if (cache_present & GET_SYS_VAR_CACHE_LONG) { @@ -5011,7 +5011,7 @@ String* Item_func_get_system_var::val_str(String* str) { THD *thd= current_thd; - if (thd->query_id == used_query_id) + if (cache_present && thd->query_id == used_query_id) { if (cache_present & GET_SYS_VAR_CACHE_STRING) { @@ -5091,7 +5091,7 @@ double Item_func_get_system_var::val_real() { THD *thd= current_thd; - if (thd->query_id == used_query_id) + if (cache_present && thd->query_id == used_query_id) { if (cache_present & GET_SYS_VAR_CACHE_DOUBLE) { @@ -5189,7 +5189,7 @@ bool Item_func_get_system_var::eq(const Item *item, bool binary_cmp) const void Item_func_get_system_var::cleanup() { Item_func::cleanup(); - cache_present= NULL; + cache_present= 0; var_type= orig_var_type; cached_strval.free(); } From d3ea7430152fad48cabd9efb8c80d177405dd090 Mon Sep 17 00:00:00 2001 From: Mattias Jonsson Date: Fri, 10 Oct 2008 12:01:01 +0200 Subject: [PATCH 020/141] Bug#37721: ORDER BY when WHERE contains non-partitioned index column There was actually two problems 1) when clustered pk, order by non pk index should also compare with pk as last resort to differ keys from each other 2) bug in the index search handling in ha_partition (was found when extending the test case Solution to 1 was to include the pk in key compare if clustered pk and search on other index. Solution for 2 was to remove the optimization from ordered scan to unordered scan if clustered pk. mysql-test/r/partition_innodb.result: Bug#37721: ORDER BY when WHERE contains non-partitioned index column updated test result. mysql-test/t/partition_innodb.test: Bug#37721: ORDER BY when WHERE contains non-partitioned index column Added test case for bug verification. sql/ha_partition.cc: Bug#37721: ORDER BY when WHERE contains non-partitioned index column using m_curr_key_info with both given index and PK if clustered PK. Also including PK in read_set. Added debug prints for easier verification. sql/ha_partition.h: Bug#37721: ORDER BY when WHERE contains non-partitioned index column Changed m_curr_key_info to a null terminated array with max 2 keys and a terminating null. For use with key_rec_cmp with both given index and PK. sql/key.cc: Bug#37721: ORDER BY when WHERE contains non-partitioned index column added handling of a null terminated array of keys for use in compare. --- mysql-test/r/partition_innodb.result | 65 +++++++++++++ mysql-test/t/partition_innodb.test | 40 ++++++++ sql/ha_partition.cc | 53 +++++++--- sql/ha_partition.h | 13 ++- sql/key.cc | 138 +++++++++++++++------------ 5 files changed, 234 insertions(+), 75 deletions(-) diff --git a/mysql-test/r/partition_innodb.result b/mysql-test/r/partition_innodb.result index 6e56f9023eb..c6d74238d31 100644 --- a/mysql-test/r/partition_innodb.result +++ b/mysql-test/r/partition_innodb.result @@ -1,3 +1,68 @@ +# Bug#37721, test of ORDER BY on PK and WHERE on INDEX +CREATE TABLE t1 ( +a INT, +b INT, +PRIMARY KEY (a), +INDEX (b)) +ENGINE InnoDB +PARTITION BY HASH(a) +PARTITIONS 3; +INSERT INTO t1 VALUES (0,0),(4,0),(2,0); +SELECT a FROM t1 WHERE b = 0 ORDER BY a ASC; +a +0 +2 +4 +SELECT a FROM t1 WHERE b = 0 ORDER BY a DESC; +a +4 +2 +0 +ALTER TABLE t1 DROP INDEX b; +SELECT a FROM t1 WHERE b = 0 ORDER BY a ASC; +a +0 +2 +4 +SELECT a FROM t1 WHERE b = 0 ORDER BY a DESC; +a +4 +2 +0 +DROP TABLE t1; +CREATE TABLE t1 ( +a VARCHAR(600), +b VARCHAR(600), +PRIMARY KEY (a), +INDEX (b)) +ENGINE InnoDB +PARTITION BY KEY(a) +PARTITIONS 3; +INSERT INTO t1 VALUES (concat(repeat('MySQL',100),'1'),repeat('0',257)); +INSERT INTO t1 VALUES (concat(repeat('MySQL',100),'3'),repeat('0',257)); +INSERT INTO t1 VALUES (concat(repeat('MySQL',100),'2'),repeat('0',257)); +SELECT right(a,1) FROM t1 WHERE b = repeat('0',257) ORDER BY a ASC; +right(a,1) +1 +2 +3 +SELECT right(a,1) FROM t1 WHERE b = repeat('0',257) ORDER BY a DESC; +right(a,1) +3 +2 +1 +ALTER TABLE t1 DROP INDEX b; +SELECT right(a,1) FROM t1 WHERE b = repeat('0',257) ORDER BY a ASC; +right(a,1) +1 +2 +3 +SELECT right(a,1) FROM t1 WHERE b = repeat('0',257) ORDER BY a DESC; +right(a,1) +3 +2 +1 +DROP TABLE t1; # Bug#32948 CREATE TABLE t1 (c1 INT, PRIMARY KEY (c1)) ENGINE=INNODB; CREATE TABLE t2 (c1 INT, PRIMARY KEY (c1), diff --git a/mysql-test/t/partition_innodb.test b/mysql-test/t/partition_innodb.test index 932855cc877..c29b3458d19 100644 --- a/mysql-test/t/partition_innodb.test +++ b/mysql-test/t/partition_innodb.test @@ -1,6 +1,46 @@ --source include/have_partition.inc --source include/have_innodb.inc +# +# Bug37721: ORDER BY when WHERE contains non-partitioned index column +# wrong order since it did not use pk as second compare +--echo # Bug#37721, test of ORDER BY on PK and WHERE on INDEX +CREATE TABLE t1 ( + a INT, + b INT, + PRIMARY KEY (a), + INDEX (b)) +ENGINE InnoDB +PARTITION BY HASH(a) +PARTITIONS 3; +# This will give the middle partition the highest value +INSERT INTO t1 VALUES (0,0),(4,0),(2,0); +SELECT a FROM t1 WHERE b = 0 ORDER BY a ASC; +SELECT a FROM t1 WHERE b = 0 ORDER BY a DESC; +ALTER TABLE t1 DROP INDEX b; +SELECT a FROM t1 WHERE b = 0 ORDER BY a ASC; +SELECT a FROM t1 WHERE b = 0 ORDER BY a DESC; +DROP TABLE t1; +CREATE TABLE t1 ( + a VARCHAR(600), + b VARCHAR(600), + PRIMARY KEY (a), + INDEX (b)) +ENGINE InnoDB +PARTITION BY KEY(a) +PARTITIONS 3; +# This will give the middle partition the highest value +INSERT INTO t1 VALUES (concat(repeat('MySQL',100),'1'),repeat('0',257)); +INSERT INTO t1 VALUES (concat(repeat('MySQL',100),'3'),repeat('0',257)); +INSERT INTO t1 VALUES (concat(repeat('MySQL',100),'2'),repeat('0',257)); +SELECT right(a,1) FROM t1 WHERE b = repeat('0',257) ORDER BY a ASC; +SELECT right(a,1) FROM t1 WHERE b = repeat('0',257) ORDER BY a DESC; +ALTER TABLE t1 DROP INDEX b; +SELECT right(a,1) FROM t1 WHERE b = repeat('0',257) ORDER BY a ASC; +SELECT right(a,1) FROM t1 WHERE b = repeat('0',257) ORDER BY a DESC; +DROP TABLE t1; + +# # Bug#32948 - FKs allowed to reference partitioned table # -- echo # Bug#32948 diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc index 14e321218ca..bfc672409d0 100644 --- a/sql/ha_partition.cc +++ b/sql/ha_partition.cc @@ -239,7 +239,8 @@ void ha_partition::init_handler_variables() m_rec_length= 0; m_last_part= 0; m_rec0= 0; - m_curr_key_info= 0; + m_curr_key_info[0]= NULL; + m_curr_key_info[1]= NULL; /* this allows blackhole to work properly */ @@ -3604,11 +3605,24 @@ int ha_partition::index_init(uint inx, bool sorted) handler **file; DBUG_ENTER("ha_partition::index_init"); + DBUG_PRINT("info", ("inx %u sorted %u", inx, sorted)); active_index= inx; m_part_spec.start_part= NO_CURRENT_PART_ID; m_start_key.length= 0; m_ordered= sorted; - m_curr_key_info= table->key_info+inx; + m_curr_key_info[0]= table->key_info+inx; + if (m_pkey_is_clustered && table->s->primary_key != MAX_KEY) + { + /* + if PK is clustered, then the key cmp must use the pk to + differentiate between equal key in given index. + */ + DBUG_PRINT("info", ("Clustered pk, using pk as secondary cmp")); + m_curr_key_info[1]= table->key_info+table->s->primary_key; + m_curr_key_info[2]= NULL; + } + else + m_curr_key_info[1]= NULL; /* Some handlers only read fields as specified by the bitmap for the read set. For partitioned handlers we always require that the @@ -3633,9 +3647,13 @@ int ha_partition::index_init(uint inx, bool sorted) TODO: handle COUNT(*) queries via unordered scan. */ uint i; - for (i= 0; i < m_curr_key_info->key_parts; i++) - bitmap_set_bit(table->read_set, - m_curr_key_info->key_part[i].field->field_index); + KEY **key_info= m_curr_key_info; + do + { + for (i= 0; i < (*key_info)->key_parts; i++) + bitmap_set_bit(table->read_set, + (*key_info)->key_part[i].field->field_index); + } while (*(++key_info)); } file= m_file; do @@ -3692,10 +3710,10 @@ int ha_partition::index_end() Read one record in an index scan and start an index scan SYNOPSIS - index_read() + index_read_map() buf Read row in MySQL Row Format key Key parts in consecutive order - key_len Total length of key parts + keypart_map Which part of key is used find_flag What type of key condition is used RETURN VALUE @@ -3703,12 +3721,12 @@ int ha_partition::index_end() 0 Success DESCRIPTION - index_read starts a new index scan using a start key. The MySQL Server + index_read_map starts a new index scan using a start key. The MySQL Server will check the end key on its own. Thus to function properly the partitioned handler need to ensure that it delivers records in the sort order of the MySQL Server. - index_read can be restarted without calling index_end on the previous - index scan and without calling index_init. In this case the index_read + index_read_map can be restarted without calling index_end on the previous + index scan and without calling index_init. In this case the index_read_map is on the same index as the previous index_scan. This is particularly used in conjuntion with multi read ranges. */ @@ -3765,11 +3783,15 @@ int ha_partition::common_index_read(uchar *buf, bool have_start_key) DBUG_ENTER("ha_partition::common_index_read"); LINT_INIT(key_len); /* used if have_start_key==TRUE */ + DBUG_PRINT("info", ("m_ordered %u m_ordered_scan_ong %u have_start_key %u", + m_ordered, m_ordered_scan_ongoing, have_start_key)); + if (have_start_key) { m_start_key.length= key_len= calculate_key_len(table, active_index, m_start_key.key, m_start_key.keypart_map); + DBUG_ASSERT(key_len); } if ((error= partition_scan_set_up(buf, have_start_key))) { @@ -3784,9 +3806,12 @@ int ha_partition::common_index_read(uchar *buf, bool have_start_key) reverse_order= TRUE; m_ordered_scan_ongoing= TRUE; } + DBUG_PRINT("info", ("m_ordered %u m_o_scan_ong %u have_start_key %u", + m_ordered, m_ordered_scan_ongoing, have_start_key)); if (!m_ordered_scan_ongoing || (have_start_key && m_start_key.flag == HA_READ_KEY_EXACT && - (key_len >= m_curr_key_info->key_length || key_len == 0))) + !m_pkey_is_clustered && + key_len >= m_curr_key_info[0]->key_length)) { /* We use unordered index scan either when read_range is used and flag @@ -3799,6 +3824,8 @@ int ha_partition::common_index_read(uchar *buf, bool have_start_key) Need to set unordered scan ongoing since we can come here even when it isn't set. */ + DBUG_PRINT("info", ("key_len %lu (%lu), doing unordered scan", + key_len, m_curr_key_info[0]->key_length)); m_ordered_scan_ongoing= FALSE; error= handle_unordered_scan_next_partition(buf); } @@ -3900,7 +3927,7 @@ int ha_partition::common_first_last(uchar *buf) Read last using key SYNOPSIS - index_read_last() + index_read_last_map() buf Read row in MySQL Row Format key Key keypart_map Which part of key is used @@ -4057,7 +4084,7 @@ int ha_partition::read_range_first(const key_range *start_key, (end_key->flag == HA_READ_AFTER_KEY) ? -1 : 0); } - range_key_part= m_curr_key_info->key_part; + range_key_part= m_curr_key_info[0]->key_part; if (start_key) m_start_key= *start_key; else diff --git a/sql/ha_partition.h b/sql/ha_partition.h index 685f057dfce..6e52106dfa5 100644 --- a/sql/ha_partition.h +++ b/sql/ha_partition.h @@ -74,9 +74,16 @@ private: handler **m_added_file; // Added parts kept for errors partition_info *m_part_info; // local reference to partition Field **m_part_field_array; // Part field array locally to save acc - uchar *m_ordered_rec_buffer; // Row and key buffer for ord. idx scan - KEY *m_curr_key_info; // Current index - uchar *m_rec0; // table->record[0] + uchar *m_ordered_rec_buffer; // Row and key buffer for ord. idx scan + /* + Current index. + When used in key_rec_cmp: If clustered pk, index compare + must compare pk if given index is same for two rows. + So normally m_curr_key_info[0]= current index and m_curr_key[1]= NULL, + and if clustered pk, [0]= current index, [1]= pk, [2]= NULL + */ + KEY *m_curr_key_info[3]; // Current index + uchar *m_rec0; // table->record[0] QUEUE m_queue; // Prio queue used by sorted read /* Since the partition handler is a handler on top of other handlers, it diff --git a/sql/key.cc b/sql/key.cc index 47e5c5ebdd7..5b2ae8029dd 100644 --- a/sql/key.cc +++ b/sql/key.cc @@ -448,84 +448,104 @@ int key_cmp(KEY_PART_INFO *key_part, const uchar *key, uint key_length) } -/* - Compare two records in index order - SYNOPSIS - key_rec_cmp() - key Index information - rec0 Pointer to table->record[0] - first_rec Pointer to record compare with - second_rec Pointer to record compare against first_rec +/** + Compare two records in index order. - DESCRIPTION - This method is set-up such that it can be called directly from the - priority queue and it is attempted to be optimised as much as possible - since this will be called O(N * log N) times while performing a merge - sort in various places in the code. + This method is set-up such that it can be called directly from the + priority queue and it is attempted to be optimised as much as possible + since this will be called O(N * log N) times while performing a merge + sort in various places in the code. - We retrieve the pointer to table->record[0] using the fact that key_parts - have an offset making it possible to calculate the start of the record. - We need to get the diff to the compared record since none of the records - being compared are stored in table->record[0]. + We retrieve the pointer to table->record[0] using the fact that key_parts + have an offset making it possible to calculate the start of the record. + We need to get the diff to the compared record since none of the records + being compared are stored in table->record[0]. - We first check for NULL values, if there are no NULL values we use - a compare method that gets two field pointers and a max length - and return the result of the comparison. + We first check for NULL values, if there are no NULL values we use + a compare method that gets two field pointers and a max length + and return the result of the comparison. + + key is a null terminated array, since in some cases (clustered + primary key) it must compare more than one index. + + @param key Null terminated array of index information + @param first_rec Pointer to record compare with + @param second_rec Pointer to record compare against first_rec + + @return Return value is SIGN(first_rec - second_rec) + @retval 0 Keys are equal + @retval -1 second_rec is greater than first_rec + @retval +1 first_rec is greater than second_rec */ -int key_rec_cmp(void *key, uchar *first_rec, uchar *second_rec) +int key_rec_cmp(void *key_p, uchar *first_rec, uchar *second_rec) { - KEY *key_info= (KEY*)key; - uint key_parts= key_info->key_parts, i= 0; + KEY **key= (KEY**) key_p; + KEY *key_info= *(key++); // Start with first key + uint key_parts, key_part_num; KEY_PART_INFO *key_part= key_info->key_part; uchar *rec0= key_part->field->ptr - key_part->offset; my_ptrdiff_t first_diff= first_rec - rec0, sec_diff= second_rec - rec0; int result= 0; + Field *field; DBUG_ENTER("key_rec_cmp"); + /* loop over all given keys */ do { - Field *field= key_part->field; + key_parts= key_info->key_parts; + key_part= key_info->key_part; + key_part_num= 0; - if (key_part->null_bit) + /* loop over every key part */ + do { - /* The key_part can contain NULL values */ - bool first_is_null= field->is_null_in_record_with_offset(first_diff); - bool sec_is_null= field->is_null_in_record_with_offset(sec_diff); - /* - NULL is smaller then everything so if first is NULL and the other - not then we know that we should return -1 and for the opposite - we should return +1. If both are NULL then we call it equality - although it is a strange form of equality, we have equally little - information of the real value. - */ - if (!first_is_null) + field= key_part->field; + + if (key_part->null_bit) { - if (!sec_is_null) - ; /* Fall through, no NULL fields */ - else + /* The key_part can contain NULL values */ + bool first_is_null= field->is_null_in_record_with_offset(first_diff); + bool sec_is_null= field->is_null_in_record_with_offset(sec_diff); + /* + NULL is smaller then everything so if first is NULL and the other + not then we know that we should return -1 and for the opposite + we should return +1. If both are NULL then we call it equality + although it is a strange form of equality, we have equally little + information of the real value. + */ + if (!first_is_null) { - DBUG_RETURN(+1); + if (!sec_is_null) + ; /* Fall through, no NULL fields */ + else + { + DBUG_RETURN(+1); + } } + else if (!sec_is_null) + { + DBUG_RETURN(-1); + } + else + goto next_loop; /* Both were NULL */ } - else if (!sec_is_null) - { - DBUG_RETURN(-1); - } - else - goto next_loop; /* Both were NULL */ - } - /* - No null values in the fields - We use the virtual method cmp_max with a max length parameter. - For most field types this translates into a cmp without - max length. The exceptions are the BLOB and VARCHAR field types - that take the max length into account. - */ - result= field->cmp_max(field->ptr+first_diff, field->ptr+sec_diff, - key_part->length); + /* + No null values in the fields + We use the virtual method cmp_max with a max length parameter. + For most field types this translates into a cmp without + max length. The exceptions are the BLOB and VARCHAR field types + that take the max length into account. + */ + if ((result= field->cmp_max(field->ptr+first_diff, field->ptr+sec_diff, + key_part->length))) + DBUG_RETURN(result); next_loop: - key_part++; - } while (!result && ++i < key_parts); - DBUG_RETURN(result); + key_part++; + key_part_num++; + } while (key_part_num < key_parts); /* this key is done */ + + key_info= *(key++); + } while (key_info); /* no more keys to test */ + DBUG_RETURN(0); } From 8bfbcbd98172ac936ff13ef97f2662cd6bc9a2c7 Mon Sep 17 00:00:00 2001 From: Gleb Shchepa Date: Fri, 10 Oct 2008 15:13:12 +0500 Subject: [PATCH 021/141] Bug #39283: Date returned as VARBINARY to client for queries with COALESCE and JOIN The server returned to a client the VARBINARY column type instead of the DATE type for a result of the COALESCE, IFNULL, IF, CASE, GREATEST or LEAST functions if that result was filesorted in an anonymous temporary table during the query execution. For example: SELECT COALESCE(t1.date1, t2.date2) AS result FROM t1 JOIN t2 ON t1.id = t2.id ORDER BY result; To create a column of various date/time types in a temporary table the create_tmp_field_from_item() function uses the Item::tmp_table_field_from_field_type() method call. However, fields of the MYSQL_TYPE_NEWDATE type were missed there, and the VARBINARY columns were created by default. Necessary condition has been added. mysql-test/r/metadata.result: Added test case for bug #39283. mysql-test/t/metadata.test: Added test case for bug #39283. sql/sql_select.cc: Bug #39283: Date returned as VARBINARY to client for queries with COALESCE and JOIN To create a column of various date/time types in a temporary table the create_tmp_field_from_item() function uses the Item::tmp_table_field_from_field_type() method call. However, fields of the MYSQL_TYPE_NEWDATE type were missed there, and the VARBINARY columns were created by default. Necessary condition has been added. --- mysql-test/r/metadata.result | 17 +++++++++++++++++ mysql-test/t/metadata.test | 17 +++++++++++++++++ sql/sql_select.cc | 1 + 3 files changed, 35 insertions(+) diff --git a/mysql-test/r/metadata.result b/mysql-test/r/metadata.result index a4b6fd2ce8f..5aad5874ffc 100644 --- a/mysql-test/r/metadata.result +++ b/mysql-test/r/metadata.result @@ -181,4 +181,21 @@ c1 c2 3 3 DROP VIEW v1,v2; DROP TABLE t1,t2; +CREATE TABLE t1 (i INT, d DATE); +INSERT INTO t1 VALUES (1, '2008-01-01'), (2, '2008-01-02'), (3, '2008-01-03'); +SELECT COALESCE(d, d), IFNULL(d, d), IF(i, d, d), +CASE i WHEN i THEN d ELSE d END, GREATEST(d, d), LEAST(d, d) +FROM t1 ORDER BY RAND(); +Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr +2008-01-01 2008-01-01 2008-01-01 2008-01-01 2008-01-01 2008-01-01 +2008-01-02 2008-01-02 2008-01-02 2008-01-02 2008-01-02 2008-01-02 +2008-01-03 2008-01-03 2008-01-03 2008-01-03 2008-01-03 2008-01-03 +COALESCE(d, d) IFNULL(d, d) IF(i, d, d) CASE i WHEN i THEN d ELSE d END GREATEST(d, d) LEAST(d, d) +def CASE i WHEN i THEN d ELSE d END CASE i WHEN i THEN d ELSE d END 10 10 10 Y 128 0 63 +def COALESCE(d, d) COALESCE(d, d) 10 10 10 Y 128 0 63 +def GREATEST(d, d) GREATEST(d, d) 10 10 10 Y 128 0 63 +def IF(i, d, d) IF(i, d, d) 10 10 10 Y 128 0 63 +def IFNULL(d, d) IFNULL(d, d) 10 10 10 Y 128 0 63 +def LEAST(d, d) LEAST(d, d) 10 10 10 Y 128 0 63 +DROP TABLE t1; End of 5.0 tests diff --git a/mysql-test/t/metadata.test b/mysql-test/t/metadata.test index 65c062399b7..a10767579fb 100644 --- a/mysql-test/t/metadata.test +++ b/mysql-test/t/metadata.test @@ -112,4 +112,21 @@ SELECT v1.c1, v2.c2 FROM v1 JOIN v2 ON c1=c2 GROUP BY v1.c1 ORDER BY v2.c2; DROP VIEW v1,v2; DROP TABLE t1,t2; +# +# Bug #39283: Date returned as VARBINARY to client for queries +# with COALESCE and JOIN +# + +CREATE TABLE t1 (i INT, d DATE); +INSERT INTO t1 VALUES (1, '2008-01-01'), (2, '2008-01-02'), (3, '2008-01-03'); + +--enable_metadata +--sorted_result +SELECT COALESCE(d, d), IFNULL(d, d), IF(i, d, d), + CASE i WHEN i THEN d ELSE d END, GREATEST(d, d), LEAST(d, d) + FROM t1 ORDER BY RAND(); # force filesort +--disable_metadata + +DROP TABLE t1; + --echo End of 5.0 tests diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 6928effc1a5..7ff069f0996 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -8964,6 +8964,7 @@ static Field *create_tmp_field_from_item(THD *thd, Item *item, TABLE *table, */ if ((type= item->field_type()) == MYSQL_TYPE_DATETIME || type == MYSQL_TYPE_TIME || type == MYSQL_TYPE_DATE || + type == MYSQL_TYPE_NEWDATE || type == MYSQL_TYPE_TIMESTAMP || type == MYSQL_TYPE_GEOMETRY) new_field= item->tmp_table_field_from_field_type(table); /* From 097b60bd06e8c9dd741df30389849a17971d5052 Mon Sep 17 00:00:00 2001 From: Gleb Shchepa Date: Fri, 10 Oct 2008 15:27:58 +0500 Subject: [PATCH 022/141] Bug #37894: Assertion in init_read_record_seq in handler.h line 1444 Select with a "NULL NOT IN" condition containing complex subselect from the same table as in the outer select failed with an assertion. The failure was caused by a concatenation of circumstances: 1) an inner select was optimized by make_join_statistics to use the QUICK_RANGE_SELECT access method (that implies an index scan of the table); 2) a subselect was independent (constant) from the outer select; 3) a condition was pushed down into inner select. During the evaluation of a constant IN expression an optimizer temporary changed the access method from index scan to table scan, but an engine handler was already initialized for index access by make_join_statistics. That caused an assertion. Unnecessary index initialization has been removed from the QUICK_RANGE_SELECT::init method (QUICK_RANGE_SELECT::reset reinvokes this initialization). mysql-test/r/subselect3.result: Added test case for bug #37894. mysql-test/t/subselect3.test: Added test case for bug #37894. sql/opt_range.cc: Bug #37894: Assertion in init_read_record_seq in handler.h line 1444 Unnecessary index initialization has been removed from the QUICK_RANGE_SELECT::init method (QUICK_RANGE_SELECT::reset reinvokes this initialization). --- mysql-test/r/subselect3.result | 16 ++++++++++++++++ mysql-test/t/subselect3.test | 22 ++++++++++++++++++++++ sql/opt_range.cc | 2 +- 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/subselect3.result b/mysql-test/r/subselect3.result index 5221fa09744..97479418bec 100644 --- a/mysql-test/r/subselect3.result +++ b/mysql-test/r/subselect3.result @@ -779,4 +779,20 @@ SELECT 1 FROM t1 WHERE t1.a NOT IN (SELECT 1 FROM t1, t2 WHERE 0); 1 1 DROP TABLE t1, t2; +CREATE TABLE t1 ( +pk INT PRIMARY KEY, +int_key INT, +varchar_key VARCHAR(5) UNIQUE, +varchar_nokey VARCHAR(5) +); +INSERT INTO t1 VALUES (9, 7,NULL,NULL), (10,8,'p' ,'p'); +SELECT varchar_nokey +FROM t1 +WHERE NULL NOT IN ( +SELECT INNR.pk FROM t1 AS INNR2 +LEFT JOIN t1 AS INNR ON ( INNR2.int_key = INNR.int_key ) +WHERE INNR.varchar_key > 'n{' +); +varchar_nokey +DROP TABLE t1; End of 5.0 tests diff --git a/mysql-test/t/subselect3.test b/mysql-test/t/subselect3.test index d7bb1f7186a..7e9aa1554c0 100644 --- a/mysql-test/t/subselect3.test +++ b/mysql-test/t/subselect3.test @@ -618,4 +618,26 @@ SELECT 1 FROM t1 WHERE t1.a NOT IN (SELECT 1 FROM t1, t2 WHERE 0); DROP TABLE t1, t2; +# +# Bug #37894: Assertion in init_read_record_seq in handler.h line 1444 +# + +CREATE TABLE t1 ( + pk INT PRIMARY KEY, + int_key INT, + varchar_key VARCHAR(5) UNIQUE, + varchar_nokey VARCHAR(5) +); +INSERT INTO t1 VALUES (9, 7,NULL,NULL), (10,8,'p' ,'p'); + +SELECT varchar_nokey +FROM t1 +WHERE NULL NOT IN ( + SELECT INNR.pk FROM t1 AS INNR2 + LEFT JOIN t1 AS INNR ON ( INNR2.int_key = INNR.int_key ) + WHERE INNR.varchar_key > 'n{' +); + +DROP TABLE t1; + --echo End of 5.0 tests diff --git a/sql/opt_range.cc b/sql/opt_range.cc index 2ae86b876d2..204ebdb6f33 100644 --- a/sql/opt_range.cc +++ b/sql/opt_range.cc @@ -1015,7 +1015,7 @@ int QUICK_RANGE_SELECT::init() if (file->inited != handler::NONE) file->ha_index_or_rnd_end(); - DBUG_RETURN(error= file->ha_index_init(index)); + DBUG_RETURN(FALSE); } From 1ad9b71193d1d13f591552070478405563ecfc41 Mon Sep 17 00:00:00 2001 From: Kristofer Pettersson Date: Fri, 10 Oct 2008 13:00:27 +0200 Subject: [PATCH 023/141] Bug#39451 Debug builds broken with Sun Studio compiler Debug builds of MySQL 5.1, 6.0 with Sun Studio 12 broke because of use of gcc specific feature. The fix is to replace __FUNCTION__ with the corresponding character string --- sql/log.cc | 2 +- sql/sql_class.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/log.cc b/sql/log.cc index 7775fb44b65..7401737b6e4 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -3779,7 +3779,7 @@ THD::binlog_set_pending_rows_event(Rows_log_event* ev) int MYSQL_BIN_LOG::remove_pending_rows_event(THD *thd) { - DBUG_ENTER(__FUNCTION__); + DBUG_ENTER("MYSQL_BIN_LOG::remove_pending_rows_event"); binlog_trx_data *const trx_data= (binlog_trx_data*) thd_get_ha_data(thd, binlog_hton); diff --git a/sql/sql_class.cc b/sql/sql_class.cc index c4a4312ad85..68972c9cf97 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -3513,7 +3513,7 @@ int THD::binlog_delete_row(TABLE* table, bool is_trans, int THD::binlog_remove_pending_rows_event(bool clear_maps) { - DBUG_ENTER(__FUNCTION__); + DBUG_ENTER("THD::binlog_remove_pending_rows_event"); if (!mysql_bin_log.is_open()) DBUG_RETURN(0); From c6115db4c3a693dfed25e8e60e8ff5d06ba72756 Mon Sep 17 00:00:00 2001 From: Mattias Jonsson Date: Fri, 10 Oct 2008 20:12:38 +0200 Subject: [PATCH 024/141] Bug#39434: ALTER TABLE CHECK/OPTIMIZE/ANALYZE PARTITION work on non-partitioned table Problem was that partitioning specific commands was accepted for non partitioned tables and treated like ANALYZE/CHECK/OPTIMIZE/REPAIR TABLE, after bug-20129 was fixed, which changed the code path from mysql_alter_table to mysql_admin_table. Solution was to check if the table was partitioned before trying to execute the admin command mysql-test/r/partition_mgm_err.result: Bug#39434: ALTER TABLE CHECK/OPTIMIZE/ANALYZE PARTITION work on non-partitioned table Updated test result mysql-test/t/partition_mgm_err.test: Bug#39434: ALTER TABLE CHECK/OPTIMIZE/ANALYZE PARTITION work on non-partitioned table Updated test case sql/ha_partition.cc: Bug#39434: ALTER TABLE CHECK/OPTIMIZE/ANALYZE PARTITION work on non-partitioned table Simplified the code by using ALTER_ADMIN_PARTITION for all commands that go through mysql_admin_tables and is set for partitioning specific commands that. sql/ha_partition.h: Bug#39434: ALTER TABLE CHECK/OPTIMIZE/ANALYZE PARTITION work on non-partitioned table Simplified the code by using ALTER_ADMIN_PARTITION for all commands that go through mysql_admin_tables and is set for partitioning specific commands that. sql/sql_lex.h: Bug#39434: ALTER TABLE CHECK/OPTIMIZE/ANALYZE PARTITION work on non-partitioned table Simplified the code by using ALTER_ADMIN_PARTITION for all commands that go through mysql_admin_tables and is set for partitioning specific commands that. Removed ALTER_ANALYZE/CHECK/OPTIMIZE/REPAIR_PARTITION and added ALTER_ADMIN_PARTITION instead. sql/sql_partition.cc: Bug#39434: ALTER TABLE CHECK/OPTIMIZE/ANALYZE PARTITION work on non-partitioned table Simplified the code by using ALTER_ADMIN_PARTITION for all commands that go through mysql_admin_tables and is set for partitioning specific commands that. Removed ALTER_ANALYZE/CHECK/OPTIMIZE/REPAIR_PARTITION and added ALTER_ADMIN_PARTITION instead. sql/sql_table.cc: Bug#39434: ALTER TABLE CHECK/OPTIMIZE/ANALYZE PARTITION work on non-partitioned table Give error and return if trying partitioning admin command on non partitioned table. Simplified the code by using ALTER_ADMIN_PARTITION for all commands that go through mysql_admin_tables and is set for partitioning specific commands that. Removed ALTER_ANALYZE/CHECK/OPTIMIZE/REPAIR_PARTITION and added ALTER_ADMIN_PARTITION instead. sql/sql_yacc.yy: Bug#39434: ALTER TABLE CHECK/OPTIMIZE/ANALYZE PARTITION work on non-partitioned table Simplified the code by using ALTER_ADMIN_PARTITION for all commands that go through mysql_admin_tables and is set for partitioning specific commands that. Removed ALTER_ANALYZE/CHECK/OPTIMIZE/REPAIR_PARTITION and added ALTER_ADMIN_PARTITION instead. --- mysql-test/r/partition_mgm_err.result | 8 ++++++++ mysql-test/t/partition_mgm_err.test | 12 ++++++++++++ sql/ha_partition.cc | 28 ++++++++------------------- sql/ha_partition.h | 3 +-- sql/sql_lex.h | 9 +++------ sql/sql_partition.cc | 26 ++++++------------------- sql/sql_table.cc | 12 +++++++----- sql/sql_yacc.yy | 8 ++++---- 8 files changed, 49 insertions(+), 57 deletions(-) diff --git a/mysql-test/r/partition_mgm_err.result b/mysql-test/r/partition_mgm_err.result index 764f6fb5632..adfeaa61e67 100644 --- a/mysql-test/r/partition_mgm_err.result +++ b/mysql-test/r/partition_mgm_err.result @@ -84,6 +84,14 @@ ALTER TABLE t1 DROP PARTITION x1; ERROR HY000: Partition management on a not partitioned table is not possible ALTER TABLE t1 COALESCE PARTITION 1; ERROR HY000: Partition management on a not partitioned table is not possible +ALTER TABLE t1 ANALYZE PARTITION p1; +ERROR HY000: Partition management on a not partitioned table is not possible +ALTER TABLE t1 CHECK PARTITION p1; +ERROR HY000: Partition management on a not partitioned table is not possible +ALTER TABLE t1 OPTIMIZE PARTITION p1; +ERROR HY000: Partition management on a not partitioned table is not possible +ALTER TABLE t1 REPAIR PARTITION p1; +ERROR HY000: Partition management on a not partitioned table is not possible DROP TABLE t1; CREATE TABLE t1 (a int) PARTITION BY KEY (a) diff --git a/mysql-test/t/partition_mgm_err.test b/mysql-test/t/partition_mgm_err.test index 8573fd59f2f..0f8b8d3cd90 100644 --- a/mysql-test/t/partition_mgm_err.test +++ b/mysql-test/t/partition_mgm_err.test @@ -125,6 +125,18 @@ ALTER TABLE t1 DROP PARTITION x1; --error ER_PARTITION_MGMT_ON_NONPARTITIONED ALTER TABLE t1 COALESCE PARTITION 1; +--error ER_PARTITION_MGMT_ON_NONPARTITIONED +ALTER TABLE t1 ANALYZE PARTITION p1; + +--error ER_PARTITION_MGMT_ON_NONPARTITIONED +ALTER TABLE t1 CHECK PARTITION p1; + +--error ER_PARTITION_MGMT_ON_NONPARTITIONED +ALTER TABLE t1 OPTIMIZE PARTITION p1; + +--error ER_PARTITION_MGMT_ON_NONPARTITIONED +ALTER TABLE t1 REPAIR PARTITION p1; + DROP TABLE t1; CREATE TABLE t1 (a int) diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc index 14e321218ca..b1ae2d67b95 100644 --- a/sql/ha_partition.cc +++ b/sql/ha_partition.cc @@ -876,10 +876,7 @@ int ha_partition::optimize(THD *thd, HA_CHECK_OPT *check_opt) { DBUG_ENTER("ha_partition::optimize"); - DBUG_RETURN(handle_opt_partitions(thd, check_opt, - OPTIMIZE_PARTS, - thd->lex->alter_info.flags & - ALTER_OPTIMIZE_PARTITION ? FALSE : TRUE)); + DBUG_RETURN(handle_opt_partitions(thd, check_opt, OPTIMIZE_PARTS)); } @@ -900,10 +897,7 @@ int ha_partition::analyze(THD *thd, HA_CHECK_OPT *check_opt) { DBUG_ENTER("ha_partition::analyze"); - DBUG_RETURN(handle_opt_partitions(thd, check_opt, - ANALYZE_PARTS, - thd->lex->alter_info.flags & - ALTER_ANALYZE_PARTITION ? FALSE : TRUE)); + DBUG_RETURN(handle_opt_partitions(thd, check_opt, ANALYZE_PARTS)); } @@ -924,10 +918,7 @@ int ha_partition::check(THD *thd, HA_CHECK_OPT *check_opt) { DBUG_ENTER("ha_partition::check"); - DBUG_RETURN(handle_opt_partitions(thd, check_opt, - CHECK_PARTS, - thd->lex->alter_info.flags & - ALTER_CHECK_PARTITION ? FALSE : TRUE)); + DBUG_RETURN(handle_opt_partitions(thd, check_opt, CHECK_PARTS)); } @@ -948,12 +939,10 @@ int ha_partition::repair(THD *thd, HA_CHECK_OPT *check_opt) { DBUG_ENTER("ha_partition::repair"); - DBUG_RETURN(handle_opt_partitions(thd, check_opt, - REPAIR_PARTS, - thd->lex->alter_info.flags & - ALTER_REPAIR_PARTITION ? FALSE : TRUE)); + DBUG_RETURN(handle_opt_partitions(thd, check_opt, REPAIR_PARTS)); } + /* Handle optimize/analyze/check/repair of one partition @@ -1056,7 +1045,6 @@ static bool print_admin_msg(THD* thd, const char* msg_type, thd Thread object check_opt Options flag Optimize/Analyze/Check/Repair flag - all_parts All partitions or only a subset RETURN VALUE >0 Failure @@ -1064,7 +1052,7 @@ static bool print_admin_msg(THD* thd, const char* msg_type, */ int ha_partition::handle_opt_partitions(THD *thd, HA_CHECK_OPT *check_opt, - uint flag, bool all_parts) + uint flag) { List_iterator part_it(m_part_info->partitions); uint no_parts= m_part_info->no_parts; @@ -1072,7 +1060,7 @@ int ha_partition::handle_opt_partitions(THD *thd, HA_CHECK_OPT *check_opt, uint i= 0; int error; DBUG_ENTER("ha_partition::handle_opt_partitions"); - DBUG_PRINT("enter", ("all_parts %u, flag= %u", all_parts, flag)); + DBUG_PRINT("enter", ("flag= %u", flag)); do { @@ -1081,7 +1069,7 @@ int ha_partition::handle_opt_partitions(THD *thd, HA_CHECK_OPT *check_opt, when ALTER TABLE PARTITION ... it should only do named partitions, otherwise all partitions */ - if (all_parts || + if (!(thd->lex->alter_info.flags & ALTER_ADMIN_PARTITION) || part_elem->part_state == PART_CHANGED) { if (m_is_sub_partitioned) diff --git a/sql/ha_partition.h b/sql/ha_partition.h index 685f057dfce..d36e993d399 100644 --- a/sql/ha_partition.h +++ b/sql/ha_partition.h @@ -988,8 +988,7 @@ public: virtual bool is_crashed() const; private: - int handle_opt_partitions(THD *thd, HA_CHECK_OPT *check_opt, - uint flags, bool all_parts); + int handle_opt_partitions(THD *thd, HA_CHECK_OPT *check_opt, uint flags); public: /* ------------------------------------------------------------------------- diff --git a/sql/sql_lex.h b/sql/sql_lex.h index 7674b5c7ac2..eeff480bcd8 100644 --- a/sql/sql_lex.h +++ b/sql/sql_lex.h @@ -842,15 +842,12 @@ inline bool st_select_lex_unit::is_union () #define ALTER_COALESCE_PARTITION (1L << 15) #define ALTER_REORGANIZE_PARTITION (1L << 16) #define ALTER_PARTITION (1L << 17) -#define ALTER_OPTIMIZE_PARTITION (1L << 18) +#define ALTER_ADMIN_PARTITION (1L << 18) #define ALTER_TABLE_REORG (1L << 19) #define ALTER_REBUILD_PARTITION (1L << 20) #define ALTER_ALL_PARTITION (1L << 21) -#define ALTER_ANALYZE_PARTITION (1L << 22) -#define ALTER_CHECK_PARTITION (1L << 23) -#define ALTER_REPAIR_PARTITION (1L << 24) -#define ALTER_REMOVE_PARTITIONING (1L << 25) -#define ALTER_FOREIGN_KEY (1L << 26) +#define ALTER_REMOVE_PARTITIONING (1L << 22) +#define ALTER_FOREIGN_KEY (1L << 23) enum enum_alter_table_change_level { diff --git a/sql/sql_partition.cc b/sql/sql_partition.cc index a45664a9767..4691d24285b 100644 --- a/sql/sql_partition.cc +++ b/sql/sql_partition.cc @@ -4195,12 +4195,13 @@ uint prep_alter_part_table(THD *thd, TABLE *table, Alter_info *alter_info, !(thd->work_part_info= thd->lex->part_info->get_clone())) DBUG_RETURN(TRUE); + /* ALTER_ADMIN_PARTITION is handled in mysql_admin_table */ + DBUG_ASSERT(!(alter_info->flags & ALTER_ADMIN_PARTITION)); + if (alter_info->flags & (ALTER_ADD_PARTITION | ALTER_DROP_PARTITION | ALTER_COALESCE_PARTITION | ALTER_REORGANIZE_PARTITION | - ALTER_TABLE_REORG | ALTER_OPTIMIZE_PARTITION | - ALTER_CHECK_PARTITION | ALTER_ANALYZE_PARTITION | - ALTER_REPAIR_PARTITION | ALTER_REBUILD_PARTITION)) + ALTER_TABLE_REORG | ALTER_REBUILD_PARTITION)) { partition_info *tab_part_info= table->part_info; partition_info *alt_part_info= thd->work_part_info; @@ -4592,11 +4593,7 @@ that are reorganised. } tab_part_info->no_parts-= no_parts_dropped; } - else if ((alter_info->flags & ALTER_OPTIMIZE_PARTITION) || - (alter_info->flags & ALTER_ANALYZE_PARTITION) || - (alter_info->flags & ALTER_CHECK_PARTITION) || - (alter_info->flags & ALTER_REPAIR_PARTITION) || - (alter_info->flags & ALTER_REBUILD_PARTITION)) + else if (alter_info->flags & ALTER_REBUILD_PARTITION) { uint no_parts_found; uint no_parts_opt= alter_info->partition_names.elements; @@ -4604,18 +4601,7 @@ that are reorganised. if (no_parts_found != no_parts_opt && (!(alter_info->flags & ALTER_ALL_PARTITION))) { - const char *ptr; - if (alter_info->flags & ALTER_OPTIMIZE_PARTITION) - ptr= "OPTIMIZE"; - else if (alter_info->flags & ALTER_ANALYZE_PARTITION) - ptr= "ANALYZE"; - else if (alter_info->flags & ALTER_CHECK_PARTITION) - ptr= "CHECK"; - else if (alter_info->flags & ALTER_REPAIR_PARTITION) - ptr= "REPAIR"; - else - ptr= "REBUILD"; - my_error(ER_DROP_PARTITION_NON_EXISTENT, MYF(0), ptr); + my_error(ER_DROP_PARTITION_NON_EXISTENT, MYF(0), "REBUILD"); DBUG_RETURN(TRUE); } if (!(*fast_alter_partition)) diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 4fdd88bbec3..9cad535b594 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -4198,7 +4198,7 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables, table->next_local= save_next_local; thd->open_options&= ~extra_open_options; #ifdef WITH_PARTITION_STORAGE_ENGINE - if (table->table && table->table->part_info) + if (table->table) { /* Set up which partitions that should be processed @@ -4206,11 +4206,13 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables, */ Alter_info *alter_info= &lex->alter_info; - if (alter_info->flags & ALTER_ANALYZE_PARTITION || - alter_info->flags & ALTER_CHECK_PARTITION || - alter_info->flags & ALTER_OPTIMIZE_PARTITION || - alter_info->flags & ALTER_REPAIR_PARTITION) + if (alter_info->flags & ALTER_ADMIN_PARTITION) { + if (!table->table->part_info) + { + my_error(ER_PARTITION_MGMT_ON_NONPARTITIONED, MYF(0)); + DBUG_RETURN(TRUE); + } uint no_parts_found; uint no_parts_opt= alter_info->partition_names.elements; no_parts_found= set_part_state(alter_info, table->table->part_info, diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index 8d9b3a2d4b5..93f6ac4391d 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -5658,7 +5658,7 @@ alter_commands: { LEX *lex= Lex; lex->sql_command = SQLCOM_OPTIMIZE; - lex->alter_info.flags|= ALTER_OPTIMIZE_PARTITION; + lex->alter_info.flags|= ALTER_ADMIN_PARTITION; lex->no_write_to_binlog= $3; lex->check_opt.init(); } @@ -5668,7 +5668,7 @@ alter_commands: { LEX *lex= Lex; lex->sql_command = SQLCOM_ANALYZE; - lex->alter_info.flags|= ALTER_ANALYZE_PARTITION; + lex->alter_info.flags|= ALTER_ADMIN_PARTITION; lex->no_write_to_binlog= $3; lex->check_opt.init(); } @@ -5676,7 +5676,7 @@ alter_commands: { LEX *lex= Lex; lex->sql_command = SQLCOM_CHECK; - lex->alter_info.flags|= ALTER_CHECK_PARTITION; + lex->alter_info.flags|= ALTER_ADMIN_PARTITION; lex->check_opt.init(); } opt_mi_check_type @@ -5685,7 +5685,7 @@ alter_commands: { LEX *lex= Lex; lex->sql_command = SQLCOM_REPAIR; - lex->alter_info.flags|= ALTER_REPAIR_PARTITION; + lex->alter_info.flags|= ALTER_ADMIN_PARTITION; lex->no_write_to_binlog= $3; lex->check_opt.init(); } From d93fe583027ed49d22b4778e28c3818d24b9fe12 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 11 Oct 2008 18:35:49 +0200 Subject: [PATCH 025/141] Aligned declaration and defintion of ha_change_partitions(), to avoid link error using SunStudio 12. --- sql/handler.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/handler.cc b/sql/handler.cc index a988c34b7ca..a127b3fa9f2 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -3333,8 +3333,8 @@ handler::ha_create_handler_files(const char *name, const char *old_name, int handler::ha_change_partitions(HA_CREATE_INFO *create_info, const char *path, - ulonglong *copied, - ulonglong *deleted, + ulonglong * const copied, + ulonglong * const deleted, const uchar *pack_frm_data, size_t pack_frm_len) { From 1153d1edad159c944b1ac8bee3663eee2e23bf84 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 11 Oct 2008 20:28:13 +0200 Subject: [PATCH 026/141] Made dist support script more portable sh --- BUILD/compile-dist | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/BUILD/compile-dist b/BUILD/compile-dist index 74690fb0c95..caee172f196 100755 --- a/BUILD/compile-dist +++ b/BUILD/compile-dist @@ -13,34 +13,51 @@ path=`dirname $0` # Default to gcc for CC and CXX if test -z "$CXX" ; then - export CXX=gcc + CXX=gcc # Set some required compile options if test -z "$CXXFLAGS" ; then - export CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti" + CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti" fi fi if test -z "$CC" ; then - export CC=gcc + CC=gcc fi # Use ccache, if available if ccache -V > /dev/null 2>&1 then - if ! (echo "$CC" | grep "ccache" > /dev/null) + if echo "$CC" | grep "ccache" > /dev/null then - export CC="ccache $CC" + : + else + CC="ccache $CC" fi - if ! (echo "$CXX" | grep "ccache" > /dev/null) + if echo "$CXX" | grep "ccache" > /dev/null then - export CXX="ccache $CXX" + : + else + CXX="ccache $CXX" fi fi +if test -z "$MAKE" +then + if gmake -v > /dev/null 2>&1 + then + MAKE="gmake" + else + MAKE="make" + fi +fi + +export CC CXX MAKE + # Make sure to enable all features that affect "make dist" # Remember that configure restricts the man pages to the configured features ! ./configure \ --with-embedded-server \ --with-ndbcluster -make +$MAKE + From eab7404c8f112737d7c2aee37db12a9d48cc6cba Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 11 Oct 2008 23:51:58 +0200 Subject: [PATCH 027/141] More portable sh in configure script --- configure.in | 64 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 37 insertions(+), 27 deletions(-) diff --git a/configure.in b/configure.in index d81114daa59..c7e18d25811 100644 --- a/configure.in +++ b/configure.in @@ -405,12 +405,15 @@ dnl Find paths to some shell programs AC_PATH_PROG(LN, ln, ln) # This must be able to take a -f flag like normal unix ln. AC_PATH_PROG(LN_CP_F, ln, ln) -if ! ( expr "$SYSTEM_TYPE" : ".*netware.*" > /dev/null ); then -# If ln -f does not exists use -s (AFS systems) -if test -n "$LN_CP_F"; then - LN_CP_F="$LN_CP_F -s" -fi -fi +case $SYSTEM_TYPE in + *netware*) ;; + *) + # If ln -f does not exists use -s (AFS systems) + if test -n "$LN_CP_F"; then + LN_CP_F="$LN_CP_F -s" + fi + ;; +esac AC_PATH_PROG(MV, mv, mv) AC_PATH_PROG(RM, rm, rm) @@ -1642,14 +1645,16 @@ else OPTIMIZE_CXXFLAGS="-O" fi -if expr "$SYSTEM_TYPE" : ".*netware.*" > /dev/null; then - DEBUG_CFLAGS="-g -DDEBUG -sym internal,codeview4" - DEBUG_CXXFLAGS="-g -DDEBUG -sym internal,codeview4" - DEBUG_OPTIMIZE_CC="-DDEBUG" - DEBUG_OPTIMIZE_CXX="-DDEBUG" - OPTIMIZE_CFLAGS="-O3 -DNDEBUG" - OPTIMIZE_CXXFLAGS="-O3 -DNDEBUG" -fi +case $SYSTEM_TYPE in + *netware*) + DEBUG_CFLAGS="-g -DDEBUG -sym internal,codeview4" + DEBUG_CXXFLAGS="-g -DDEBUG -sym internal,codeview4" + DEBUG_OPTIMIZE_CC="-DDEBUG" + DEBUG_OPTIMIZE_CXX="-DDEBUG" + OPTIMIZE_CFLAGS="-O3 -DNDEBUG" + OPTIMIZE_CXXFLAGS="-O3 -DNDEBUG" + ;; +esac # If the user specified CFLAGS, we won't add any optimizations if test -n "$SAVE_CFLAGS" @@ -1915,15 +1920,18 @@ MYSQL_TZNAME # Do the c++ compiler have a bool type MYSQL_CXX_BOOL # Check some common bugs with gcc 2.8.# on sparc -if ! ( expr "$SYSTEM_TYPE" : ".*netware.*" > /dev/null ); then -MYSQL_CHECK_LONGLONG_TO_FLOAT -if test "$ac_cv_conv_longlong_to_float" != "yes" -then - AC_MSG_ERROR([Your compiler cannot convert a longlong value to a float! -If you are using gcc 2.8.# you should upgrade to egcs 1.0.3 or newer and try -again]) -fi -fi +case $SYSTEM_TYPE in + *netware*) ;; + *) + MYSQL_CHECK_LONGLONG_TO_FLOAT + if test "$ac_cv_conv_longlong_to_float" != "yes" + then + AC_MSG_ERROR([Your compiler cannot convert a longlong value to a float! + If you are using gcc 2.8.# you should upgrade to egcs 1.0.3 or newer and try + again]) + fi + ;; +esac AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include ]) AC_CHECK_TYPES([size_t], [], [], [#include ]) AC_CHECK_TYPES([u_int32_t]) @@ -2549,11 +2557,12 @@ readline_h_ln_cmd="" readline_link="" want_to_use_readline="no" -if expr "$SYSTEM_TYPE" : ".*netware.*" > /dev/null -then +case $SYSTEM_TYPE in + *netware*) # For NetWare, do not need readline echo "Skipping readline" -else + ;; + *) if [test "$with_libedit" = "yes"] || [test "$with_libedit" = "undefined"] && [test "$with_readline" = "undefined"] then readline_topdir="cmd-line-utils" @@ -2606,7 +2615,8 @@ else be built with libreadline. Please use --with-libedit to use the bundled version of libedit instead.]) fi -fi + ;; +esac AC_SUBST(readline_dir) AC_SUBST(readline_topdir) From 017307f2163a068520374b3083895e246b7a4a60 Mon Sep 17 00:00:00 2001 From: Davi Arnaut Date: Tue, 14 Oct 2008 11:04:36 -0300 Subject: [PATCH 028/141] Bug#38823: Invalid memory access when a SP statement does wildcard expansion The problem is that field names constructed due to wild-card expansion done inside a stored procedure could point to freed memory if the expansion was performed after the first call to the stored procedure. The problem was solved by patch for Bug#38691. The solution was to allocate the database, table and field names in the in the statement memory instead of table memory. mysql-test/r/sp.result: Add test case result for Bug#38823 mysql-test/t/sp.test: Add test case for Bug#38823 sql/item.cc: Remark that this also impacts wildcard expansion inside SPs. --- mysql-test/r/sp.result | 13 +++++++++++++ mysql-test/t/sp.test | 22 ++++++++++++++++++++++ sql/item.cc | 3 ++- 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result index e788d30a14b..dea51bb4c2c 100644 --- a/mysql-test/r/sp.result +++ b/mysql-test/r/sp.result @@ -6672,6 +6672,19 @@ select substr(`str`, `pos`+ 1 ) into `str`; end $ call `p2`('s s s s s s'); drop procedure `p2`; +drop table if exists t1; +drop procedure if exists p1; +create procedure p1() begin select * from t1; end$ +call p1$ +ERROR 42S02: Table 'test.t1' doesn't exist +create table t1 (a integer)$ +call p1$ +a +alter table t1 add b integer; +call p1$ +a +drop table t1; +drop procedure p1; # ------------------------------------------------------------------ # -- End of 5.0 tests # ------------------------------------------------------------------ diff --git a/mysql-test/t/sp.test b/mysql-test/t/sp.test index 21ca2528e4f..6d7a4b96167 100644 --- a/mysql-test/t/sp.test +++ b/mysql-test/t/sp.test @@ -7836,6 +7836,28 @@ delimiter ;$ call `p2`('s s s s s s'); drop procedure `p2`; +# +# Bug#38823: Invalid memory access when a SP statement does wildcard expansion +# + +--disable_warnings +drop table if exists t1; +drop procedure if exists p1; +--enable_warnings + +delimiter $; +create procedure p1() begin select * from t1; end$ +--error ER_NO_SUCH_TABLE +call p1$ +create table t1 (a integer)$ +call p1$ +alter table t1 add b integer; +call p1$ +delimiter ;$ + +drop table t1; +drop procedure p1; + --echo # ------------------------------------------------------------------ --echo # -- End of 5.0 tests --echo # ------------------------------------------------------------------ diff --git a/sql/item.cc b/sql/item.cc index e49de88cea7..182f4abdfe6 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -1759,7 +1759,8 @@ Item_field::Item_field(THD *thd, Name_resolution_context *context_arg, be allocated in the statement memory, not in table memory (the table structure can go away and pop up again between subsequent executions of a prepared statement or after the close_tables_for_reopen() call - in mysql_multi_update_prepare()). + in mysql_multi_update_prepare() or due to wildcard expansion in stored + procedures). */ { if (db_name) From 77fec0b2190fa8c948d9667e3952e663decc1f78 Mon Sep 17 00:00:00 2001 From: Chad MILLER Date: Tue, 14 Oct 2008 15:52:52 -0400 Subject: [PATCH 029/141] In mysqldumpslow, consume arbitrary whitespace in the Query_time line. --- scripts/mysqldumpslow.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/mysqldumpslow.sh b/scripts/mysqldumpslow.sh index 2d59b470331..60d972e1c8b 100644 --- a/scripts/mysqldumpslow.sh +++ b/scripts/mysqldumpslow.sh @@ -83,7 +83,7 @@ while ( defined($_ = shift @pending) or defined($_ = <>) ) { s/^#? Time: \d{6}\s+\d+:\d+:\d+.*\n//; my ($user,$host) = s/^#? User\@Host:\s+(\S+)\s+\@\s+(\S+).*\n// ? ($1,$2) : ('',''); - s/^# Query_time: ([0-9.]+) Lock_time: ([0-9.]+) Rows_sent: ([0-9.]+).*\n//; + s/^# Query_time: ([0-9.]+)\s+Lock_time: ([0-9.]+)\s+Rows_sent: ([0-9.]+).*\n//; my ($t, $l, $r) = ($1, $2, $3); $t -= $l unless $opt{l}; From 747351836c524cb15dfb0c5ed735921ab98acb6b Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Wed, 15 Oct 2008 16:55:52 +0300 Subject: [PATCH 030/141] Bug #38693: leaked memory with blobs! If delayed insert fails to upgrade the lock it was not freeing the temporary memory storage used to keep newly constructed blob values in memory. Fixed by iterating over the remaining rows in the delayed insert rowset and freeing the blob storage for each row. No test suite because it involves concurrent delayed inserts on a table and cannot easily be made deterministic. Added a correct valgrind suppression for Fedora 9. mysql-test/valgrind.supp: Added a vagrind suppression for Fedora 9 sql/sql_insert.cc: Bug #38693: free the blobs temp storage on error. --- mysql-test/valgrind.supp | 8 ++++++++ sql/sql_insert.cc | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/mysql-test/valgrind.supp b/mysql-test/valgrind.supp index e71f4541cfd..d7ac6bc6c88 100644 --- a/mysql-test/valgrind.supp +++ b/mysql-test/valgrind.supp @@ -319,6 +319,14 @@ fun:_dl_map_object } +{ + libc pthread_exit 8 + Memcheck:Leak + fun:malloc + fun:local_strdup + fun:_dl_map_object + fun:dl_open_worker +} # diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc index 3f43c902faa..4eddcd17df1 100644 --- a/sql/sql_insert.cc +++ b/sql/sql_insert.cc @@ -2585,6 +2585,11 @@ bool Delayed_insert::handle_inserts(void) /* Remove all not used rows */ while ((row=rows.get())) { + if (table->s->blob_fields) + { + memcpy(table->record[0],row->record,table->s->reclength); + free_delayed_insert_blobs(table); + } delete row; thread_safe_increment(delayed_insert_errors,&LOCK_delayed_status); stacked_inserts--; From 8c0ffd24d3d5e86bc8aad28b338e08291c0299d6 Mon Sep 17 00:00:00 2001 From: Horst Hunger Date: Wed, 15 Oct 2008 20:58:53 +0200 Subject: [PATCH 031/141] Final patch for bug#36733 containing all changes. --- mysql-test/r/thread_cache_size_func.result | 42 +----- mysql-test/t/disabled.def | 1 - mysql-test/t/thread_cache_size_func.test | 146 ++++++++------------- 3 files changed, 56 insertions(+), 133 deletions(-) diff --git a/mysql-test/r/thread_cache_size_func.result b/mysql-test/r/thread_cache_size_func.result index ccca75bd316..f808e28a512 100644 --- a/mysql-test/r/thread_cache_size_func.result +++ b/mysql-test/r/thread_cache_size_func.result @@ -2,67 +2,31 @@ SET @global_thread_cache_size = @@GLOBAL.thread_cache_size; FLUSH STATUS; '# Test1#' SET @@GLOBAL.thread_cache_size=3; -Saving threads cached, threads created values SHOW STATUS LIKE 'Threads_cached'; Variable_name Value Threads_cached 0 0 Expected -'#Old value for thread_cache'# ** Connecting conn1 using username 'root' ** ** Connecting conn2 using username 'root' ** ** Connecting conn3 using username 'root' ** ** Connecting conn4 using username 'root' ** -Saving threads cached, threads created values -Threads Created Difference -4 -4 Expected +** Connection default ** SHOW STATUS LIKE 'Threads_cached'; Variable_name Value Threads_cached 0 0 Expected -** Connection default ** ** Disconnecting conn1,conn2,conn3,conn4 ** -'#new values for thread cache after disconnecting'# -Saving threads cached, threads created values -Threads Created Difference -0 -0 Expected SHOW STATUS LIKE 'Threads_cached'; Variable_name Value Threads_cached 3 3 Expected -SET @@GLOBAL.thread_cache_size=1; -Saving threads cached, threads created values -Threads Created Difference -0 -0 Expected -SHOW STATUS LIKE 'Threads_cached'; -Variable_name Value -Threads_cached 3 -1 Expected -Bug: The number of threads cached should have decreased with cache size decrease. +SET @@GLOBAL.thread_cache_size= 1; ** Connecting conn1 using username 'root' ** ** Connecting conn2 using username 'root' ** -Saving threads cached, threads created values -Threads Created Difference -0 -1 Expected -Bug: The number of threads created should have increased because the cache should have 1 thread only -SHOW STATUS LIKE 'Threads_cached'; -Variable_name Value -Threads_cached 1 -0 Expected -Bug: The number of threads created should have decreased because atleast 1 new connection came in -** Connection default ** +connection default; ** Disconnecting conn1,conn2 ** -'#new status values for thread cache'# -Saving threads cached, threads created values -Threads Created Difference -0 -0 Expected SHOW STATUS LIKE 'Threads_cached'; Variable_name Value Threads_cached 1 1 Expected -Saving threads cached, threads created values SET @@GLOBAL.thread_cache_size = @global_thread_cache_size; diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 689f2fe8064..a2c875301f8 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -11,7 +11,6 @@ ############################################################################## federated_transactions : Bug#29523 Transactions do not work csv_alter_table : Bug#33696 2008-01-21 pcrews no .result file - bug allows NULL columns in CSV tables -thread_cache_size_func : Bug#36733 main.thread_cache_size_func fails randomly log_tables.test : Bug #37798: main.log_tables fails randomly on powermacg5 and windows slow_query_log_func.test : Bug #37962: *_func tests containing sleeps/race conditions events-bugs.test : Bug #39848, Bug #39863, Bug #39569, Bug #37774 diff --git a/mysql-test/t/thread_cache_size_func.test b/mysql-test/t/thread_cache_size_func.test index 302f66a36c6..fe9f4242c0d 100644 --- a/mysql-test/t/thread_cache_size_func.test +++ b/mysql-test/t/thread_cache_size_func.test @@ -1,26 +1,27 @@ -############# mysql-test\t\thread_cache_size_func.test ####################################### -# # -# Variable Name: thread_cache_size # -# Scope: SESSION # -# Access Type: Dynamic # -# Data Type: Enumeration # -# Default Value: 0 # -# Values: 0-16384 # -# # -# # -# Creation Date: 2008-03-02 # -# Author: Sharique Abdullah # -# # -# Description: Test Cases of Dynamic System Variable "thread_cache_size" # -# that checks behavior of this variable in the following ways # -# * Functionality based on different values # -# # -# Reference: http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html # -# option_mysqld_thread_cache_size # -# # -######################################################################################### - - +############# mysql-test\t\thread_cache_size_func.test ########################## +# # +# Variable Name: thread_cache_size # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: Enumeration # +# Default Value: 0 # +# Values: 0-16384 # +# # +# # +# Creation Date: 2008-03-02 # +# Author: Sharique Abdullah # +# # +# Modified: HHunger 2008-08-27 Reduced test to needed function and inserted # +# wait-loops # +# # +# Description: Test Cases of Dynamic System Variable "thread_cache_size" # +# that checks behavior of this variable in the following ways # +# * Functionality based on different values # +# # +# Reference: # +# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html # +# # +################################################################################# # # Setup @@ -32,41 +33,31 @@ SET @global_thread_cache_size = @@GLOBAL.thread_cache_size; FLUSH STATUS; -# -# Greater than cache threads, setting cache size to 3 -# -- ECHO '# Test1#' SET @@GLOBAL.thread_cache_size=3; - -let $threadsCreated1 = query_get_value(SHOW STATUS LIKE 'Threads_created', Value, 1); ---echo Saving threads cached, threads created values - SHOW STATUS LIKE 'Threads_cached'; --echo 0 Expected ---ECHO '#Old value for thread_cache'# - ################################## # Make 4 connections # ################################## --echo ** Connecting conn1 using username 'root' ** -connect (conn1,localhost,root,,); +CONNECT (conn1,localhost,root,,); --echo ** Connecting conn2 using username 'root' ** -connect (conn2,localhost,root,,); +CONNECT (conn2,localhost,root,,); --echo ** Connecting conn3 using username 'root' ** -connect (conn3,localhost,root,,); +CONNECT (conn3,localhost,root,,); --echo ** Connecting conn4 using username 'root' ** -connect (conn4,localhost,root,,); +CONNECT (conn4,localhost,root,,); -let $threadsCreated2 = query_get_value(SHOW STATUS LIKE 'Threads_created', Value, 1); ---echo Saving threads cached, threads created values +--echo ** Connection default ** +CONNECTION default; ---disable_query_log -eval SELECT ($threadsCreated2 - $threadsCreated1) AS 'Threads Created Difference'; ---enable_query_log +# Wait until all connections done +let $wait_condition= SELECT COUNT(*)= 5 FROM INFORMATION_SCHEMA.PROCESSLIST; +--source include/wait_condition.inc ---echo 4 Expected SHOW STATUS LIKE 'Threads_cached'; --echo 0 Expected @@ -74,85 +65,54 @@ SHOW STATUS LIKE 'Threads_cached'; #Disconnecting all the connections # #################################### ---echo ** Connection default ** -connection default; - --echo ** Disconnecting conn1,conn2,conn3,conn4 ** -disconnect conn1; -disconnect conn2; -disconnect conn3; -disconnect conn4; +DISCONNECT conn1; +DISCONNECT conn2; +DISCONNECT conn3; +DISCONNECT conn4; # # Checking the status # ---echo '#new values for thread cache after disconnecting'# -let $threadsCreated3 = query_get_value(SHOW STATUS LIKE 'Threads_created', Value, 1); +# Wait until all disconnects ready +let $wait_condition= SELECT COUNT(*)= 1 FROM INFORMATION_SCHEMA.PROCESSLIST; +--source include/wait_condition.inc ---echo Saving threads cached, threads created values ---disable_query_log -eval SELECT ($threadsCreated3 - $threadsCreated2) AS 'Threads Created Difference'; ---enable_query_log ---echo 0 Expected SHOW STATUS LIKE 'Threads_cached'; --echo 3 Expected - # # Decreasing cache size to 1 # -SET @@GLOBAL.thread_cache_size=1; - -connection default; - -let $threadsCreated6 = query_get_value(SHOW STATUS LIKE 'Threads_created', Value, 1); ---echo Saving threads cached, threads created values ---disable_query_log -eval SELECT $threadsCreated6 - $threadsCreated3 AS 'Threads Created Difference'; ---enable_query_log ---echo 0 Expected -SHOW STATUS LIKE 'Threads_cached'; ---echo 1 Expected ---echo Bug: The number of threads cached should have decreased with cache size decrease. +SET @@GLOBAL.thread_cache_size= 1; --echo ** Connecting conn1 using username 'root' ** CONNECT (conn1,localhost,root,,); --echo ** Connecting conn2 using username 'root' ** CONNECT (conn2,localhost,root,,); -let $threadsCreated4 = query_get_value(SHOW STATUS LIKE 'Threads_created', Value, 1); ---echo Saving threads cached, threads created values ---disable_query_log -eval SELECT $threadsCreated4 - $threadsCreated3 AS 'Threads Created Difference'; ---enable_query_log ---echo 1 Expected ---echo Bug: The number of threads created should have increased because the cache should have 1 thread only -SHOW STATUS LIKE 'Threads_cached'; ---echo 0 Expected ---echo Bug: The number of threads created should have decreased because atleast 1 new connection came in +--echo connection default; +CONNECTION default; ---echo ** Connection default ** -connection default; +# Wait until all connects ready +let $wait_condition= SELECT COUNT(*)= 3 FROM INFORMATION_SCHEMA.PROCESSLIST; +--source include/wait_condition.inc --echo ** Disconnecting conn1,conn2 ** -disconnect conn1; -disconnect conn2; +DISCONNECT conn1; +DISCONNECT conn2; + +# Wait until all disconnects ready +let $wait_condition= SELECT COUNT(*)= 1 FROM INFORMATION_SCHEMA.PROCESSLIST; +--source include/wait_condition.inc ---ECHO '#new status values for thread cache'# -let $threadsCreated5 = query_get_value(SHOW STATUS LIKE 'Threads_created', Value, 1); ---echo Saving threads cached, threads created values ---disable_query_log -eval SELECT ($threadsCreated5 - $threadsCreated4) AS 'Threads Created Difference'; ---enable_query_log ---echo 0 Expected SHOW STATUS LIKE 'Threads_cached'; --echo 1 Expected ---echo Saving threads cached, threads created values - # # Cleanup # SET @@GLOBAL.thread_cache_size = @global_thread_cache_size; + From 3ad228d7fba6fa2e5b98569f798583b8f8b90db9 Mon Sep 17 00:00:00 2001 From: Davi Arnaut Date: Wed, 15 Oct 2008 18:34:51 -0300 Subject: [PATCH 032/141] Bug#37075: offset of limit clause might be truncated on 32-bits server w/o big tables The problem is that the offset argument of the limit clause might be truncated on a 32-bits server built without big tables support. The truncation was happening because the original 64-bits long argument was being cast to a 32-bits (ha_rows) offset counter. The solution is to check if the conversing resulted in value truncation and if so, the offset is set to the maximum possible value that can fit on the type. mysql-test/r/limit.result: Add test case result for Bug#37075 mysql-test/t/limit.test: Add test case for Bug#37075 sql/sql_lex.cc: Check for truncation of the offset value. If value was truncated, set to the maximum possible value. --- mysql-test/r/limit.result | 3 +++ mysql-test/t/limit.test | 8 ++++++++ sql/sql_lex.cc | 22 ++++++++++++++++++---- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/mysql-test/r/limit.result b/mysql-test/r/limit.result index 2acf74162a4..caed588acdb 100644 --- a/mysql-test/r/limit.result +++ b/mysql-test/r/limit.result @@ -111,3 +111,6 @@ set @a=-14632475938453979136; execute s using @a, @a; ERROR HY000: Incorrect arguments to EXECUTE End of 5.0 tests +select 1 as a limit 4294967296,10; +a +End of 5.1 tests diff --git a/mysql-test/t/limit.test b/mysql-test/t/limit.test index 9cccca1adc3..5847b90367a 100644 --- a/mysql-test/t/limit.test +++ b/mysql-test/t/limit.test @@ -95,3 +95,11 @@ set @a=-14632475938453979136; execute s using @a, @a; --echo End of 5.0 tests + +# +# Bug#37075: offset of limit clause might be truncated to 0 on 32-bits server w/o big tables +# + +select 1 as a limit 4294967296,10; + +--echo End of 5.1 tests diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index ba9c0e93134..71aa80b8170 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -2041,12 +2041,26 @@ st_lex::copy_db_to(char **p_db, uint *p_db_length) const void st_select_lex_unit::set_limit(SELECT_LEX *sl) { ha_rows select_limit_val; + ulonglong val; DBUG_ASSERT(! thd->stmt_arena->is_stmt_prepare()); - select_limit_val= (ha_rows)(sl->select_limit ? sl->select_limit->val_uint() : - HA_POS_ERROR); - offset_limit_cnt= (ha_rows)(sl->offset_limit ? sl->offset_limit->val_uint() : - ULL(0)); + val= sl->select_limit ? sl->select_limit->val_uint() : HA_POS_ERROR; + select_limit_val= (ha_rows)val; +#ifndef BIG_TABLES + /* + Check for overflow : ha_rows can be smaller then ulonglong if + BIG_TABLES is off. + */ + if (val != (ulonglong)select_limit_val) + select_limit_val= HA_POS_ERROR; +#endif + val= sl->offset_limit ? sl->offset_limit->val_uint() : ULL(0); + offset_limit_cnt= (ha_rows)val; +#ifndef BIG_TABLES + /* Check for truncation. */ + if (val != (ulonglong)offset_limit_cnt) + offset_limit_cnt= HA_POS_ERROR; +#endif select_limit_cnt= select_limit_val + offset_limit_cnt; if (select_limit_cnt < select_limit_val) select_limit_cnt= HA_POS_ERROR; // no limit From e405ab1626722125cd480a239a2c5a41414b141f Mon Sep 17 00:00:00 2001 From: Davi Arnaut Date: Wed, 15 Oct 2008 19:21:00 -0300 Subject: [PATCH 033/141] Bug#38941: fast mutexes in MySQL 5.1 have mutex contention when calling random() The problem is that MySQL's 'fast' mutex implementation uses the random() routine to determine the spin delay. Unfortunately, the routine interface is not thead-safe and some implementations (eg: glibc) might use a internal lock to protect the RNG state, causing excessive locking contention if lots of threads are spinning on a MySQL's 'fast' mutex. The code was also misusing the value of the RAND_MAX macro, this macro represents the largest value that can be returned from the rand() function, not random(). The solution is to use the quite simple Park-Miller random number generator. The initial seed is set to 1 because the previously used generator wasn't being seeded -- the initial seed is 1 if srandom() is not called. Futhermore, the 'fast' mutex implementation has several shortcomings and provides no measurable performance benefit. Therefore, its use is not recommended unless it provides directly measurable results. include/my_pthread.h: Add field to keep the RNG state. mysys/thr_mutex.c: Use a palliative per-mutex rng state to determine the spin delay. The RNG is not thread-safe but jumping a few sequences in the RNG is harmless. --- include/my_pthread.h | 1 + mysys/thr_mutex.c | 27 +++++++++++++++++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/include/my_pthread.h b/include/my_pthread.h index 19cfb74c80f..e56614357e0 100644 --- a/include/my_pthread.h +++ b/include/my_pthread.h @@ -519,6 +519,7 @@ typedef struct st_my_pthread_fastmutex_t { pthread_mutex_t mutex; uint spins; + uint rng_state; } my_pthread_fastmutex_t; void fastmutex_global_init(void); diff --git a/mysys/thr_mutex.c b/mysys/thr_mutex.c index 49003553f0b..8f9928026ba 100644 --- a/mysys/thr_mutex.c +++ b/mysys/thr_mutex.c @@ -438,9 +438,33 @@ int my_pthread_fastmutex_init(my_pthread_fastmutex_t *mp, mp->spins= MY_PTHREAD_FASTMUTEX_SPINS; else mp->spins= 0; + mp->rng_state= 1; return pthread_mutex_init(&mp->mutex, attr); } +/** + Park-Miller random number generator. A simple linear congruential + generator that operates in multiplicative group of integers modulo n. + + x_{k+1} = (x_k g) mod n + + Popular pair of parameters: n = 2^32 − 5 = 4294967291 and g = 279470273. + The period of the generator is about 2^31. + Largest value that can be returned: 2147483646 (RAND_MAX) + + Reference: + + S. K. Park and K. W. Miller + "Random number generators: good ones are hard to find" + Commun. ACM, October 1988, Volume 31, No 10, pages 1192-1201. +*/ + +static double park_rng(my_pthread_fastmutex_t *mp) +{ + mp->rng_state= ((my_ulonglong)mp->rng_state * 279470273U) % 4294967291U; + return (mp->rng_state / 2147483647.0); +} + int my_pthread_fastmutex_lock(my_pthread_fastmutex_t *mp) { int res; @@ -458,8 +482,7 @@ int my_pthread_fastmutex_lock(my_pthread_fastmutex_t *mp) return res; mutex_delay(maxdelay); - maxdelay += ((double) random() / (double) RAND_MAX) * - MY_PTHREAD_FASTMUTEX_DELAY + 1; + maxdelay += park_rng(mp) * MY_PTHREAD_FASTMUTEX_DELAY + 1; } return pthread_mutex_lock(&mp->mutex); } From e6fa9496f53503cd3f93d449f2a1d2b6047b7ac4 Mon Sep 17 00:00:00 2001 From: Davi Arnaut Date: Wed, 15 Oct 2008 19:28:26 -0300 Subject: [PATCH 034/141] Bug#38477: my_pthread_setprio can change dispatch class on Solaris, not just priority The problem is that the function used by the server to increase the thread's priority (pthread_setschedparam) has the unintended side-effect of changing the calling thread scheduling policy, possibly overwriting a scheduling policy set by a sysadmin. The solution is to rely on the pthread_setschedprio function, if available, as it only changes the scheduling priority and does not change the scheduling policy. This function is usually available on Solaris and Linux, but it use won't work by default on Linux as the the default scheduling policy only accepts a static priority 0 -- this is acceptable for now as priority changing on Linux is broken anyway. configure.in: Check for the existence of the pthread_setschedprio function. include/my_pthread.h: Use the pthread_setschedprio function to set the thread priority if the function is available. --- configure.in | 2 +- include/my_pthread.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/configure.in b/configure.in index c75bd617f8f..0a20bbdc279 100644 --- a/configure.in +++ b/configure.in @@ -2040,7 +2040,7 @@ AC_CHECK_FUNCS(alarm bcmp bfill bmove bsearch bzero \ mkstemp mlockall perror poll pread pthread_attr_create mmap mmap64 getpagesize \ pthread_attr_getstacksize pthread_attr_setprio pthread_attr_setschedparam \ pthread_attr_setstacksize pthread_condattr_create pthread_getsequence_np \ - pthread_key_delete pthread_rwlock_rdlock pthread_setprio \ + pthread_key_delete pthread_rwlock_rdlock pthread_setprio pthread_setschedprio \ pthread_setprio_np pthread_setschedparam pthread_sigmask readlink \ realpath rename rint rwlock_init setupterm \ shmget shmat shmdt shmctl sigaction sigemptyset sigaddset \ diff --git a/include/my_pthread.h b/include/my_pthread.h index e56614357e0..151cb34faff 100644 --- a/include/my_pthread.h +++ b/include/my_pthread.h @@ -279,6 +279,8 @@ int sigwait(sigset_t *setp, int *sigp); /* Use our implemention */ #define my_pthread_setprio(A,B) pthread_setprio_np((A),(B)) #elif defined(HAVE_PTHREAD_SETPRIO) #define my_pthread_setprio(A,B) pthread_setprio((A),(B)) +#elif defined(HAVE_PTHREAD_SETSCHEDPRIO) +#define my_pthread_setprio(A,B) pthread_setschedprio((A),(B)) #else extern void my_pthread_setprio(pthread_t thread_id,int prior); #endif From ca6e05765c7a404377dd84924a816e654b20618d Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Thu, 16 Oct 2008 14:16:27 +0300 Subject: [PATCH 035/141] Bug #39958: Test "windows" lacks a cleanup Added the missing DROP TABLE mysql-test/r/windows.result: Bug #39958: added the missing DROP TABLE mysql-test/t/windows.test: Bug #39958: added the missing DROP TABLE --- mysql-test/r/windows.result | 1 + mysql-test/t/windows.test | 1 + 2 files changed, 2 insertions(+) mode change 100644 => 100755 mysql-test/t/windows.test diff --git a/mysql-test/r/windows.result b/mysql-test/r/windows.result index b5f9a48d805..5a54db8bb84 100644 --- a/mysql-test/r/windows.result +++ b/mysql-test/r/windows.result @@ -18,4 +18,5 @@ EXPLAIN SELECT * FROM t1 WHERE b = (SELECT max(2)); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables 2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used +DROP TABLE t1; End of 5.0 tests. diff --git a/mysql-test/t/windows.test b/mysql-test/t/windows.test old mode 100644 new mode 100755 index 6976ee98750..6e6a7ec93a3 --- a/mysql-test/t/windows.test +++ b/mysql-test/t/windows.test @@ -33,5 +33,6 @@ drop table t1; # CREATE TABLE t1 (a int, b int); INSERT INTO t1 VALUES (1,1); EXPLAIN SELECT * FROM t1 WHERE b = (SELECT max(2)); +DROP TABLE t1; --echo End of 5.0 tests. From b591793496f4eb4e9953383c09ce4033bd85850f Mon Sep 17 00:00:00 2001 From: Gleb Shchepa Date: Thu, 16 Oct 2008 21:37:17 +0500 Subject: [PATCH 036/141] Bug #39844: Query Crash Mysql Server 5.0.67 Server crashed during a sort order optimization of a dependent subquery: SELECT (SELECT t1.a FROM t1, t2 WHERE t1.a = t2.b AND t2.a = t3.c ORDER BY t1.a) FROM t3; Bitmap of tables, that the reference to outer table column uses, in addition to the regular table bit has the OUTER_REF_TABLE_BIT bit set. The only_eq_ref_tables function traverses this map bit by bit simultaneously with join->map2table list. Obviously join->map2table never contains an entry for the OUTER_REF_TABLE_BIT pseudo-table, so the server crashed there. The only_eq_ref_tables function has been modified to traverse regular table bits only like the update_depend_map function (resetting of the OUTER_REF_TABLE_BIT there is enough, but resetting of the whole set of PSEUDO_TABLE_BITS is used there for sure). mysql-test/r/order_by.result: Added test case for bug #39844. mysql-test/t/order_by.test: Added test case for bug #39844. sql/sql_select.cc: Bug #39844: Query Crash Mysql Server 5.0.67 The only_eq_ref_tables function has been modified to traverse regular table bits only like the update_depend_map function (resetting of the OUTER_REF_TABLE_BIT there is enough, but resetting of the whole set of PSEUDO_TABLE_BITS is used there for sure). --- mysql-test/r/order_by.result | 16 ++++++++++++++++ mysql-test/t/order_by.test | 18 ++++++++++++++++++ sql/sql_select.cc | 1 + 3 files changed, 35 insertions(+) diff --git a/mysql-test/r/order_by.result b/mysql-test/r/order_by.result index 9f6a1b3932c..f64bbc79cbd 100644 --- a/mysql-test/r/order_by.result +++ b/mysql-test/r/order_by.result @@ -1076,3 +1076,19 @@ set session max_sort_length= 2180; select * from t1 order by b; ERROR HY001: Out of sort memory; increase server sort buffer size drop table t1; +# +# Bug #39844: Query Crash Mysql Server 5.0.67 +# +CREATE TABLE t1 (a INT PRIMARY KEY); +CREATE TABLE t2 (a INT PRIMARY KEY, b INT); +CREATE TABLE t3 (c INT); +INSERT INTO t1 (a) VALUES (1), (2); +INSERT INTO t2 (a,b) VALUES (1,2), (2,3); +INSERT INTO t3 (c) VALUES (1), (2); +SELECT +(SELECT t1.a FROM t1, t2 WHERE t1.a = t2.b AND t2.a = t3.c ORDER BY t1.a) +FROM t3; +(SELECT t1.a FROM t1, t2 WHERE t1.a = t2.b AND t2.a = t3.c ORDER BY t1.a) +2 +NULL +DROP TABLE t1, t2, t3; diff --git a/mysql-test/t/order_by.test b/mysql-test/t/order_by.test index 9a55c27df99..6d7ee1c1ca7 100644 --- a/mysql-test/t/order_by.test +++ b/mysql-test/t/order_by.test @@ -738,3 +738,21 @@ set session max_sort_length= 2180; select * from t1 order by b; drop table t1; + +--echo # +--echo # Bug #39844: Query Crash Mysql Server 5.0.67 +--echo # + +CREATE TABLE t1 (a INT PRIMARY KEY); +CREATE TABLE t2 (a INT PRIMARY KEY, b INT); +CREATE TABLE t3 (c INT); + +INSERT INTO t1 (a) VALUES (1), (2); +INSERT INTO t2 (a,b) VALUES (1,2), (2,3); +INSERT INTO t3 (c) VALUES (1), (2); + +SELECT + (SELECT t1.a FROM t1, t2 WHERE t1.a = t2.b AND t2.a = t3.c ORDER BY t1.a) + FROM t3; + +DROP TABLE t1, t2, t3; diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 7ff069f0996..9723dd8c4e4 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -6574,6 +6574,7 @@ only_eq_ref_tables(JOIN *join,ORDER *order,table_map tables) { if (specialflag & SPECIAL_SAFE_MODE) return 0; // skip this optimize /* purecov: inspected */ + tables&= ~PSEUDO_TABLE_BITS; for (JOIN_TAB **tab=join->map2table ; tables ; tab++, tables>>=1) { if (tables & 1 && !eq_ref_table(join, order, *tab)) From 172f64911be8bed66ea66bea34e9ba0a093eb8ba Mon Sep 17 00:00:00 2001 From: Serge Kozlov Date: Thu, 16 Oct 2008 22:40:15 +0400 Subject: [PATCH 037/141] Bug#39593. Removed test case rpl_row_stop_middle with result file --- .../suite/rpl/r/rpl_row_stop_middle.result | 26 ----------- .../suite/rpl/t/rpl_row_stop_middle.test | 45 ------------------- 2 files changed, 71 deletions(-) delete mode 100644 mysql-test/suite/rpl/r/rpl_row_stop_middle.result delete mode 100644 mysql-test/suite/rpl/t/rpl_row_stop_middle.test diff --git a/mysql-test/suite/rpl/r/rpl_row_stop_middle.result b/mysql-test/suite/rpl/r/rpl_row_stop_middle.result deleted file mode 100644 index 46ca5748174..00000000000 --- a/mysql-test/suite/rpl/r/rpl_row_stop_middle.result +++ /dev/null @@ -1,26 +0,0 @@ -stop slave; -drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; -reset master; -reset slave; -drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; -start slave; -create table t1 (a int not null auto_increment primary key, b int, key(b)); -stop slave; -INSERT INTO t1 (a) VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10); -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -start slave; -stop slave; -drop table t1; -drop table t1; diff --git a/mysql-test/suite/rpl/t/rpl_row_stop_middle.test b/mysql-test/suite/rpl/t/rpl_row_stop_middle.test deleted file mode 100644 index bc169bebfcd..00000000000 --- a/mysql-test/suite/rpl/t/rpl_row_stop_middle.test +++ /dev/null @@ -1,45 +0,0 @@ -# Test for BUG#11729: see if, when STOP SLAVE occurs while the slave -# SQL thread has processed a Table_map_log_event but has not processed -# the last Rows_log_event associated to it, the slave thread does not -# forget to close its tables. - -# Can be run with statement-based but no interest (and long test) ---source include/have_binlog_format_row.inc ---source include/master-slave.inc - -connection master; -create table t1 (a int not null auto_increment primary key, b int, key(b)); -sync_slave_with_master; -stop slave; -connection master; -INSERT INTO t1 (a) VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10); -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; -INSERT INTO t1 (a) SELECT null FROM t1; - -connection slave; -start slave; - -# hope one second is not enough for slave to reach the last -# Rows_log_event, so that test actually tests something. - -let $wait_condition= SELECT COUNT(*) >= 10 FROM t1; ---source include/wait_condition.inc -stop slave; - -# see if slave hangs on DROP TABLE - -drop table t1; - -connection master; # cleanup -drop table t1; From 697b2839db05adcfe50c4f378256fccceb823633 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Fri, 17 Oct 2008 17:55:06 +0300 Subject: [PATCH 038/141] Bug #33811: Call to stored procedure with SELECT * / RIGHT JOIN fails after the first time Two separate problems : 1. When flattening joins the linked list used for name resolution (next_name_resolution_table) was not updated. Fixed by updating the pointers when extending the table list 2. The items created by expanding a * (star) as a column reference were marked as fixed, but no cached table was assigned to them (unlike what Item_field::fix_fields does). Fixed by assigning a cached table (so the re-preparation is done faster). Note that the fix for #2 hides the fix for #1 in most cases (except when a table reference cannot be cached). mysql-test/r/sp.result: Bug #33811: test case mysql-test/t/sp.test: Bug #33811: test case sql/sql_base.cc: Bug #33811: cache the table for Item_fields created by expanding '*' sql/sql_select.cc: Bug #33811: maintain a correct name resolution chain when flattening joins. --- mysql-test/r/sp.result | 18 ++++++++++++++++++ mysql-test/t/sp.test | 15 +++++++++++++++ sql/sql_base.cc | 4 ++++ sql/sql_select.cc | 12 +++++++++++- 4 files changed, 48 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result index dea51bb4c2c..ec00435548c 100644 --- a/mysql-test/r/sp.result +++ b/mysql-test/r/sp.result @@ -6646,6 +6646,24 @@ ttt 2 drop function func30787; drop table t1; +CREATE TABLE t1 (id INT); +INSERT INTO t1 VALUES (1),(2),(3),(4); +CREATE PROCEDURE test_sp() +SELECT t1.* FROM t1 RIGHT JOIN t1 t2 ON t1.id=t2.id; +CALL test_sp(); +id +1 +2 +3 +4 +CALL test_sp(); +id +1 +2 +3 +4 +DROP PROCEDURE test_sp; +DROP TABLE t1; create table t1(c1 INT); create function f1(p1 int) returns varchar(32) return 'aaa'; diff --git a/mysql-test/t/sp.test b/mysql-test/t/sp.test index 6d7a4b96167..d5bb565cbc8 100644 --- a/mysql-test/t/sp.test +++ b/mysql-test/t/sp.test @@ -7793,6 +7793,21 @@ select (select func30787(f1)) as ttt from t1; drop function func30787; drop table t1; +# +# Bug #33811: Call to stored procedure with SELECT * / RIGHT JOIN fails +# after the first time +# +CREATE TABLE t1 (id INT); +INSERT INTO t1 VALUES (1),(2),(3),(4); + +CREATE PROCEDURE test_sp() + SELECT t1.* FROM t1 RIGHT JOIN t1 t2 ON t1.id=t2.id; + +CALL test_sp(); +CALL test_sp(); + +DROP PROCEDURE test_sp; +DROP TABLE t1; # # Bug#38291 memory corruption and server crash with view/sp/function diff --git a/sql/sql_base.cc b/sql/sql_base.cc index d969c837891..873a3eac24e 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -5508,6 +5508,10 @@ insert_fields(THD *thd, Name_resolution_context *context, const char *db_name, if (!(item= field_iterator.create_item(thd))) DBUG_RETURN(TRUE); + DBUG_ASSERT(item->fixed); + /* cache the table for the Item_fields inserted by expanding stars */ + if (item->type() == Item::FIELD_ITEM && tables->cacheable_table) + ((Item_field *)item)->cached_table= tables; if (!found) { diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 7ff069f0996..8da520e78ff 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -8268,6 +8268,8 @@ simplify_joins(JOIN *join, List *join_list, COND *conds, bool top) } /* Flatten nested joins that can be flattened. */ + TABLE_LIST *right_neighbor= NULL; + bool fix_name_res= FALSE; li.rewind(); while ((table= li++)) { @@ -8280,9 +8282,17 @@ simplify_joins(JOIN *join, List *join_list, COND *conds, bool top) { tbl->embedding= table->embedding; tbl->join_list= table->join_list; - } + } li.replace(nested_join->join_list); + /* Need to update the name resolution table chain when flattening joins */ + fix_name_res= TRUE; + table= *li.ref(); } + if (fix_name_res) + table->next_name_resolution_table= right_neighbor ? + right_neighbor->first_leaf_for_name_resolution() : + NULL; + right_neighbor= table; } DBUG_RETURN(conds); } From b3e948e54f39fe005a63ceaa92bd13be33d6fd9a Mon Sep 17 00:00:00 2001 From: Patrick Crews Date: Mon, 20 Oct 2008 18:41:19 -0400 Subject: [PATCH 039/141] Bug#37798 main.log_tables fails randomly on powermacg5 and windows Fixed .test file, re-recorded .result file Ensured reset of system variables at the end of subtests. --- mysql-test/r/log_tables.result | 38 +++++++++++++++---------- mysql-test/t/log_tables.test | 51 ++++++++++++++++++++++------------ 2 files changed, 56 insertions(+), 33 deletions(-) diff --git a/mysql-test/r/log_tables.result b/mysql-test/r/log_tables.result index c5228538788..2f294314b04 100644 --- a/mysql-test/r/log_tables.result +++ b/mysql-test/r/log_tables.result @@ -1,4 +1,11 @@ use mysql; +SET @saved_long_query_time = @@long_query_time; +SET @saved_log_output = @@log_output; +SET @saved_general_log = @@GLOBAL.general_log; +SET @saved_slow_query_log = @@GLOBAL.slow_query_log; +SELECT @saved_long_query_time, @saved_log_output, @saved_general_log, @saved_slow_query_log; +@saved_long_query_time @saved_log_output @saved_general_log @saved_slow_query_log +10 FILE,TABLE 1 1 truncate table general_log; select * from general_log; event_time user_host thread_id server_id command_type argument @@ -136,6 +143,7 @@ sleep(2) select * from mysql.slow_log; start_time user_host query_time lock_time rows_sent rows_examined db last_insert_id insert_id server_id sql_text TIMESTAMP USER_HOST QUERY_TIME 00:00:00 1 0 mysql 0 0 1 select sleep(2) +set @@session.long_query_time = @saved_long_query_time; alter table mysql.general_log engine=myisam; ERROR HY000: You cannot 'ALTER' a log table if logging is enabled alter table mysql.slow_log engine=myisam; @@ -213,6 +221,7 @@ TIMESTAMP USER_HOST THREAD_ID 1 Query truncate table mysql.slow_log TIMESTAMP USER_HOST THREAD_ID 1 Query set session long_query_time=1 TIMESTAMP USER_HOST THREAD_ID 1 Query select sleep(2) TIMESTAMP USER_HOST THREAD_ID 1 Query select * from mysql.slow_log +TIMESTAMP USER_HOST THREAD_ID 1 Query set @@session.long_query_time = @saved_long_query_time TIMESTAMP USER_HOST THREAD_ID 1 Query alter table mysql.general_log engine=myisam TIMESTAMP USER_HOST THREAD_ID 1 Query alter table mysql.slow_log engine=myisam TIMESTAMP USER_HOST THREAD_ID 1 Query drop table mysql.general_log @@ -281,6 +290,7 @@ use mysql; lock tables general_log read local, help_category read local; ERROR HY000: You can't use locks with log tables. unlock tables; +SET SESSION long_query_time = 1000; drop table if exists mysql.renamed_general_log; drop table if exists mysql.renamed_slow_log; drop table if exists mysql.general_log_new; @@ -330,6 +340,7 @@ set global slow_query_log='ON'; ERROR 42S02: Table 'mysql.slow_log' doesn't exist RENAME TABLE general_log2 TO general_log; RENAME TABLE slow_log2 TO slow_log; +SET SESSION long_query_time = @saved_long_query_time; set global general_log='ON'; set global slow_query_log='ON'; flush logs; @@ -390,7 +401,6 @@ SET GLOBAL general_log = 0; FLUSH LOGS; ALTER TABLE mysql.general_log DROP COLUMN seq; ALTER TABLE mysql.general_log ENGINE = CSV; -SET @old_long_query_time:=@@long_query_time; SET GLOBAL slow_query_log = 0; FLUSH LOGS; TRUNCATE TABLE mysql.slow_log; @@ -418,10 +428,11 @@ START_TIME USER_HOST QUERY_TIME 00:00:00 1 0 test 0 0 1 SELECT "My own slow quer START_TIME USER_HOST QUERY_TIME 00:00:00 1 0 test 0 0 1 SELECT "My own slow query", sleep(2) 3 START_TIME USER_HOST QUERY_TIME 00:00:00 1 0 test 0 0 1 SELECT "My own slow query", sleep(2) 4 SET GLOBAL slow_query_log = 0; -SET SESSION long_query_time =@old_long_query_time; +SET SESSION long_query_time =@saved_long_query_time; FLUSH LOGS; ALTER TABLE mysql.slow_log DROP COLUMN seq; ALTER TABLE mysql.slow_log ENGINE = CSV; +SET GLOBAL slow_query_log = @saved_slow_query_log; drop procedure if exists proc25422_truncate_slow; drop procedure if exists proc25422_truncate_general; drop procedure if exists proc25422_alter_slow; @@ -593,8 +604,6 @@ UNTIL done END REPEAT; CLOSE cur1; TRUNCATE mysql.general_log; END // -SET @old_general_log_state = @@global.general_log; -SET @old_slow_log_state = @@global.slow_query_log; SET GLOBAL general_log = ON; SET GLOBAL slow_query_log = ON; select "put something into general_log"; @@ -614,11 +623,10 @@ DROP TABLE `db_17876.general_log_data`; DROP PROCEDURE IF EXISTS `db_17876.archiveSlowLog`; DROP PROCEDURE IF EXISTS `db_17876.archiveGeneralLog`; DROP DATABASE IF EXISTS `db_17876`; -SET GLOBAL general_log = @old_general_log_state; -SET GLOBAL slow_query_log = @old_slow_log_state; +SET GLOBAL general_log = @saved_general_log; +SET GLOBAL slow_query_log = @saved_slow_query_log; select CONNECTION_ID() into @thread_id; truncate table mysql.general_log; -set @old_general_log_state = @@global.general_log; set global general_log = on; set @lparam = "000 001 002 003 004 005 006 007 008 009" "010 011 012 013 014 015 016 017 018 019" @@ -725,6 +733,7 @@ execute long_query using @lparam; set global general_log = off; select command_type, argument from mysql.general_log where thread_id = @thread_id; command_type argument +Query set global general_log = on Query set @lparam = "000 001 002 003 004 005 006 007 008 009" "010 011 012 013 014 015 016 017 018 019" "020 021 022 023 024 025 026 027 028 029" @@ -831,13 +840,11 @@ Query execute long_query using @lparam Execute select '000 001 002 003 004 005 006 007 008 009010 011 012 013 014 015 016 017 018 019020 021 022 023 024 025 026 027 028 029030 031 032 033 034 035 036 037 038 039040 041 042 043 044 045 046 047 048 049050 051 052 053 054 055 056 057 058 059060 061 062 063 064 065 066 067 068 069070 071 072 073 074 075 076 077 078 079080 081 082 083 084 085 086 087 088 089090 091 092 093 094 095 096 097 098 099100 101 102 103 104 105 106 107 108 109110 111 112 113 114 115 116 117 118 119120 121 122 123 124 125 126 127 128 129130 131 132 133 134 135 136 137 138 139140 141 142 143 144 145 146 147 148 149150 151 152 153 154 155 156 157 158 159160 161 162 163 164 165 166 167 168 169170 171 172 173 174 175 176 177 178 179180 181 182 183 184 185 186 187 188 189190 191 192 193 194 195 196 197 198 199200 201 202 203 204 205 206 207 208 209210 211 212 213 214 215 216 217 218 219220 221 222 223 224 225 226 227 228 229230 231 232 233 234 235 236 237 238 239240 241 242 243 244 245 246 247 248 249250 251 252 253 254 255 256 257 258 259260 261 262 263 264 265 266 267 268 269270 271 272 273 274 275 276 277 278 279280 281 282 283 284 285 286 287 288 289290 291 292 293 294 295 296 297 298 299300 301 302 303 304 305 306 307 308 309310 311 312 313 314 315 316 317 318 319320 321 322 323 324 325 326 327 328 329330 331 332 333 334 335 336 337 338 339340 341 342 343 344 345 346 347 348 349350 351 352 353 354 355 356 357 358 359360 361 362 363 364 365 366 367 368 369370 371 372 373 374 375 376 377 378 379380 381 382 383 384 385 386 387 388 389390 391 392 393 394 395 396 397 398 399400 401 402 403 404 405 406 407 408 409410 411 412 413 414 415 416 417 418 419420 421 422 423 424 425 426 427 428 429430 431 432 433 434 435 436 437 438 439440 441 442 443 444 445 446 447 448 449450 451 452 453 454 455 456 457 458 459460 461 462 463 464 465 466 467 468 469470 471 472 473 474 475 476 477 478 479480 481 482 483 484 485 486 487 488 489490 491 492 493 494 495 496 497 498 499500 501 502 503 504 505 506 507 508 509510 511 512 513 514 515 516 517 518 519520 521 522 523 524 525 526 527 528 529530 531 532 533 534 535 536 537 538 539540 541 542 543 544 545 546 547 548 549550 551 552 553 554 555 556 557 558 559560 561 562 563 564 565 566 567 568 569570 571 572 573 574 575 576 577 578 579580 581 582 583 584 585 586 587 588 589590 591 592 593 594 595 596 597 598 599600 601 602 603 604 605 606 607 608 609610 611 612 613 614 615 616 617 618 619620 621 622 623 624 625 626 627 628 629630 631 632 633 634 635 636 637 638 639640 641 642 643 644 645 646 647 648 649650 651 652 653 654 655 656 657 658 659660 661 662 663 664 665 666 667 668 669670 671 672 673 674 675 676 677 678 679680 681 682 683 684 685 686 687 688 689690 691 692 693 694 695 696 697 698 699700 701 702 703 704 705 706 707 708 709710 711 712 713 714 715 716 717 718 719720 721 722 723 724 725 726 727 728 729730 731 732 733 734 735 736 737 738 739740 741 742 743 744 745 746 747 748 749750 751 752 753 754 755 756 757 758 759760 761 762 763 764 765 766 767 768 769770 771 772 773 774 775 776 777 778 779780 781 782 783 784 785 786 787 788 789790 791 792 793 794 795 796 797 798 799800 801 802 803 804 805 806 807 808 809810 811 812 813 814 815 816 817 818 819820 821 822 823 824 825 826 827 828 829830 831 832 833 834 835 836 837 838 839840 841 842 843 844 845 846 847 848 849850 851 852 853 854 855 856 857 858 859860 861 862 863 864 865 866 867 868 869870 871 872 873 874 875 876 877 878 879880 881 882 883 884 885 886 887 888 889890 891 892 893 894 895 896 897 898 899900 901 902 903 904 905 906 907 908 909910 911 912 913 914 915 916 917 918 919920 921 922 923 924 925 926 927 928 929930 931 932 933 934 935 936 937 938 939940 941 942 943 944 945 946 947 948 949950 951 952 953 954 955 956 957 958 959960 961 962 963 964 965 966 967 968 969970 971 972 973 974 975 976 977 978 979980 981 982 983 984 985 986 987 988 989990 991 992 993 994 995 996 997 998 999' as long_query Query set global general_log = off deallocate prepare long_query; -set global general_log = @old_general_log_state; +set global general_log = @saved_general_log; DROP TABLE IF EXISTS log_count; DROP TABLE IF EXISTS slow_log_copy; DROP TABLE IF EXISTS general_log_copy; CREATE TABLE log_count (count BIGINT(21)); -SET @old_general_log_state = @@global.general_log; -SET @old_slow_log_state = @@global.slow_query_log; SET GLOBAL general_log = ON; SET GLOBAL slow_query_log = ON; CREATE TABLE slow_log_copy SELECT * FROM mysql.slow_log; @@ -858,10 +865,9 @@ CREATE TABLE general_log_copy SELECT * FROM mysql.general_log; INSERT INTO general_log_copy SELECT * FROM mysql.general_log; INSERT INTO log_count (count) VALUES ((SELECT count(*) FROM mysql.general_log)); DROP TABLE general_log_copy; -SET GLOBAL general_log = @old_general_log_state; -SET GLOBAL slow_query_log = @old_slow_log_state; +SET GLOBAL general_log = @saved_general_log; +SET GLOBAL slow_query_log = @saved_slow_query_log; DROP TABLE log_count; -SET @old_slow_log_state = @@global.slow_query_log; SET SESSION long_query_time = 0; SET GLOBAL slow_query_log = ON; FLUSH LOGS; @@ -887,5 +893,7 @@ TIMESTAMP 1 1 SELECT SQL_NO_CACHE 'Bug#31700 - KEY', f1,f2,f3,SLEEP(1.1) FROM t1 TIMESTAMP 1 1 SELECT SQL_NO_CACHE 'Bug#31700 - PK', f1,f2,f3,SLEEP(1.1) FROM t1 WHERE f1=2 DROP TABLE t1; TRUNCATE TABLE mysql.slow_log; -SET GLOBAL slow_query_log = @old_slow_log_state; -SET SESSION long_query_time =@old_long_query_time; +SET GLOBAL slow_query_log = @saved_slow_query_log; +SET GLOBAL general_log=@saved_general_log; +SET SESSION long_query_time =@saved_long_query_time; +SET GLOBAL LOG_OUTPUT = @saved_log_output; diff --git a/mysql-test/t/log_tables.test b/mysql-test/t/log_tables.test index 34086336fa8..bdd22538c14 100644 --- a/mysql-test/t/log_tables.test +++ b/mysql-test/t/log_tables.test @@ -10,6 +10,21 @@ --disable_ps_protocol use mysql; +# Capture initial settings of system variables +# so that we can revert to old state after manipulation for testing +# NOTE: PLEASE USE THESE VALUES TO 'RESET' SYSTEM VARIABLES +# Capturing old values within the tests results in loss of values +# due to people not paying attention to previous tests' changes, captures +# or improper cleanup +SET @saved_long_query_time = @@long_query_time; +SET @saved_log_output = @@log_output; +SET @saved_general_log = @@GLOBAL.general_log; +SET @saved_slow_query_log = @@GLOBAL.slow_query_log; + +SELECT @saved_long_query_time, @saved_log_output, @saved_general_log, @saved_slow_query_log; + + + # # Check that log tables work and we can do basic selects. This also # tests truncate, which works in a special mode with the log tables @@ -161,6 +176,7 @@ set session long_query_time=1; select sleep(2); --replace_column 1 TIMESTAMP 2 USER_HOST 3 QUERY_TIME select * from mysql.slow_log; +set @@session.long_query_time = @saved_long_query_time; # # Bug #18559 log tables cannot change engine, and gets deadlocked when @@ -305,6 +321,7 @@ unlock tables; # Bug #21785 Server crashes after rename of the log table # +SET SESSION long_query_time = 1000; --disable_warnings drop table if exists mysql.renamed_general_log; drop table if exists mysql.renamed_slow_log; @@ -365,6 +382,7 @@ set global slow_query_log='ON'; RENAME TABLE general_log2 TO general_log; RENAME TABLE slow_log2 TO slow_log; +SET SESSION long_query_time = @saved_long_query_time; # this should work set global general_log='ON'; @@ -476,8 +494,6 @@ ALTER TABLE mysql.general_log ENGINE = CSV; ## test the slow query log -SET @old_long_query_time:=@@long_query_time; - SET GLOBAL slow_query_log = 0; FLUSH LOGS; @@ -503,12 +519,14 @@ SELECT "My own slow query", sleep(2); SELECT * FROM mysql.slow_log WHERE seq >= 2 LIMIT 3; SET GLOBAL slow_query_log = 0; -SET SESSION long_query_time =@old_long_query_time; +SET SESSION long_query_time =@saved_long_query_time; FLUSH LOGS; ALTER TABLE mysql.slow_log DROP COLUMN seq; ALTER TABLE mysql.slow_log ENGINE = CSV; +SET GLOBAL slow_query_log = @saved_slow_query_log; + # # Bug#25422 (Hang with log tables) # @@ -790,9 +808,6 @@ END // DELIMITER ;// -SET @old_general_log_state = @@global.general_log; -SET @old_slow_log_state = @@global.slow_query_log; - SET GLOBAL general_log = ON; SET GLOBAL slow_query_log = ON; @@ -814,8 +829,8 @@ DROP PROCEDURE IF EXISTS `db_17876.archiveSlowLog`; DROP PROCEDURE IF EXISTS `db_17876.archiveGeneralLog`; DROP DATABASE IF EXISTS `db_17876`; -SET GLOBAL general_log = @old_general_log_state; -SET GLOBAL slow_query_log = @old_slow_log_state; +SET GLOBAL general_log = @saved_general_log; +SET GLOBAL slow_query_log = @saved_slow_query_log; # # Bug#21557 entries in the general query log truncated at 1000 characters. @@ -823,7 +838,6 @@ SET GLOBAL slow_query_log = @old_slow_log_state; select CONNECTION_ID() into @thread_id; truncate table mysql.general_log; -set @old_general_log_state = @@global.general_log; set global general_log = on; --disable_result_log set @lparam = "000 001 002 003 004 005 006 007 008 009" @@ -934,7 +948,7 @@ execute long_query using @lparam; set global general_log = off; select command_type, argument from mysql.general_log where thread_id = @thread_id; deallocate prepare long_query; -set global general_log = @old_general_log_state; +set global general_log = @saved_general_log; # # Bug#34306: Can't make copy of log tables when server binary log is enabled @@ -948,9 +962,6 @@ DROP TABLE IF EXISTS general_log_copy; CREATE TABLE log_count (count BIGINT(21)); -SET @old_general_log_state = @@global.general_log; -SET @old_slow_log_state = @@global.slow_query_log; - SET GLOBAL general_log = ON; SET GLOBAL slow_query_log = ON; @@ -977,15 +988,14 @@ INSERT INTO general_log_copy SELECT * FROM mysql.general_log; INSERT INTO log_count (count) VALUES ((SELECT count(*) FROM mysql.general_log)); DROP TABLE general_log_copy; -SET GLOBAL general_log = @old_general_log_state; -SET GLOBAL slow_query_log = @old_slow_log_state; +SET GLOBAL general_log = @saved_general_log; +SET GLOBAL slow_query_log = @saved_slow_query_log; DROP TABLE log_count; # # Bug #31700: thd->examined_row_count not incremented for 'const' type queries # -SET @old_slow_log_state = @@global.slow_query_log; SET SESSION long_query_time = 0; SET GLOBAL slow_query_log = ON; @@ -1010,5 +1020,10 @@ DROP TABLE t1; TRUNCATE TABLE mysql.slow_log; -SET GLOBAL slow_query_log = @old_slow_log_state; -SET SESSION long_query_time =@old_long_query_time; +# RESET altered system variables before exiting the test +SET GLOBAL slow_query_log = @saved_slow_query_log; +SET GLOBAL general_log=@saved_general_log; +SET SESSION long_query_time =@saved_long_query_time; +SET GLOBAL LOG_OUTPUT = @saved_log_output; + + From 9ad8d644392bc9ca23e0212e18c704f7a6520837 Mon Sep 17 00:00:00 2001 From: Davi Arnaut Date: Tue, 21 Oct 2008 15:45:43 -0200 Subject: [PATCH 040/141] Bug#28323: Server crashed in xid cache operations The problem was that the server did not robustly handle a unilateral roll back issued by the Resource Manager (RM) due to a resource deadlock within the transaction branch. By not acknowledging the roll back, the server (TM) would eventually corrupt the XA transaction state and crash. The solution is to mark the transaction as rollback-only if the RM indicates that it rolled back its branch of the transaction. mysql-test/r/xa.result: Add test case result for Bug#28323 mysql-test/t/xa.test: Add test case for Bug#28323 sql/handler.cc: Reset XID only at the end of the global transaction. sql/share/errmsg.txt: Add new error codes. sql/sql_class.h: Remember the error reported by the Resource Manager. sql/sql_parse.cc: Rollback the transaction if the Resource Manager reported a error and rolled back its branch of the transaction. --- mysql-test/r/xa.result | 19 ++++++++++ mysql-test/t/xa.test | 44 ++++++++++++++++++++++++ sql/handler.cc | 7 +++- sql/share/errmsg.txt | 4 +++ sql/sql_class.h | 4 ++- sql/sql_parse.cc | 78 +++++++++++++++++++++++++++++++++++++----- 6 files changed, 145 insertions(+), 11 deletions(-) diff --git a/mysql-test/r/xa.result b/mysql-test/r/xa.result index 5fb03d2378e..25d09f59247 100644 --- a/mysql-test/r/xa.result +++ b/mysql-test/r/xa.result @@ -55,3 +55,22 @@ select * from t1; a 20 drop table t1; +drop table if exists t1; +create table t1(a int, b int, c varchar(20), primary key(a)) engine = innodb; +insert into t1 values(1, 1, 'a'); +insert into t1 values(2, 2, 'b'); +xa start 'a','b'; +update t1 set c = 'aa' where a = 1; +xa start 'a','c'; +update t1 set c = 'bb' where a = 2; +update t1 set c = 'bb' where a = 2; +update t1 set c = 'aa' where a = 1; +ERROR 40001: Deadlock found when trying to get lock; try restarting transaction +select count(*) from t1; +count(*) +2 +xa end 'a','c'; +ERROR XA102: XA_RBDEADLOCK: Transaction branch was rolled back: deadlock was detected +xa rollback 'a','c'; +xa start 'a','c'; +End of 5.0 tests diff --git a/mysql-test/t/xa.test b/mysql-test/t/xa.test index 0d564727fe3..8f408fb1eda 100644 --- a/mysql-test/t/xa.test +++ b/mysql-test/t/xa.test @@ -74,3 +74,47 @@ xa start 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz'; select * from t1; drop table t1; +disconnect con1; + +# +# Bug#28323: Server crashed in xid cache operations +# + +--disable_warnings +drop table if exists t1; +--enable_warnings + +create table t1(a int, b int, c varchar(20), primary key(a)) engine = innodb; +insert into t1 values(1, 1, 'a'); +insert into t1 values(2, 2, 'b'); + +connect (con1,localhost,root,,); +connect (con2,localhost,root,,); + +--connection con1 +xa start 'a','b'; +update t1 set c = 'aa' where a = 1; +--connection con2 +xa start 'a','c'; +update t1 set c = 'bb' where a = 2; +--connection con1 +--send update t1 set c = 'bb' where a = 2 +--connection con2 +--sleep 1 +--error ER_LOCK_DEADLOCK +update t1 set c = 'aa' where a = 1; +select count(*) from t1; +--error ER_XA_RBDEADLOCK +xa end 'a','c'; +xa rollback 'a','c'; +--disconnect con2 + +connect (con3,localhost,root,,); +--connection con3 +xa start 'a','c'; + +--disconnect con1 +--disconnect con3 +--connection default + +--echo End of 5.0 tests diff --git a/sql/handler.cc b/sql/handler.cc index 0de772e366b..67ec5f3e759 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -817,7 +817,12 @@ int ha_rollback_trans(THD *thd, bool all) trans->nht=0; trans->no_2pc=0; if (is_real_trans) - thd->transaction.xid_state.xid.null(); + { + if (thd->transaction_rollback_request) + thd->transaction.xid_state.rm_error= thd->net.last_errno; + else + thd->transaction.xid_state.xid.null(); + } if (all) { thd->variables.tx_isolation=thd->session_tx_isolation; diff --git a/sql/share/errmsg.txt b/sql/share/errmsg.txt index 0916ad56cef..c688ba88b7b 100644 --- a/sql/share/errmsg.txt +++ b/sql/share/errmsg.txt @@ -5645,3 +5645,7 @@ ER_LOAD_DATA_INVALID_COLUMN eng "Invalid column reference (%-.64s) in LOAD DATA" ER_LOG_PURGE_NO_FILE eng "Being purged log %s was not found" +ER_XA_RBTIMEOUT XA106 + eng "XA_RBTIMEOUT: Transaction branch was rolled back: took too long" +ER_XA_RBDEADLOCK XA102 + eng "XA_RBDEADLOCK: Transaction branch was rolled back: deadlock was detected" diff --git a/sql/sql_class.h b/sql/sql_class.h index 9fe0a7423de..c8d42d44df7 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -927,7 +927,7 @@ struct st_savepoint { uint length, nht; }; -enum xa_states {XA_NOTR=0, XA_ACTIVE, XA_IDLE, XA_PREPARED}; +enum xa_states {XA_NOTR=0, XA_ACTIVE, XA_IDLE, XA_PREPARED, XA_ROLLBACK_ONLY}; extern const char *xa_state_names[]; typedef struct st_xid_state { @@ -935,6 +935,8 @@ typedef struct st_xid_state { XID xid; // transaction identifier enum xa_states xa_state; // used by external XA only bool in_thd; + /* Error reported by the Resource Manager (RM) to the Transaction Manager. */ + uint rm_error; } XID_STATE; extern pthread_mutex_t LOCK_xid_cache; diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 005fdcac7f3..91c5cacc4d0 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -90,9 +90,57 @@ const char *command_name[]={ }; const char *xa_state_names[]={ - "NON-EXISTING", "ACTIVE", "IDLE", "PREPARED" + "NON-EXISTING", "ACTIVE", "IDLE", "PREPARED", "ROLLBACK ONLY" }; +/** + Mark a XA transaction as rollback-only if the RM unilaterally + rolled back the transaction branch. + + @note If a rollback was requested by the RM, this function sets + the appropriate rollback error code and transits the state + to XA_ROLLBACK_ONLY. + + @return TRUE if transaction was rolled back or if the transaction + state is XA_ROLLBACK_ONLY. FALSE otherwise. +*/ +static bool xa_trans_rolled_back(XID_STATE *xid_state) +{ + if (xid_state->rm_error) + { + switch (xid_state->rm_error) { + case ER_LOCK_WAIT_TIMEOUT: + my_error(ER_XA_RBTIMEOUT, MYF(0)); + break; + case ER_LOCK_DEADLOCK: + my_error(ER_XA_RBDEADLOCK, MYF(0)); + break; + default: + my_error(ER_XA_RBROLLBACK, MYF(0)); + } + xid_state->xa_state= XA_ROLLBACK_ONLY; + } + + return (xid_state->xa_state == XA_ROLLBACK_ONLY); +} + +/** + Rollback work done on behalf of at ransaction branch. +*/ +static bool xa_trans_rollback(THD *thd) +{ + bool status= test(ha_rollback(thd)); + + thd->options&= ~(ulong) OPTION_BEGIN; + thd->transaction.all.modified_non_trans_table= FALSE; + thd->server_status&= ~SERVER_STATUS_IN_TRANS; + xid_cache_delete(&thd->transaction.xid_state); + thd->transaction.xid_state.xa_state= XA_NOTR; + thd->transaction.xid_state.rm_error= 0; + + return status; +} + #ifndef EMBEDDED_LIBRARY static bool do_command(THD *thd); #endif // EMBEDDED_LIBRARY @@ -5070,6 +5118,7 @@ create_sp_error: } DBUG_ASSERT(thd->transaction.xid_state.xid.is_null()); thd->transaction.xid_state.xa_state=XA_ACTIVE; + thd->transaction.xid_state.rm_error= 0; thd->transaction.xid_state.xid.set(thd->lex->xid); xid_cache_insert(&thd->transaction.xid_state); thd->transaction.all.modified_non_trans_table= FALSE; @@ -5095,6 +5144,8 @@ create_sp_error: my_error(ER_XAER_NOTA, MYF(0)); break; } + if (xa_trans_rolled_back(&thd->transaction.xid_state)) + break; thd->transaction.xid_state.xa_state=XA_IDLE; send_ok(thd); break; @@ -5126,6 +5177,12 @@ create_sp_error: XID_STATE *xs=xid_cache_search(thd->lex->xid); if (!xs || xs->in_thd) my_error(ER_XAER_NOTA, MYF(0)); + else if (xa_trans_rolled_back(xs)) + { + ha_commit_or_rollback_by_xid(thd->lex->xid, 0); + xid_cache_delete(xs); + break; + } else { ha_commit_or_rollback_by_xid(thd->lex->xid, 1); @@ -5134,6 +5191,11 @@ create_sp_error: } break; } + if (xa_trans_rolled_back(&thd->transaction.xid_state)) + { + xa_trans_rollback(thd); + break; + } if (thd->transaction.xid_state.xa_state == XA_IDLE && thd->lex->xa_opt == XA_ONE_PHASE) { @@ -5180,28 +5242,26 @@ create_sp_error: my_error(ER_XAER_NOTA, MYF(0)); else { + bool ok= !xa_trans_rolled_back(xs); ha_commit_or_rollback_by_xid(thd->lex->xid, 0); xid_cache_delete(xs); - send_ok(thd); + if (ok) + send_ok(thd); } break; } if (thd->transaction.xid_state.xa_state != XA_IDLE && - thd->transaction.xid_state.xa_state != XA_PREPARED) + thd->transaction.xid_state.xa_state != XA_PREPARED && + thd->transaction.xid_state.xa_state != XA_ROLLBACK_ONLY) { my_error(ER_XAER_RMFAIL, MYF(0), xa_state_names[thd->transaction.xid_state.xa_state]); break; } - if (ha_rollback(thd)) + if (xa_trans_rollback(thd)) my_error(ER_XAER_RMERR, MYF(0)); else send_ok(thd); - thd->options&= ~(ulong) OPTION_BEGIN; - thd->transaction.all.modified_non_trans_table= FALSE; - thd->server_status&= ~SERVER_STATUS_IN_TRANS; - xid_cache_delete(&thd->transaction.xid_state); - thd->transaction.xid_state.xa_state=XA_NOTR; break; case SQLCOM_XA_RECOVER: res= mysql_xa_recover(thd); From 49ff055736b3b613005e5b17915d08fe48b7b532 Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Thu, 23 Oct 2008 15:28:53 +0200 Subject: [PATCH 041/141] Bug#40280: Message compiler(mc.exe) needed to compile MySQL on windows. Visual Studio 2008 Express edition does not include message compiler mc.exe It is not possible to build MySQL server if only VC2008 Express is installed, because we use mc.exe to generate event log messages. This patch removes the mc.exe dependency. Generated files message.h, message.rc and MSG00001.bin are checked into source code repository. Instructions on how to add or change messages are added to messages.mc --- sql/CMakeLists.txt | 15 +++---------- sql/MSG00001.bin | Bin 0 -> 184 bytes sql/Makefile.am | 3 ++- sql/message.h | 55 +++++++++++++++++++++++++++++++++++++++++++++ sql/message.mc | 8 +++++++ sql/message.rc | 2 ++ 6 files changed, 70 insertions(+), 13 deletions(-) create mode 100644 sql/MSG00001.bin create mode 100644 sql/message.h create mode 100644 sql/message.rc diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt index 9ea9874c1b1..860afb42a27 100755 --- a/sql/CMakeLists.txt +++ b/sql/CMakeLists.txt @@ -28,10 +28,8 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/bdb/build_win32 ${CMAKE_SOURCE_DIR}/bdb/dbinc) -SET_SOURCE_FILES_PROPERTIES(${CMAKE_SOURCE_DIR}/sql/message.rc - ${CMAKE_SOURCE_DIR}/sql/message.h - ${CMAKE_SOURCE_DIR}/sql/sql_yacc.h - ${CMAKE_SOURCE_DIR}/sql/sql_yacc.cc +SET_SOURCE_FILES_PROPERTIES(${CMAKE_SOURCE_DIR}/sql/sql_yacc.h + ${CMAKE_SOURCE_DIR}/sql/sql_yacc.cc ${CMAKE_SOURCE_DIR}/include/mysql_version.h ${CMAKE_SOURCE_DIR}/sql/lex_hash.h ${PROJECT_SOURCE_DIR}/include/mysqld_error.h @@ -120,13 +118,6 @@ ADD_CUSTOM_COMMAND( DEPENDS ${PROJECT_SOURCE_DIR}/sql/sql_yacc.cc ) -# Windows message file -ADD_CUSTOM_COMMAND( - SOURCE ${PROJECT_SOURCE_DIR}/sql/message.mc - OUTPUT message.rc message.h - COMMAND mc ARGS ${PROJECT_SOURCE_DIR}/sql/message.mc - DEPENDS ${PROJECT_SOURCE_DIR}/sql/message.mc) - # Gen_lex_hash # About "mysqlclient_notls", see note in "client/CMakeLists.txt" ADD_EXECUTABLE(gen_lex_hash gen_lex_hash.cc) @@ -141,7 +132,7 @@ ADD_DEPENDENCIES(mysqld${MYSQLD_EXE_SUFFIX} gen_lex_hash) # Remove the auto-generated files as part of 'Clean Solution' SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES - "lex_hash.h;message.rc;message.h;sql_yacc.h;sql_yacc.cc") + "lex_hash.h;sql_yacc.h;sql_yacc.cc") ADD_LIBRARY(udf_example MODULE udf_example.c udf_example.def) ADD_DEPENDENCIES(udf_example strings) diff --git a/sql/MSG00001.bin b/sql/MSG00001.bin new file mode 100644 index 0000000000000000000000000000000000000000..89f547694f5fd13c7773d3b80d0119aa4bccb713 GIT binary patch literal 184 zcmW-bK?=e^5Ckh%LGTH=c$0`%uY!2@1;MN+xJlF%@kc(xr&$@Aou1yA?%fLL;5VIx z{g;X*8}}?n=)&RHmh<2X9tRo+MFou-+K$S|^=+ Date: Thu, 23 Oct 2008 22:14:07 +0200 Subject: [PATCH 042/141] Bug#40176: update as first partitioning statement breaks auto increment The auto_increment value was not initialized if the first statement after opening a table was an 'UPDATE'. solution was to check initialize if it was not, before trying to increase it in update. mysql-test/suite/parts/inc/partition_auto_increment.inc: Bug#40176: update as first partitioning statement breaks auto increment Added tests for verifying the bug and show some more auto_increment flaws mysql-test/suite/parts/r/partition_auto_increment_archive.result: Bug#40176: update as first partitioning statement breaks auto increment Updated test results, due to added tests mysql-test/suite/parts/r/partition_auto_increment_blackhole.result: Bug#40176: update as first partitioning statement breaks auto increment Updated test results, due to added tests mysql-test/suite/parts/r/partition_auto_increment_innodb.result: Bug#40176: update as first partitioning statement breaks auto increment Updated test results, due to added tests mysql-test/suite/parts/r/partition_auto_increment_memory.result: Bug#40176: update as first partitioning statement breaks auto increment Updated test results, due to added tests mysql-test/suite/parts/r/partition_auto_increment_myisam.result: Bug#40176: update as first partitioning statement breaks auto increment Updated test results, due to added tests mysql-test/suite/parts/r/partition_auto_increment_ndb.result: Bug#40176: update as first partitioning statement breaks auto increment Updated test results, due to added tests sql/ha_partition.cc: Bug#40176: update as first partitioning statement breaks auto increment make sure that the auto_increment value is initialized before updating it. (missed initializing in mysql_update_row). sql/ha_partition.h: Bug#40176: update as first partitioning statement breaks auto increment Assert that it is initialized, before updating the auto_increment value --- .../parts/inc/partition_auto_increment.inc | 28 +++++++++++ .../r/partition_auto_increment_archive.result | 22 +++++++++ .../partition_auto_increment_blackhole.result | 36 +++++++++++++++ .../r/partition_auto_increment_innodb.result | 46 +++++++++++++++++-- .../r/partition_auto_increment_memory.result | 40 +++++++++++++++- .../r/partition_auto_increment_myisam.result | 40 +++++++++++++++- .../r/partition_auto_increment_ndb.result | 40 +++++++++++++++- sql/ha_partition.cc | 30 ++++++------ sql/ha_partition.h | 2 +- 9 files changed, 259 insertions(+), 25 deletions(-) diff --git a/mysql-test/suite/parts/inc/partition_auto_increment.inc b/mysql-test/suite/parts/inc/partition_auto_increment.inc index 341bf7ab860..5e9ad47aa2e 100644 --- a/mysql-test/suite/parts/inc/partition_auto_increment.inc +++ b/mysql-test/suite/parts/inc/partition_auto_increment.inc @@ -43,8 +43,13 @@ SET INSERT_ID = 30; INSERT INTO t1 VALUES (NULL); if (!$skip_update) { +# InnoDB Does not handle this correctly, see bug#14793, bug#21641 UPDATE t1 SET c1 = 50 WHERE c1 = 17; UPDATE t1 SET c1 = 51 WHERE c1 = 19; + FLUSH TABLES; + UPDATE t1 SET c1 = 40 WHERE c1 = 50; + SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' + AND TABLE_NAME='t1'; -- error 0, ER_BAD_NULL_ERROR UPDATE t1 SET c1 = NULL WHERE c1 = 4; if (!$mysql_errno) @@ -83,6 +88,16 @@ TRUNCATE TABLE t1; INSERT INTO t1 VALUES (NULL); SHOW CREATE TABLE t1; SELECT * FROM t1 ORDER BY c1; +INSERT INTO t1 VALUES (100); +INSERT INTO t1 VALUES (NULL); +if (!$skip_delete) +{ +DELETE FROM t1 WHERE c1 >= 100; +} +# InnoDB does reset auto_increment on OPTIMIZE, Bug#18274 +# Archive does reset auto_increment on OPTIMIZE, Bug#40216 +OPTIMIZE TABLE t1; +SHOW CREATE TABLE t1; DROP TABLE t1; -- echo # Simple test with NULL @@ -184,6 +199,10 @@ if (!$skip_update) { UPDATE t1 SET c1 = 150 WHERE c1 = 17; UPDATE t1 SET c1 = 151 WHERE c1 = 19; + FLUSH TABLES; + UPDATE t1 SET c1 = 140 WHERE c1 = 150; + SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' + AND TABLE_NAME='t1'; -- error 0, ER_BAD_NULL_ERROR UPDATE t1 SET c1 = NULL WHERE c1 = 4; if (!$mysql_errno) @@ -295,6 +314,15 @@ TRUNCATE TABLE t1; INSERT INTO t1 VALUES (NULL); SHOW CREATE TABLE t1; SELECT * FROM t1 ORDER BY c1; +INSERT INTO t1 VALUES (100); +INSERT INTO t1 VALUES (NULL); +if (!$skip_delete) +{ +DELETE FROM t1 WHERE c1 >= 100; +} +# InnoDB does reset auto_increment on OPTIMIZE, Bug#18274 +OPTIMIZE TABLE t1; +SHOW CREATE TABLE t1; DROP TABLE t1; -- echo # Test with two threads diff --git a/mysql-test/suite/parts/r/partition_auto_increment_archive.result b/mysql-test/suite/parts/r/partition_auto_increment_archive.result index edfe408a072..c8d7b2af0c6 100644 --- a/mysql-test/suite/parts/r/partition_auto_increment_archive.result +++ b/mysql-test/suite/parts/r/partition_auto_increment_archive.result @@ -105,6 +105,17 @@ c1 5 6 7 +INSERT INTO t1 VALUES (100); +INSERT INTO t1 VALUES (NULL); +OPTIMIZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 optimize status OK +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`c1`) +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 DROP TABLE t1; # Simple test with NULL CREATE TABLE t1 ( @@ -362,6 +373,17 @@ c1 25 26 27 +INSERT INTO t1 VALUES (100); +INSERT INTO t1 VALUES (NULL); +OPTIMIZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 optimize status OK +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`c1`) +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ DROP TABLE t1; # Test with two threads # con default diff --git a/mysql-test/suite/parts/r/partition_auto_increment_blackhole.result b/mysql-test/suite/parts/r/partition_auto_increment_blackhole.result index 73b228c1b72..d3bfbdb3cab 100644 --- a/mysql-test/suite/parts/r/partition_auto_increment_blackhole.result +++ b/mysql-test/suite/parts/r/partition_auto_increment_blackhole.result @@ -36,6 +36,12 @@ SET INSERT_ID = 30; INSERT INTO t1 VALUES (NULL); UPDATE t1 SET c1 = 50 WHERE c1 = 17; UPDATE t1 SET c1 = 51 WHERE c1 = 19; +FLUSH TABLES; +UPDATE t1 SET c1 = 40 WHERE c1 = 50; +SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' + AND TABLE_NAME='t1'; +AUTO_INCREMENT +1 UPDATE t1 SET c1 = NULL WHERE c1 = 4; # ERROR (only OK if Blackhole) should give ER_DUP_KEY or ER_DUP_ENTRY INSERT INTO t1 VALUES (NULL); @@ -96,6 +102,18 @@ t1 CREATE TABLE `t1` ( ) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 SELECT * FROM t1 ORDER BY c1; c1 +INSERT INTO t1 VALUES (100); +INSERT INTO t1 VALUES (NULL); +DELETE FROM t1 WHERE c1 >= 100; +OPTIMIZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 optimize note The storage engine for the table doesn't support optimize +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`c1`) +) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 DROP TABLE t1; # Simple test with NULL CREATE TABLE t1 ( @@ -165,6 +183,12 @@ INSERT INTO t1 VALUES (NULL), (90); INSERT INTO t1 VALUES (NULL); UPDATE t1 SET c1 = 150 WHERE c1 = 17; UPDATE t1 SET c1 = 151 WHERE c1 = 19; +FLUSH TABLES; +UPDATE t1 SET c1 = 140 WHERE c1 = 150; +SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' + AND TABLE_NAME='t1'; +AUTO_INCREMENT +1 UPDATE t1 SET c1 = NULL WHERE c1 = 4; # ERROR (only OK if Blackhole) should give ER_DUP_KEY or ER_DUP_ENTRY INSERT INTO t1 VALUES (NULL); @@ -272,6 +296,18 @@ t1 CREATE TABLE `t1` ( ) ENGINE=BLACKHOLE AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 +INSERT INTO t1 VALUES (100); +INSERT INTO t1 VALUES (NULL); +DELETE FROM t1 WHERE c1 >= 100; +OPTIMIZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 optimize note The storage engine for the table doesn't support optimize +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`c1`) +) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ DROP TABLE t1; # Test with two threads # con default diff --git a/mysql-test/suite/parts/r/partition_auto_increment_innodb.result b/mysql-test/suite/parts/r/partition_auto_increment_innodb.result index 3cec527c2a6..a65c646cca9 100644 --- a/mysql-test/suite/parts/r/partition_auto_increment_innodb.result +++ b/mysql-test/suite/parts/r/partition_auto_increment_innodb.result @@ -35,6 +35,12 @@ SET INSERT_ID = 30; INSERT INTO t1 VALUES (NULL); UPDATE t1 SET c1 = 50 WHERE c1 = 17; UPDATE t1 SET c1 = 51 WHERE c1 = 19; +FLUSH TABLES; +UPDATE t1 SET c1 = 40 WHERE c1 = 50; +SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' + AND TABLE_NAME='t1'; +AUTO_INCREMENT +31 UPDATE t1 SET c1 = NULL WHERE c1 = 4; INSERT INTO t1 VALUES (NULL); INSERT INTO t1 VALUES (NULL); @@ -52,7 +58,7 @@ c1 30 31 32 -50 +40 51 DROP TABLE t1; CREATE TABLE t1 ( @@ -110,6 +116,19 @@ t1 CREATE TABLE `t1` ( SELECT * FROM t1 ORDER BY c1; c1 1 +INSERT INTO t1 VALUES (100); +INSERT INTO t1 VALUES (NULL); +DELETE FROM t1 WHERE c1 >= 100; +OPTIMIZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 optimize note Table does not support optimize, doing recreate + analyze instead +test.t1 optimize status OK +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`c1`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 DROP TABLE t1; # Simple test with NULL CREATE TABLE t1 ( @@ -187,6 +206,12 @@ INSERT INTO t1 VALUES (NULL), (90); INSERT INTO t1 VALUES (NULL); UPDATE t1 SET c1 = 150 WHERE c1 = 17; UPDATE t1 SET c1 = 151 WHERE c1 = 19; +FLUSH TABLES; +UPDATE t1 SET c1 = 140 WHERE c1 = 150; +SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' + AND TABLE_NAME='t1'; +AUTO_INCREMENT +141 UPDATE t1 SET c1 = NULL WHERE c1 = 4; INSERT INTO t1 VALUES (NULL); INSERT INTO t1 VALUES (NULL); @@ -207,10 +232,10 @@ c1 60 90 91 -150 +140 +141 +142 151 -152 -153 DROP TABLE t1; # Test with auto_increment_increment and auto_increment_offset. CREATE TABLE t1 ( @@ -353,6 +378,19 @@ t1 CREATE TABLE `t1` ( SELECT * FROM t1 ORDER BY c1; c1 1 +INSERT INTO t1 VALUES (100); +INSERT INTO t1 VALUES (NULL); +DELETE FROM t1 WHERE c1 >= 100; +OPTIMIZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 optimize note Table does not support optimize, doing recreate + analyze instead +test.t1 optimize status OK +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`c1`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ DROP TABLE t1; # Test with two threads # con default diff --git a/mysql-test/suite/parts/r/partition_auto_increment_memory.result b/mysql-test/suite/parts/r/partition_auto_increment_memory.result index 7a5d80c7758..24137c6c0e2 100644 --- a/mysql-test/suite/parts/r/partition_auto_increment_memory.result +++ b/mysql-test/suite/parts/r/partition_auto_increment_memory.result @@ -35,6 +35,12 @@ SET INSERT_ID = 30; INSERT INTO t1 VALUES (NULL); UPDATE t1 SET c1 = 50 WHERE c1 = 17; UPDATE t1 SET c1 = 51 WHERE c1 = 19; +FLUSH TABLES; +UPDATE t1 SET c1 = 40 WHERE c1 = 50; +SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' + AND TABLE_NAME='t1'; +AUTO_INCREMENT +52 UPDATE t1 SET c1 = NULL WHERE c1 = 4; INSERT INTO t1 VALUES (NULL); INSERT INTO t1 VALUES (NULL); @@ -50,7 +56,7 @@ c1 22 23 30 -50 +40 51 52 53 @@ -110,6 +116,18 @@ t1 CREATE TABLE `t1` ( SELECT * FROM t1 ORDER BY c1; c1 1 +INSERT INTO t1 VALUES (100); +INSERT INTO t1 VALUES (NULL); +DELETE FROM t1 WHERE c1 >= 100; +OPTIMIZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 optimize note The storage engine for the table doesn't support optimize +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`c1`) +) ENGINE=MEMORY AUTO_INCREMENT=102 DEFAULT CHARSET=latin1 DROP TABLE t1; # Simple test with NULL CREATE TABLE t1 ( @@ -187,6 +205,12 @@ INSERT INTO t1 VALUES (NULL), (90); INSERT INTO t1 VALUES (NULL); UPDATE t1 SET c1 = 150 WHERE c1 = 17; UPDATE t1 SET c1 = 151 WHERE c1 = 19; +FLUSH TABLES; +UPDATE t1 SET c1 = 140 WHERE c1 = 150; +SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' + AND TABLE_NAME='t1'; +AUTO_INCREMENT +152 UPDATE t1 SET c1 = NULL WHERE c1 = 4; INSERT INTO t1 VALUES (NULL); INSERT INTO t1 VALUES (NULL); @@ -207,7 +231,7 @@ c1 60 90 91 -150 +140 151 152 153 @@ -353,6 +377,18 @@ t1 CREATE TABLE `t1` ( SELECT * FROM t1 ORDER BY c1; c1 27 +INSERT INTO t1 VALUES (100); +INSERT INTO t1 VALUES (NULL); +DELETE FROM t1 WHERE c1 >= 100; +OPTIMIZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 optimize note The storage engine for the table doesn't support optimize +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`c1`) +) ENGINE=MEMORY AUTO_INCREMENT=102 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ DROP TABLE t1; # Test with two threads # con default diff --git a/mysql-test/suite/parts/r/partition_auto_increment_myisam.result b/mysql-test/suite/parts/r/partition_auto_increment_myisam.result index 7ec76ee014c..2234f2ac7c1 100644 --- a/mysql-test/suite/parts/r/partition_auto_increment_myisam.result +++ b/mysql-test/suite/parts/r/partition_auto_increment_myisam.result @@ -35,6 +35,12 @@ SET INSERT_ID = 30; INSERT INTO t1 VALUES (NULL); UPDATE t1 SET c1 = 50 WHERE c1 = 17; UPDATE t1 SET c1 = 51 WHERE c1 = 19; +FLUSH TABLES; +UPDATE t1 SET c1 = 40 WHERE c1 = 50; +SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' + AND TABLE_NAME='t1'; +AUTO_INCREMENT +52 UPDATE t1 SET c1 = NULL WHERE c1 = 4; INSERT INTO t1 VALUES (NULL); INSERT INTO t1 VALUES (NULL); @@ -50,7 +56,7 @@ c1 22 23 30 -50 +40 51 52 53 @@ -110,6 +116,18 @@ t1 CREATE TABLE `t1` ( SELECT * FROM t1 ORDER BY c1; c1 1 +INSERT INTO t1 VALUES (100); +INSERT INTO t1 VALUES (NULL); +DELETE FROM t1 WHERE c1 >= 100; +OPTIMIZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 optimize status OK +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`c1`) +) ENGINE=MyISAM AUTO_INCREMENT=102 DEFAULT CHARSET=latin1 DROP TABLE t1; # Simple test with NULL CREATE TABLE t1 ( @@ -187,6 +205,12 @@ INSERT INTO t1 VALUES (NULL), (90); INSERT INTO t1 VALUES (NULL); UPDATE t1 SET c1 = 150 WHERE c1 = 17; UPDATE t1 SET c1 = 151 WHERE c1 = 19; +FLUSH TABLES; +UPDATE t1 SET c1 = 140 WHERE c1 = 150; +SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' + AND TABLE_NAME='t1'; +AUTO_INCREMENT +152 UPDATE t1 SET c1 = NULL WHERE c1 = 4; INSERT INTO t1 VALUES (NULL); INSERT INTO t1 VALUES (NULL); @@ -207,7 +231,7 @@ c1 60 90 91 -150 +140 151 152 153 @@ -353,6 +377,18 @@ t1 CREATE TABLE `t1` ( SELECT * FROM t1 ORDER BY c1; c1 27 +INSERT INTO t1 VALUES (100); +INSERT INTO t1 VALUES (NULL); +DELETE FROM t1 WHERE c1 >= 100; +OPTIMIZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 optimize status OK +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`c1`) +) ENGINE=MyISAM AUTO_INCREMENT=102 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ DROP TABLE t1; # Test with two threads # con default diff --git a/mysql-test/suite/parts/r/partition_auto_increment_ndb.result b/mysql-test/suite/parts/r/partition_auto_increment_ndb.result index 37b46ef63ba..bced3a828a4 100644 --- a/mysql-test/suite/parts/r/partition_auto_increment_ndb.result +++ b/mysql-test/suite/parts/r/partition_auto_increment_ndb.result @@ -36,6 +36,12 @@ SET INSERT_ID = 30; INSERT INTO t1 VALUES (NULL); UPDATE t1 SET c1 = 50 WHERE c1 = 17; UPDATE t1 SET c1 = 51 WHERE c1 = 19; +FLUSH TABLES; +UPDATE t1 SET c1 = 40 WHERE c1 = 50; +SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' + AND TABLE_NAME='t1'; +AUTO_INCREMENT +52 UPDATE t1 SET c1 = NULL WHERE c1 = 4; INSERT INTO t1 VALUES (NULL); INSERT INTO t1 VALUES (NULL); @@ -51,7 +57,7 @@ c1 22 23 30 -50 +40 51 52 53 @@ -111,6 +117,18 @@ t1 CREATE TABLE `t1` ( SELECT * FROM t1 ORDER BY c1; c1 1 +INSERT INTO t1 VALUES (100); +INSERT INTO t1 VALUES (NULL); +DELETE FROM t1 WHERE c1 >= 100; +OPTIMIZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 optimize note The storage engine for the table doesn't support optimize +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`c1`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 DROP TABLE t1; # Simple test with NULL CREATE TABLE t1 ( @@ -188,6 +206,12 @@ INSERT INTO t1 VALUES (NULL), (90); INSERT INTO t1 VALUES (NULL); UPDATE t1 SET c1 = 150 WHERE c1 = 17; UPDATE t1 SET c1 = 151 WHERE c1 = 19; +FLUSH TABLES; +UPDATE t1 SET c1 = 140 WHERE c1 = 150; +SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test' + AND TABLE_NAME='t1'; +AUTO_INCREMENT +152 UPDATE t1 SET c1 = NULL WHERE c1 = 4; INSERT INTO t1 VALUES (NULL); INSERT INTO t1 VALUES (NULL); @@ -208,7 +232,7 @@ c1 60 90 91 -150 +140 151 152 153 @@ -354,6 +378,18 @@ t1 CREATE TABLE `t1` ( SELECT * FROM t1 ORDER BY c1; c1 1 +INSERT INTO t1 VALUES (100); +INSERT INTO t1 VALUES (NULL); +DELETE FROM t1 WHERE c1 >= 100; +OPTIMIZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 optimize note The storage engine for the table doesn't support optimize +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`c1`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ DROP TABLE t1; # Test with two threads # con default diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc index 14e321218ca..47de9c50891 100644 --- a/sql/ha_partition.cc +++ b/sql/ha_partition.cc @@ -2996,17 +2996,6 @@ int ha_partition::update_row(const uchar *old_data, uchar *new_data) DBUG_PRINT("info", ("Update in partition %d", new_part_id)); tmp_disable_binlog(thd); /* Do not replicate the low-level changes. */ error= m_file[new_part_id]->ha_update_row(old_data, new_data); - /* - if updating an auto_increment column, update - table_share->ha_data->next_auto_inc_val if needed. - (not to be used if auto_increment on secondary field in a multi- - column index) - mysql_update does not set table->next_number_field, so we use - table->found_next_number_field instead. - */ - if (table->found_next_number_field && new_data == table->record[0] && - !table->s->next_number_keypart) - set_auto_increment_if_higher(table->found_next_number_field->val_int()); reenable_binlog(thd); goto exit; } @@ -3016,9 +3005,6 @@ int ha_partition::update_row(const uchar *old_data, uchar *new_data) old_part_id, new_part_id)); tmp_disable_binlog(thd); /* Do not replicate the low-level changes. */ error= m_file[new_part_id]->ha_write_row(new_data); - if (table->found_next_number_field && new_data == table->record[0] && - !table->s->next_number_keypart) - set_auto_increment_if_higher(table->found_next_number_field->val_int()); reenable_binlog(thd); if (error) goto exit; @@ -3036,6 +3022,22 @@ int ha_partition::update_row(const uchar *old_data, uchar *new_data) } exit: + /* + if updating an auto_increment column, update + table_share->ha_data->next_auto_inc_val if needed. + (not to be used if auto_increment on secondary field in a multi-column + index) + mysql_update does not set table->next_number_field, so we use + table->found_next_number_field instead. + */ + if (table->found_next_number_field && new_data == table->record[0] && + !table->s->next_number_keypart) + { + HA_DATA_PARTITION *ha_data= (HA_DATA_PARTITION*) table_share->ha_data; + if (!ha_data->auto_inc_initialized) + info(HA_STATUS_AUTO); + set_auto_increment_if_higher(table->found_next_number_field->val_int()); + } table->timestamp_field_type= orig_timestamp_type; DBUG_RETURN(error); } diff --git a/sql/ha_partition.h b/sql/ha_partition.h index 685f057dfce..31e5169ac7f 100644 --- a/sql/ha_partition.h +++ b/sql/ha_partition.h @@ -878,10 +878,10 @@ private: { HA_DATA_PARTITION *ha_data= (HA_DATA_PARTITION*) table_share->ha_data; lock_auto_increment(); + DBUG_ASSERT(ha_data->auto_inc_initialized == TRUE); /* must check when the mutex is taken */ if (nr >= ha_data->next_auto_inc_val) ha_data->next_auto_inc_val= nr + 1; - ha_data->auto_inc_initialized= TRUE; unlock_auto_increment(); } From 844797c492312a5b0851a6cce3a84994aa4250a0 Mon Sep 17 00:00:00 2001 From: Sergey Petrunia Date: Fri, 24 Oct 2008 06:16:22 +0400 Subject: [PATCH 043/141] BUG#38072: Wrong result: HAVING not observed in a query with aggregate - Make send_row_on_empty_set() return FALSE when simplify_cond() has found out that HAVING is always FALSE re-committing to put the fix into 5.0 and 5.1 mysql-test/r/group_by.result: BUG#38072: Wrong result: HAVING not observed in a query with aggregate - Testcase mysql-test/t/group_by.test: BUG#38072: Wrong result: HAVING not observed in a query with aggregate - Testcase sql/sql_select.h: BUG#38072: Wrong result: HAVING not observed in a query with aggregate - Make send_row_on_empty_set() return FALSE when simplify_cond() has found out that HAVING is always FALSE --- mysql-test/r/group_by.result | 30 ++++++++++++++++++++++++++++++ mysql-test/t/group_by.test | 29 +++++++++++++++++++++++++++++ sql/sql_select.h | 2 +- 3 files changed, 60 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/group_by.result b/mysql-test/r/group_by.result index 28a9e15d473..ffb7ca667c7 100644 --- a/mysql-test/r/group_by.result +++ b/mysql-test/r/group_by.result @@ -1359,4 +1359,34 @@ tt 41 SET sql_mode=@save_sql_mode; DROP TABLE t1, t2; +# +# BUG#38072: Wrong result: HAVING not observed in a query with aggregate +# +CREATE TABLE t1 ( +pk int(11) NOT NULL AUTO_INCREMENT, +int_nokey int(11) NOT NULL, +int_key int(11) NOT NULL, +varchar_key varchar(1) NOT NULL, +varchar_nokey varchar(1) NOT NULL, +PRIMARY KEY (pk), +KEY int_key (int_key), +KEY varchar_key (varchar_key) +); +INSERT INTO t1 VALUES +(1,5,5, 'h','h'), +(2,1,1, '{','{'), +(3,1,1, 'z','z'), +(4,8,8, 'x','x'), +(5,7,7, 'o','o'), +(6,3,3, 'p','p'), +(7,9,9, 'c','c'), +(8,0,0, 'k','k'), +(9,6,6, 't','t'), +(10,0,0,'c','c'); +explain SELECT COUNT(varchar_key) AS X FROM t1 WHERE pk = 8 having 'foo'='bar'; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible HAVING +SELECT COUNT(varchar_key) AS X FROM t1 WHERE pk = 8 having 'foo'='bar'; +X +drop table t1; End of 5.0 tests diff --git a/mysql-test/t/group_by.test b/mysql-test/t/group_by.test index 82bb8a45faa..0e5af0133ca 100644 --- a/mysql-test/t/group_by.test +++ b/mysql-test/t/group_by.test @@ -1010,4 +1010,33 @@ select (select sum(outr.a + t1.a) from t1 limit 1) as tt from t1 as outr order b SET sql_mode=@save_sql_mode; DROP TABLE t1, t2; +--echo # +--echo # BUG#38072: Wrong result: HAVING not observed in a query with aggregate +--echo # +CREATE TABLE t1 ( + pk int(11) NOT NULL AUTO_INCREMENT, + int_nokey int(11) NOT NULL, + int_key int(11) NOT NULL, + varchar_key varchar(1) NOT NULL, + varchar_nokey varchar(1) NOT NULL, + PRIMARY KEY (pk), + KEY int_key (int_key), + KEY varchar_key (varchar_key) +); +INSERT INTO t1 VALUES +(1,5,5, 'h','h'), +(2,1,1, '{','{'), +(3,1,1, 'z','z'), +(4,8,8, 'x','x'), +(5,7,7, 'o','o'), +(6,3,3, 'p','p'), +(7,9,9, 'c','c'), +(8,0,0, 'k','k'), +(9,6,6, 't','t'), +(10,0,0,'c','c'); + +explain SELECT COUNT(varchar_key) AS X FROM t1 WHERE pk = 8 having 'foo'='bar'; +SELECT COUNT(varchar_key) AS X FROM t1 WHERE pk = 8 having 'foo'='bar'; +drop table t1; + --echo End of 5.0 tests diff --git a/sql/sql_select.h b/sql/sql_select.h index 42be8d3ec68..c2f0780f5be 100644 --- a/sql/sql_select.h +++ b/sql/sql_select.h @@ -464,7 +464,7 @@ public: bool send_row_on_empty_set() { return (do_send_rows && tmp_table_param.sum_func_count != 0 && - !group_list); + !group_list && having_value != Item::COND_FALSE); } bool change_result(select_result *result); bool is_top_level_join() const From 408523b7720e789c90ef8e235f17b51cc7f8afcd Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 24 Oct 2008 11:37:40 +0200 Subject: [PATCH 044/141] Raise version number after cloning 5.0.72 --- configure.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.in b/configure.in index 85021ba8dde..493f46251a9 100644 --- a/configure.in +++ b/configure.in @@ -7,7 +7,7 @@ AC_INIT(sql/mysqld.cc) AC_CANONICAL_SYSTEM # The Docs Makefile.am parses this line! # remember to also change ndb version below and update version.c in ndb -AM_INIT_AUTOMAKE(mysql, 5.0.72) +AM_INIT_AUTOMAKE(mysql, 5.0.74) AM_CONFIG_HEADER([include/config.h:config.h.in]) PROTOCOL_VERSION=10 @@ -23,7 +23,7 @@ NDB_SHARED_LIB_VERSION=$NDB_SHARED_LIB_MAJOR_VERSION:0:0 # ndb version NDB_VERSION_MAJOR=5 NDB_VERSION_MINOR=0 -NDB_VERSION_BUILD=72 +NDB_VERSION_BUILD=74 NDB_VERSION_STATUS="" # Set all version vars based on $VERSION. How do we do this more elegant ? From b1f396227669531e81d443395822f7a395c789ca Mon Sep 17 00:00:00 2001 From: Joerg Bruehe Date: Fri, 24 Oct 2008 17:34:17 +0200 Subject: [PATCH 045/141] Fix a "configure" syntax error. It had been introduced with the patch for bug entry 37098 and affected runs "--without-server" only. configure.in: The conditional "BUILD_INNODB_TOOLS" is set depending on whether InnoDB is configured in the build, but that check is done only when building the server. For builds without the server it must also be set, or else "configure" reports an error. Set it to "false" in such builds, as this conditional only affects a tool that is useless in client installations. --- configure.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/configure.in b/configure.in index 85021ba8dde..f48f1544677 100644 --- a/configure.in +++ b/configure.in @@ -2728,8 +2728,10 @@ then AC_SUBST(THREAD_LOBJECTS) fi -if test "$with_server" != "no" +if test "$with_server" = "no" then + AM_CONDITIONAL([BUILD_INNODB_TOOLS], [false]) +else server_scripts="mysqld_safe mysql_install_db" sql_server_dirs="strings mysys dbug extra regex" From 460a90b0bf21aeffe6674921f7c436e3054568be Mon Sep 17 00:00:00 2001 From: Davi Arnaut Date: Sun, 26 Oct 2008 15:05:24 -0200 Subject: [PATCH 046/141] Post-merge fix: Update warning number due to repositioning in the error list. mysql-test/r/partition_windows.result: Update warning number due to new errors appearing earlier in the list. mysql-test/r/windows.result: Update warning number due to new errors appearing earlier in the list. --- mysql-test/r/partition_windows.result | 12 ++++++------ mysql-test/r/windows.result | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/mysql-test/r/partition_windows.result b/mysql-test/r/partition_windows.result index 87e3a3e970d..756690925f8 100644 --- a/mysql-test/r/partition_windows.result +++ b/mysql-test/r/partition_windows.result @@ -15,16 +15,16 @@ DATA DIRECTORY = 'E:/mysqltest/p2Data' INDEX DIRECTORY = 'F:/mysqltest/p2Index' ); Warnings: -Warning 1616 option ignored -Warning 1616 option ignored -Warning 1616 option ignored -Warning 1616 option ignored +Warning 1618 option ignored +Warning 1618 option ignored +Warning 1618 option ignored +Warning 1618 option ignored INSERT INTO t1 VALUES (NULL, "first", 1); INSERT INTO t1 VALUES (NULL, "second", 2); INSERT INTO t1 VALUES (NULL, "third", 3); ALTER TABLE t1 ADD PARTITION (PARTITION p3 DATA DIRECTORY = 'G:/mysqltest/p3Data' INDEX DIRECTORY = 'H:/mysqltest/p3Index'); Warnings: -Warning 1616 option ignored -Warning 1616 option ignored +Warning 1618 option ignored +Warning 1618 option ignored INSERT INTO t1 VALUES (NULL, "last", 4); DROP TABLE t1; diff --git a/mysql-test/r/windows.result b/mysql-test/r/windows.result index 7ade7b851cc..d056bde4dca 100644 --- a/mysql-test/r/windows.result +++ b/mysql-test/r/windows.result @@ -9,8 +9,8 @@ drop table nu; drop table if exists t1; CREATE TABLE t1 ( `ID` int(6) ) data directory 'c:/tmp/' index directory 'c:/tmp/' engine=MyISAM; Warnings: -Warning 1616 option ignored -Warning 1616 option ignored +Warning 1618 option ignored +Warning 1618 option ignored drop table t1; CREATE TABLE t1 (a int, b int); INSERT INTO t1 VALUES (1,1); From 1108ba23e080a20686931d17298316e0dd982498 Mon Sep 17 00:00:00 2001 From: Serge Kozlov Date: Sun, 26 Oct 2008 21:53:21 +0300 Subject: [PATCH 047/141] Bug#22442. 1. Replace --sleep by wait_* primitive 2. Vertical output for SHOW SLAVE STATUS 3. Updated result file --- mysql-test/r/rpl_flush_log_loop.result | 35 ++++++++++++++++++++++++-- mysql-test/t/rpl_flush_log_loop.test | 19 +++++++++++--- 2 files changed, 48 insertions(+), 6 deletions(-) diff --git a/mysql-test/r/rpl_flush_log_loop.result b/mysql-test/r/rpl_flush_log_loop.result index 3b1db804da9..271e37247d4 100644 --- a/mysql-test/r/rpl_flush_log_loop.result +++ b/mysql-test/r/rpl_flush_log_loop.result @@ -20,5 +20,36 @@ master_password='',master_port=SLAVE_PORT; start slave; flush logs; show slave status; -Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master -# 127.0.0.1 root SLAVE_PORT 60 slave-bin.000001 208 # # slave-bin.000001 Yes Yes 0 0 208 # None 0 No # +Slave_IO_State # +Master_Host 127.0.0.1 +Master_User root +Master_Port 9306 +Connect_Retry 1 +Master_Log_File master-bin.000001 +Read_Master_Log_Pos 98 +Relay_Log_File # +Relay_Log_Pos # +Relay_Master_Log_File master-bin.000001 +Slave_IO_Running Yes +Slave_SQL_Running Yes +Replicate_Do_DB +Replicate_Ignore_DB +Replicate_Do_Table +Replicate_Ignore_Table # +Replicate_Wild_Do_Table +Replicate_Wild_Ignore_Table +Last_Errno 0 +Last_Error +Skip_Counter 0 +Exec_Master_Log_Pos 98 +Relay_Log_Space # +Until_Condition None +Until_Log_File +Until_Log_Pos 0 +Master_SSL_Allowed No +Master_SSL_CA_File +Master_SSL_CA_Path +Master_SSL_Cert +Master_SSL_Cipher +Master_SSL_Key +Seconds_Behind_Master # diff --git a/mysql-test/t/rpl_flush_log_loop.test b/mysql-test/t/rpl_flush_log_loop.test index f0b368c285b..0092ec3875e 100644 --- a/mysql-test/t/rpl_flush_log_loop.test +++ b/mysql-test/t/rpl_flush_log_loop.test @@ -12,16 +12,27 @@ stop slave; eval change master to master_host='127.0.0.1',master_user='root', master_password='',master_port=$MASTER_MYPORT; start slave; + connection master; --replace_result $SLAVE_MYPORT SLAVE_PORT eval change master to master_host='127.0.0.1',master_user='root', master_password='',master_port=$SLAVE_MYPORT; start slave; -sleep 5; +--source include/wait_for_slave_to_start.inc + +# Calculate file name of relay log after flush logs +let $relay_file= query_get_value(show slave status, Relay_Log_File,1); +let $relay_name= `select substring_index('$relay_file','.',1);`; +let $relay_index= `select substring_index('$relay_file','.',-1);`; +let $relay_index_len= `select length(substring_index('$relay_file','.',-1));`; +let $relay_index_next=`select $relay_index+1`; +let $relay_file=`select concat('$relay_name','.',repeat('0',($relay_index_len-length($relay_index_next))),$relay_index_next);`; flush logs; -sleep 5; +let $slave_param= Relay_Log_File; +let $slave_param_value= $relay_file; +source include/wait_for_slave_param.inc; --replace_result $SLAVE_MYPORT SLAVE_PORT ---replace_column 1 # 8 # 9 # 23 # 33 # -show slave status; +--replace_column 1 # 8 # 9 # 16 # 23 # 33 # 34 # 35 # +--query_vertical show slave status # End of 4.1 tests From eafe728fc53cac1fb5e80f0f54e040e395010d7e Mon Sep 17 00:00:00 2001 From: Serge Kozlov Date: Sun, 26 Oct 2008 22:34:24 +0300 Subject: [PATCH 048/141] Bug#22442, removed number of port --- mysql-test/r/rpl_flush_log_loop.result | 2 +- mysql-test/t/rpl_flush_log_loop.test | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/rpl_flush_log_loop.result b/mysql-test/r/rpl_flush_log_loop.result index 271e37247d4..d9bb93810d0 100644 --- a/mysql-test/r/rpl_flush_log_loop.result +++ b/mysql-test/r/rpl_flush_log_loop.result @@ -23,7 +23,7 @@ show slave status; Slave_IO_State # Master_Host 127.0.0.1 Master_User root -Master_Port 9306 +Master_Port MASTER_PORT Connect_Retry 1 Master_Log_File master-bin.000001 Read_Master_Log_Pos 98 diff --git a/mysql-test/t/rpl_flush_log_loop.test b/mysql-test/t/rpl_flush_log_loop.test index 0092ec3875e..c3707372e08 100644 --- a/mysql-test/t/rpl_flush_log_loop.test +++ b/mysql-test/t/rpl_flush_log_loop.test @@ -31,7 +31,7 @@ flush logs; let $slave_param= Relay_Log_File; let $slave_param_value= $relay_file; source include/wait_for_slave_param.inc; ---replace_result $SLAVE_MYPORT SLAVE_PORT +--replace_result $SLAVE_MYPORT SLAVE_PORT $MASTER_MYPORT MASTER_PORT --replace_column 1 # 8 # 9 # 16 # 23 # 33 # 34 # 35 # --query_vertical show slave status From 8d108cb53b48601aa0f570c918284e579ccff16b Mon Sep 17 00:00:00 2001 From: V Narayanan Date: Mon, 27 Oct 2008 12:53:28 +0530 Subject: [PATCH 049/141] Bug#39571 abi_check Does not create all prerequisites The abi_check target instroduced as part of WL#4380 verifies changes to mysql.h. mysql.h in turn includes mysql_version.h. mysql_version.h is a file that is generated during the configure phase. We must ensure that mysql_version.h is cleaned only during distclean and not during clean. include/Makefile.am: This file contains the following changes 1) Moves the cleaning of mysql_version.h from the clean phase to the distclean phase. 2) Removes mysql_version.h.in from noinst_HEADERS, this entry was reduntant since by virtue of inclusion of mysql_version.h mysql_version.h.in is already included. --- include/Makefile.am | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/include/Makefile.am b/include/Makefile.am index 9438f0d0f25..64f73af8606 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -15,8 +15,9 @@ # Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, # MA 02111-1307, USA -BUILT_SOURCES = $(HEADERS_GEN) link_sources -HEADERS_GEN = mysql_version.h my_config.h +BUILT_SOURCES = $(HEADERS_GEN_MAKE) link_sources +HEADERS_GEN_CONFIGURE = mysql_version.h +HEADERS_GEN_MAKE = my_config.h HEADERS_ABI = mysql.h mysql_com.h mysql_time.h \ my_list.h my_alloc.h typelib.h mysql/plugin.h pkginclude_HEADERS = $(HEADERS_ABI) my_dbug.h m_string.h my_sys.h \ @@ -25,7 +26,9 @@ pkginclude_HEADERS = $(HEADERS_ABI) my_dbug.h m_string.h my_sys.h \ decimal.h errmsg.h my_global.h my_net.h \ my_getopt.h sslopt-longopts.h my_dir.h \ sslopt-vars.h sslopt-case.h sql_common.h keycache.h \ - m_ctype.h my_attribute.h $(HEADERS_GEN) + m_ctype.h my_attribute.h $(HEADERS_GEN_CONFIGURE) \ + $(HEADERS_GEN_MAKE) + noinst_HEADERS = config-win.h config-netware.h my_bit.h \ heap.h my_bitmap.h my_uctype.h \ myisam.h myisampack.h myisammrg.h ft_global.h\ @@ -33,7 +36,7 @@ noinst_HEADERS = config-win.h config-netware.h my_bit.h \ my_nosys.h my_alarm.h queues.h rijndael.h sha1.h \ my_aes.h my_tree.h my_trie.h hash.h thr_alarm.h \ thr_lock.h t_ctype.h violite.h my_md5.h base64.h \ - mysql_version.h.in my_handler.h my_time.h \ + my_handler.h my_time.h \ my_vle.h my_user.h my_atomic.h atomic/nolock.h \ atomic/rwlock.h atomic/x86-gcc.h atomic/x86-msvc.h \ atomic/gcc_builtins.h my_libwrap.h my_stacktrace.h @@ -45,7 +48,7 @@ CLEANFILES = $(BUILT_SOURCES) readline openssl # Some include files that may be moved and patched by configure -DISTCLEANFILES = sched.h $(CLEANFILES) +DISTCLEANFILES = sched.h $(CLEANFILES) $(HEADERS_GEN_CONFIGURE) link_sources: -$(RM) -f readline openssl From e27e56078388c2005b46073b5b295edcba79f359 Mon Sep 17 00:00:00 2001 From: Evgeny Potemkin Date: Mon, 27 Oct 2008 12:26:32 +0300 Subject: [PATCH 050/141] Bug#37870: Usage of uninitialized value caused failed assertion. The convert_constant_item function converts a constant to integer using field for condition like 'field = a_constant'. When the convert_constant_item is called for a subquery the outer select is already being executed, so convert_constant_item saves field's value to prevent its corruption. For EXPLAIN field's value isn't initialized thus when convert_constant_item tries to restore saved value it fails assertion. Now the convert_constant_item doesn't save/restore field's value for EXPLAIN. mysql-test/r/explain.result: Added a test case for the bug#37870. mysql-test/t/explain.test: Added a test case for the bug#37870. sql/item_cmpfunc.cc: Bug#37870: Usage of uninitialized value caused failed assertion. Now the convert_constant_item doesn't save/restore field's value for EXPLAIN. --- mysql-test/r/explain.result | 15 +++++++++++++++ mysql-test/t/explain.test | 12 ++++++++++++ sql/item_cmpfunc.cc | 5 +++-- 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/explain.result b/mysql-test/r/explain.result index 2ce8b8c384f..f3822fe370d 100644 --- a/mysql-test/r/explain.result +++ b/mysql-test/r/explain.result @@ -107,3 +107,18 @@ X X X X X X X X X X X X X X X X X X Range checked for each record (index map: 0xFFFFFFFFFF) DROP TABLE t2; DROP TABLE t1; +# +# Bug#37870: Usage of uninitialized value caused failed assertion. +# +create table t1 (dt datetime not null); +create table t2 (dt datetime not null); +insert into t1 values ('2001-01-01 1:1:1'), ('2001-01-01 1:1:1'); +insert into t2 values ('2001-01-01 1:1:1'), ('2001-01-01 1:1:1'); +flush tables; +EXPLAIN SELECT OUTR.dt FROM t1 AS OUTR WHERE OUTR.dt IN (SELECT INNR.dt FROM t2 AS INNR WHERE OUTR.dt IS NULL ); +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY OUTR ALL NULL NULL NULL NULL 2 Using where +2 DEPENDENT SUBQUERY INNR ALL NULL NULL NULL NULL 2 Using where +SELECT OUTR.dt FROM t1 AS OUTR WHERE OUTR.dt IN (SELECT INNR.dt FROM t2 AS INNR WHERE OUTR.dt IS NULL ); +dt +drop tables t1, t2; diff --git a/mysql-test/t/explain.test b/mysql-test/t/explain.test index c9ae8aceaf6..09a8245b27b 100644 --- a/mysql-test/t/explain.test +++ b/mysql-test/t/explain.test @@ -94,4 +94,16 @@ EXPLAIN SELECT 1 FROM DROP TABLE t2; DROP TABLE t1; +--echo # +--echo # Bug#37870: Usage of uninitialized value caused failed assertion. +--echo # +create table t1 (dt datetime not null); +create table t2 (dt datetime not null); +insert into t1 values ('2001-01-01 1:1:1'), ('2001-01-01 1:1:1'); +insert into t2 values ('2001-01-01 1:1:1'), ('2001-01-01 1:1:1'); +flush tables; +EXPLAIN SELECT OUTR.dt FROM t1 AS OUTR WHERE OUTR.dt IN (SELECT INNR.dt FROM t2 AS INNR WHERE OUTR.dt IS NULL ); +SELECT OUTR.dt FROM t1 AS OUTR WHERE OUTR.dt IN (SELECT INNR.dt FROM t2 AS INNR WHERE OUTR.dt IS NULL ); +drop tables t1, t2; + # End of 5.0 tests. diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc index bd6065c9403..0c95336251b 100644 --- a/sql/item_cmpfunc.cc +++ b/sql/item_cmpfunc.cc @@ -415,8 +415,9 @@ static bool convert_constant_item(THD *thd, Item_field *field_item, /* Store the value of the field if it references an outer field because the call to save_in_field below overrides that value. + Don't store it for EXPLAIN since it's not initialized. */ - if (field_item->depended_from) + if (field_item->depended_from && !thd->lex->describe) orig_field_val= field->val_int(); if (!(*item)->is_null() && !(*item)->save_in_field(field, 1)) { @@ -427,7 +428,7 @@ static bool convert_constant_item(THD *thd, Item_field *field_item, result= 1; // Item was replaced } /* Restore the original field value. */ - if (field_item->depended_from) + if (field_item->depended_from && !thd->lex->describe) { result= field->store(orig_field_val, TRUE); /* orig_field_val must be a valid value that can be restored back. */ From 380f1a84403a88b4b45f3d14fe98882a04c4773d Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Mon, 27 Oct 2008 14:22:38 +0400 Subject: [PATCH 051/141] Bug#39040 valgrind errors/crash when creating views with binlog logging enabled A string buffers which were included in the 'view' data structure were allocated on the stack, causing an invalid pointer when used after the function returned. The fix: use copy of values for view->md5 & view->queries mysql-test/r/view.result: test result mysql-test/t/view.test: test case sql/sql_view.cc: A string buffers which were included in the 'view' data structure were allocated on the stack, causing an invalid pointer when used after the function returned. The fix: use copy of values for view->md5 & view->queries --- mysql-test/r/view.result | 2 ++ mysql-test/t/view.test | 9 +++++++++ sql/sql_view.cc | 16 +++++++++++++--- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/mysql-test/r/view.result b/mysql-test/r/view.result index eb7a89c3d12..8cbe3fc36cf 100644 --- a/mysql-test/r/view.result +++ b/mysql-test/r/view.result @@ -3677,6 +3677,8 @@ DROP VIEW v1; # -- End of test case for Bug#35193. +CREATE VIEW v1 AS SELECT 1; +DROP VIEW v1; # ----------------------------------------------------------------- # -- End of 5.0 tests. # ----------------------------------------------------------------- diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test index 9fa981ccb9a..bcf31a4501d 100644 --- a/mysql-test/t/view.test +++ b/mysql-test/t/view.test @@ -3560,6 +3560,15 @@ DROP VIEW v1; ########################################################################### +# +# Bug#39040: valgrind errors/crash when creating views with binlog logging +# enabled +# +# Bug is visible only when running in valgrind with binary logging. +CREATE VIEW v1 AS SELECT 1; +DROP VIEW v1; + + --echo # ----------------------------------------------------------------- --echo # -- End of 5.0 tests. --echo # ----------------------------------------------------------------- diff --git a/sql/sql_view.cc b/sql/sql_view.cc index dffad0cc575..8e6d3ed583a 100644 --- a/sql/sql_view.cc +++ b/sql/sql_view.cc @@ -774,8 +774,13 @@ static int mysql_register_view(THD *thd, TABLE_LIST *view, DBUG_PRINT("info", ("View: %s", str.ptr())); /* fill structure */ - view->query.str= str.c_ptr_safe(); - view->query.length= str.length(); + if (!make_lex_string(thd, &view->query, str.ptr(), str.length(), false)) + { + my_error(ER_OUT_OF_RESOURCES, MYF(0)); + error= -1; + goto err; + } + view->source.str= thd->query + thd->lex->create_view_select_start; view->source.length= (char *)skip_rear_comments(thd->charset(), (char *)view->source.str, @@ -784,7 +789,12 @@ static int mysql_register_view(THD *thd, TABLE_LIST *view, view->source.str; view->file_version= 1; view->calc_md5(md5); - view->md5.str= md5; + if (!(view->md5.str= thd->memdup(md5, 32))) + { + my_error(ER_OUT_OF_RESOURCES, MYF(0)); + error= -1; + goto err; + } view->md5.length= 32; can_be_merged= lex->can_be_merged(); if (lex->create_view_algorithm == VIEW_ALGORITHM_MERGE && From 6ca7e5c549bcd26a52097ba2a25647f86e898ffe Mon Sep 17 00:00:00 2001 From: Alexey Botchkov Date: Mon, 27 Oct 2008 19:25:11 +0400 Subject: [PATCH 052/141] Bug#39102 valgrind build does not compile in realpath, which make DATA/INDEX DIR fail #ifdef HAVE_purify removed per-file comments: mysql-test/t/partition_not_windows.test Bug#39102 valgrind build does not compile in realpath, which make DATA/INDEX DIR fail test reenabled mysys/my_symlink.c Bug#39102 valgrind build does not compile in realpath, which make DATA/INDEX DIR fail superfluous ifdef removed, comments fixed --- mysql-test/t/partition_not_windows.test | 2 -- mysys/my_symlink.c | 17 ++++++----------- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/mysql-test/t/partition_not_windows.test b/mysql-test/t/partition_not_windows.test index 4814828c9b9..d7108d5af98 100644 --- a/mysql-test/t/partition_not_windows.test +++ b/mysql-test/t/partition_not_windows.test @@ -3,8 +3,6 @@ --source include/have_partition.inc # DATA DIRECTORY/INDEX DIRECTORY require symbolic link support --source include/have_symlink.inc -# realpath is not compiled in when building with valgrind ---source include/not_valgrind.inc # The test for Bug 20770 is disabled on Windows due to BUG#19107; it # should be moved into partition.test once the bug has been resolved. diff --git a/mysys/my_symlink.c b/mysys/my_symlink.c index f8c6ebf02c3..258e227bb7b 100644 --- a/mysys/my_symlink.c +++ b/mysys/my_symlink.c @@ -90,16 +90,6 @@ int my_symlink(const char *content, const char *linkname, myf MyFlags) #endif /* HAVE_READLINK */ } -/* - Resolve all symbolic links in path - 'to' may be equal to 'filename' - - Because purify gives a lot of UMR errors when using realpath(), - this code is disabled when using purify. - - If MY_RESOLVE_LINK is given, only do realpath if the file is a link. -*/ - #if defined(SCO) #define BUFF_LEN 4097 #elif defined(MAXPATHLEN) @@ -124,10 +114,15 @@ int my_is_symlink(const char *filename __attribute__((unused))) } +/* + Resolve all symbolic links in path + 'to' may be equal to 'filename' +*/ + int my_realpath(char *to, const char *filename, myf MyFlags __attribute__((unused))) { -#if defined(HAVE_REALPATH) && !defined(HAVE_purify) && !defined(HAVE_BROKEN_REALPATH) +#if defined(HAVE_REALPATH) && !defined(HAVE_BROKEN_REALPATH) int result=0; char buff[BUFF_LEN]; char *ptr; From 545e4c58b273ca7eadfcfe52a3ac5885cabf5798 Mon Sep 17 00:00:00 2001 From: Evgeny Potemkin Date: Mon, 27 Oct 2008 19:19:26 +0300 Subject: [PATCH 053/141] Corrected fix for the bug#37870. --- sql/item_cmpfunc.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc index 0c95336251b..cefa479fea6 100644 --- a/sql/item_cmpfunc.cc +++ b/sql/item_cmpfunc.cc @@ -413,11 +413,11 @@ static bool convert_constant_item(THD *thd, Item_field *field_item, thd->count_cuted_fields= CHECK_FIELD_IGNORE; /* - Store the value of the field if it references an outer field because + Store the value of the field/constant if it references an outer field because the call to save_in_field below overrides that value. - Don't store it for EXPLAIN since it's not initialized. + Don't save value of the field for EXPLAIN since it's not initialized. */ - if (field_item->depended_from && !thd->lex->describe) + if (field_item->depended_from && (!thd->lex->describe || field_item->const_item())) orig_field_val= field->val_int(); if (!(*item)->is_null() && !(*item)->save_in_field(field, 1)) { @@ -428,7 +428,7 @@ static bool convert_constant_item(THD *thd, Item_field *field_item, result= 1; // Item was replaced } /* Restore the original field value. */ - if (field_item->depended_from && !thd->lex->describe) + if (field_item->depended_from && (!thd->lex->describe || field_item->const_item())) { result= field->store(orig_field_val, TRUE); /* orig_field_val must be a valid value that can be restored back. */ From b72d1507db95326119afdcb4764fa457a7f888b7 Mon Sep 17 00:00:00 2001 From: Mattias Jonsson Date: Wed, 29 Oct 2008 21:20:04 +0100 Subject: [PATCH 054/141] Bug#39084: Getting intermittent errors with statement-based binary logging Problem was that partitioning cached the table flags. These flags could change due to TRANSACTION LEVEL changes. Solution was to remove the cache and always return the table flags from the first partition (if the handler was initialized). mysql-test/r/partition_innodb_stmt.result: Bug#39084: Getting intermittent errors with statement-based binary logging New test result file. mysql-test/t/partition_innodb_stmt.test: Bug#39084: Getting intermittent errors with statement-based binary logging New test file. sql/ha_partition.cc: Bug#39084: Getting intermittent errors with statement-based binary logging Removed m_table_flags, and added m_handler_status. Added checks that all partitions have the same table flags. Moved some variable initializations. Updated some comments. Fixed typo initialise -> initialize Changed HA_EXTTA_NO_READCHECK to do nothing, since it is only used in ha_open, which is called for every partition in ::open anyway. sql/ha_partition.h: Bug#39084: Getting intermittent errors with statement-based binary logging Removed m_table_flags, and added m_handler_status. Always return the first partitions table flags, instead of using cached table flags. Added define of enabled/disabled partitioning table flags Fixed type initialise -> initialize Updated some comments. sql/handler.cc: Bug#39084: Getting intermittent errors with statement-based binary logging Fixed type initialise -> initialize. sql/handler.h: Bug#39084: Getting intermittent errors with statement-based binary logging Added comment to understand where the cached value is set. --- mysql-test/r/partition_innodb_stmt.result | 48 ++++++++++ mysql-test/t/partition_innodb_stmt.test | 59 ++++++++++++ sql/ha_partition.cc | 110 +++++++++++++--------- sql/ha_partition.h | 50 +++++++++- sql/handler.cc | 2 +- sql/handler.h | 3 + 6 files changed, 221 insertions(+), 51 deletions(-) create mode 100644 mysql-test/r/partition_innodb_stmt.result create mode 100644 mysql-test/t/partition_innodb_stmt.test diff --git a/mysql-test/r/partition_innodb_stmt.result b/mysql-test/r/partition_innodb_stmt.result new file mode 100644 index 00000000000..2735b0d2193 --- /dev/null +++ b/mysql-test/r/partition_innodb_stmt.result @@ -0,0 +1,48 @@ +# connection default +SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; +CREATE TABLE t1 +( +id SMALLINT NOT NULL, +PRIMARY KEY (id) +) ENGINE=innodb +PARTITION BY RANGE (id) +( +PARTITION p1 VALUES LESS THAN (2), +PARTITION p2 VALUES LESS THAN (4), +PARTITION p3 VALUES LESS THAN (10) +); +INSERT INTO t1 VALUES (1),(2),(3); +# Test READ COMMITTED -> REPEATABLE READ +FLUSH TABLES; +SET TRANSACTION ISOLATION LEVEL READ COMMITTED; +BEGIN; +SELECT * FROM t1; +id +1 +2 +3 +#connection con1 +SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; +BEGIN; +INSERT INTO t1 VALUES(7); +COMMIT; +# connection default +COMMIT; +FLUSH TABLES; +# Test REPEATABLE READ -> READ COMMITTED +SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; +BEGIN; +SELECT * FROM t1; +id +1 +2 +3 +7 +# connection con1 +SET TRANSACTION ISOLATION LEVEL READ COMMITTED; +BEGIN; +INSERT INTO t1 VALUES(9); +ERROR HY000: Binary logging not possible. Message: Transaction level 'READ-COMMITTED' in InnoDB is not safe for binlog mode 'STATEMENT' +COMMIT; +COMMIT; +DROP TABLE t1; diff --git a/mysql-test/t/partition_innodb_stmt.test b/mysql-test/t/partition_innodb_stmt.test new file mode 100644 index 00000000000..2ed5baee0ac --- /dev/null +++ b/mysql-test/t/partition_innodb_stmt.test @@ -0,0 +1,59 @@ +--source include/have_binlog_format_statement.inc +--source include/have_innodb.inc + +--echo # connection default +SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; + +CREATE TABLE t1 +( + id SMALLINT NOT NULL, + PRIMARY KEY (id) +) ENGINE=innodb +PARTITION BY RANGE (id) +( + PARTITION p1 VALUES LESS THAN (2), + PARTITION p2 VALUES LESS THAN (4), + PARTITION p3 VALUES LESS THAN (10) +); + +INSERT INTO t1 VALUES (1),(2),(3); + +--echo # Test READ COMMITTED -> REPEATABLE READ +FLUSH TABLES; +SET TRANSACTION ISOLATION LEVEL READ COMMITTED; +BEGIN; +SELECT * FROM t1; + +connect (con1, localhost, root,,); +connection con1; + +--echo #connection con1 +SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; +BEGIN; +INSERT INTO t1 VALUES(7); +COMMIT; + +connection default; +--echo # connection default +COMMIT; + +FLUSH TABLES; + +--echo # Test REPEATABLE READ -> READ COMMITTED +SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; +BEGIN; +SELECT * FROM t1; + +connection con1; + +--echo # connection con1 +SET TRANSACTION ISOLATION LEVEL READ COMMITTED; +BEGIN; +--error ER_BINLOG_LOGGING_IMPOSSIBLE +INSERT INTO t1 VALUES(9); +COMMIT; + +disconnect con1; +connection default; +COMMIT; +DROP TABLE t1; diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc index 14e321218ca..6a2cd906671 100644 --- a/sql/ha_partition.cc +++ b/sql/ha_partition.cc @@ -107,7 +107,7 @@ static handler *partition_create_handler(handlerton *hton, MEM_ROOT *mem_root) { ha_partition *file= new (mem_root) ha_partition(hton, share); - if (file && file->initialise_partition(mem_root)) + if (file && file->initialize_partition(mem_root)) { delete file; file= 0; @@ -160,8 +160,7 @@ const uint ha_partition::NO_CURRENT_PART_ID= 0xFFFFFFFF; ha_partition::ha_partition(handlerton *hton, TABLE_SHARE *share) :handler(hton, share), m_part_info(NULL), m_create_handler(FALSE), - m_is_sub_partitioned(0), is_clone(FALSE), auto_increment_lock(FALSE), - auto_increment_safe_stmt_log_lock(FALSE) + m_is_sub_partitioned(0) { DBUG_ENTER("ha_partition::ha_partition(table)"); init_handler_variables(); @@ -181,10 +180,8 @@ ha_partition::ha_partition(handlerton *hton, TABLE_SHARE *share) */ ha_partition::ha_partition(handlerton *hton, partition_info *part_info) - :handler(hton, NULL), m_part_info(part_info), - m_create_handler(TRUE), - m_is_sub_partitioned(m_part_info->is_sub_partitioned()), is_clone(FALSE), - auto_increment_lock(FALSE), auto_increment_safe_stmt_log_lock(FALSE) + :handler(hton, NULL), m_part_info(part_info), m_create_handler(TRUE), + m_is_sub_partitioned(m_part_info->is_sub_partitioned()) { DBUG_ENTER("ha_partition::ha_partition(part_info)"); init_handler_variables(); @@ -194,7 +191,7 @@ ha_partition::ha_partition(handlerton *hton, partition_info *part_info) /* - Initialise handler object + Initialize handler object SYNOPSIS init_handler_variables() @@ -231,7 +228,7 @@ void ha_partition::init_handler_variables() m_innodb= FALSE; m_extra_cache= FALSE; m_extra_cache_size= 0; - m_table_flags= HA_FILE_BASED | HA_REC_NOT_IN_SEQ; + m_handler_status= handler_not_initialized; m_low_byte_first= 1; m_part_field_array= NULL; m_ordered_rec_buffer= NULL; @@ -240,6 +237,9 @@ void ha_partition::init_handler_variables() m_last_part= 0; m_rec0= 0; m_curr_key_info= 0; + is_clone= FALSE, + auto_increment_lock= FALSE; + auto_increment_safe_stmt_log_lock= FALSE; /* this allows blackhole to work properly */ @@ -286,10 +286,10 @@ ha_partition::~ha_partition() /* - Initialise partition handler object + Initialize partition handler object SYNOPSIS - initialise_partition() + initialize_partition() mem_root Allocate memory through this RETURN VALUE @@ -319,8 +319,8 @@ ha_partition::~ha_partition() normal storage engine The flag HA_FILE_BASED will be set independent of the underlying handlers 4) Index flags initialisation - When knowledge exists on the indexes it is also possible to initialise the - index flags. Again the index flags must be initialised by using the under- + When knowledge exists on the indexes it is also possible to initialize the + index flags. Again the index flags must be initialized by using the under- lying handlers since this is storage engine dependent. The flag HA_READ_ORDER will be reset for the time being to indicate no ordered output is available from partition handler indexes. Later a merge @@ -330,10 +330,11 @@ ha_partition::~ha_partition() */ -bool ha_partition::initialise_partition(MEM_ROOT *mem_root) +bool ha_partition::initialize_partition(MEM_ROOT *mem_root) { handler **file_array, *file; - DBUG_ENTER("ha_partition::initialise_partition"); + ulonglong check_table_flags; + DBUG_ENTER("ha_partition::initialize_partition"); if (m_create_handler) { @@ -345,11 +346,9 @@ bool ha_partition::initialise_partition(MEM_ROOT *mem_root) else if (!table_share || !table_share->normalized_path.str) { /* - Called with dummy table share (delete, rename and alter table) - Don't need to set-up table flags other than - HA_FILE_BASED here + Called with dummy table share (delete, rename and alter table). + Don't need to set-up anything. */ - m_table_flags|= HA_FILE_BASED | HA_REC_NOT_IN_SEQ; DBUG_RETURN(0); } else if (get_from_handler_file(table_share->normalized_path.str, mem_root)) @@ -361,15 +360,12 @@ bool ha_partition::initialise_partition(MEM_ROOT *mem_root) We create all underlying table handlers here. We do it in this special method to be able to report allocation errors. - Set up table_flags, low_byte_first, primary_key_is_clustered and + Set up low_byte_first, primary_key_is_clustered and has_transactions since they are called often in all kinds of places, other parameters are calculated on demand. - HA_FILE_BASED is always set for partition handler since we use a - special file for handling names of partitions, engine types. - HA_CAN_GEOMETRY, HA_CAN_FULLTEXT, HA_CAN_SQL_HANDLER, HA_DUPLICATE_POS, - HA_CAN_INSERT_DELAYED is disabled until further investigated. + Verify that all partitions have the same table_flags. */ - m_table_flags= (ulong)m_file[0]->ha_table_flags(); + check_table_flags= m_file[0]->ha_table_flags(); m_low_byte_first= m_file[0]->low_byte_first(); m_pkey_is_clustered= TRUE; file_array= m_file; @@ -384,12 +380,13 @@ bool ha_partition::initialise_partition(MEM_ROOT *mem_root) } if (!file->primary_key_is_clustered()) m_pkey_is_clustered= FALSE; - m_table_flags&= file->ha_table_flags(); + if (check_table_flags != file->ha_table_flags()) + { + my_error(ER_MIX_HANDLER_ERROR, MYF(0)); + DBUG_RETURN(1); + } } while (*(++file_array)); - m_table_flags&= ~(HA_CAN_GEOMETRY | HA_CAN_FULLTEXT | HA_DUPLICATE_POS | - HA_CAN_SQL_HANDLER | HA_CAN_INSERT_DELAYED | - HA_PRIMARY_KEY_REQUIRED_FOR_POSITION); - m_table_flags|= HA_FILE_BASED | HA_REC_NOT_IN_SEQ; + m_handler_status= handler_initialized; DBUG_RETURN(0); } @@ -2410,6 +2407,7 @@ int ha_partition::open(const char *name, int mode, uint test_if_locked) handler **file; char name_buff[FN_REFLEN]; bool is_not_tmp_table= (table_share->tmp_table == NO_TMP_TABLE); + ulonglong check_table_flags= 0; DBUG_ENTER("ha_partition::open"); DBUG_ASSERT(table->s == table_share); @@ -2449,7 +2447,7 @@ int ha_partition::open(const char *name, int mode, uint test_if_locked) } } - /* Initialise the bitmap we use to determine what partitions are used */ + /* Initialize the bitmap we use to determine what partitions are used */ if (!is_clone) { if (bitmap_init(&(m_part_info->used_partitions), NULL, m_tot_parts, TRUE)) @@ -2457,8 +2455,6 @@ int ha_partition::open(const char *name, int mode, uint test_if_locked) bitmap_set_all(&(m_part_info->used_partitions)); } - /* Recalculate table flags as they may change after open */ - m_table_flags= m_file[0]->ha_table_flags(); file= m_file; do { @@ -2470,11 +2466,26 @@ int ha_partition::open(const char *name, int mode, uint test_if_locked) m_no_locks+= (*file)->lock_count(); name_buffer_ptr+= strlen(name_buffer_ptr) + 1; set_if_bigger(ref_length, ((*file)->ref_length)); - m_table_flags&= (*file)->ha_table_flags(); + /* + Verify that all partitions have the same set of table flags. + Mask all flags that partitioning enables/disables. + */ + if (!check_table_flags) + { + check_table_flags= (((*file)->ha_table_flags() & + ~(PARTITION_DISABLED_TABLE_FLAGS)) | + (PARTITION_ENABLED_TABLE_FLAGS)); + } + else if (check_table_flags != (((*file)->ha_table_flags() & + ~(PARTITION_DISABLED_TABLE_FLAGS)) | + (PARTITION_ENABLED_TABLE_FLAGS))) + { + DBUG_PRINT("error", ("check_table_flag 0x%x != 0x%x table_flags()", + check_table_flags, (*file)->ha_table_flags())); + error= HA_ERR_INITIALIZATION; + goto err_handler; + } } while (*(++file)); - m_table_flags&= ~(HA_CAN_GEOMETRY | HA_CAN_FULLTEXT | HA_DUPLICATE_POS | - HA_CAN_SQL_HANDLER | HA_CAN_INSERT_DELAYED); - m_table_flags|= HA_FILE_BASED | HA_REC_NOT_IN_SEQ; key_used_on_scan= m_file[0]->key_used_on_scan; implicit_emptied= m_file[0]->implicit_emptied; /* @@ -2489,7 +2500,7 @@ int ha_partition::open(const char *name, int mode, uint test_if_locked) */ clear_handler_file(); /* - Initialise priority queue, initialised to reading forward. + Initialize priority queue, initialized to reading forward. */ if ((error= init_queue(&m_queue, m_tot_parts, (uint) PARTITION_BYTES_IN_POS, 0, key_rec_cmp, (void*)this))) @@ -2525,6 +2536,7 @@ int ha_partition::open(const char *name, int mode, uint test_if_locked) to ensure we have correct statistics we call info from open after calling open on all individual handlers. */ + m_handler_status= handler_opened; info(HA_STATUS_VARIABLE | HA_STATUS_CONST); DBUG_RETURN(0); @@ -2595,6 +2607,7 @@ repeat: goto repeat; } + m_handler_status= handler_closed; DBUG_RETURN(0); } @@ -3582,7 +3595,7 @@ int ha_partition::rnd_pos_by_record(uchar *record) */ /* - Initialise handler before start of index scan + Initialize handler before start of index scan SYNOPSIS index_init() @@ -4442,7 +4455,7 @@ int ha_partition::handle_ordered_index_scan(uchar *buf, bool reverse_order) { found= TRUE; /* - Initialise queue without order first, simply insert + Initialize queue without order first, simply insert */ queue_element(&m_queue, j++)= (uchar*)queue_buf(i); } @@ -4763,7 +4776,7 @@ int ha_partition::info(uint flag) } } while (*(++file_array)); if (stats.records < 2 && - !(m_table_flags & HA_STATS_RECORDS_IS_EXACT)) + !(m_file[0]->ha_table_flags() & HA_STATS_RECORDS_IS_EXACT)) stats.records= 2; if (stats.records > 0) stats.mean_rec_length= (ulong) (stats.data_file_length / stats.records); @@ -5137,7 +5150,7 @@ void ha_partition::get_dynamic_partition_info(PARTITION_INFO *stat_info, 5) Parameters only used by MyISAM internally -------------------------------------------- HA_EXTRA_REINIT_CACHE: - This call reinitialises the READ CACHE described above if there is one + This call reinitializes the READ CACHE described above if there is one and otherwise the call is ignored. We can thus safely call it on all underlying handlers if they are @@ -5219,7 +5232,6 @@ int ha_partition::extra(enum ha_extra_function operation) break; case HA_EXTRA_NORMAL: case HA_EXTRA_QUICK: - case HA_EXTRA_NO_READCHECK: case HA_EXTRA_PREPARE_FOR_UPDATE: case HA_EXTRA_FORCE_REOPEN: case HA_EXTRA_PREPARE_FOR_DROP: @@ -5229,6 +5241,14 @@ int ha_partition::extra(enum ha_extra_function operation) DBUG_RETURN(loop_extra(operation)); break; } + case HA_EXTRA_NO_READCHECK: + { + /* + This is only done as a part of ha_open, which is also used in + ha_partition::open, so no need to do anything. + */ + break; + } case HA_EXTRA_CACHE: { prepare_extra_cache(0); @@ -6057,7 +6077,7 @@ void ha_partition::release_auto_increment() } /**************************************************************************** - MODULE initialise handler for HANDLER call + MODULE initialize handler for HANDLER call ****************************************************************************/ void ha_partition::init_table_handle_for_HANDLER() @@ -6150,7 +6170,7 @@ int ha_partition::indexes_are_disabled(void) ------------------------------------------------------------------------- Variables for partition share methods. A hash used to track open tables. A mutex for the hash table and an init variable to check if hash table - is initialised. + is initialized. There is also a constant ending of the partition handler file name. */ diff --git a/sql/ha_partition.h b/sql/ha_partition.h index 685f057dfce..2cb1e83de91 100644 --- a/sql/ha_partition.h +++ b/sql/ha_partition.h @@ -48,6 +48,13 @@ typedef struct st_ha_data_partition } HA_DATA_PARTITION; #define PARTITION_BYTES_IN_POS 2 +#define PARTITION_ENABLED_TABLE_FLAGS (HA_FILE_BASED | HA_REC_NOT_IN_SEQ) +#define PARTITION_DISABLED_TABLE_FLAGS (HA_CAN_GEOMETRY | \ + HA_CAN_FULLTEXT | \ + HA_DUPLICATE_POS | \ + HA_CAN_SQL_HANDLER | \ + HA_CAN_INSERT_DELAYED | \ + HA_PRIMARY_KEY_REQUIRED_FOR_POSITION) class ha_partition :public handler { private: @@ -85,8 +92,15 @@ private: for this since the MySQL Server sometimes allocating the handler object without freeing them. */ - longlong m_table_flags; ulong m_low_byte_first; + enum enum_handler_status + { + handler_not_initialized= 0, + handler_initialized, + handler_opened, + handler_closed + }; + enum_handler_status m_handler_status; uint m_reorged_parts; // Number of reorganised parts uint m_tot_parts; // Total number of partitions; @@ -182,7 +196,7 @@ public: enable later calls of the methods to retrieve constants from the under- lying handlers. Returns false if not successful. */ - bool initialise_partition(MEM_ROOT *mem_root); + bool initialize_partition(MEM_ROOT *mem_root); /* ------------------------------------------------------------------------- @@ -585,6 +599,8 @@ public: The partition handler will support whatever the underlying handlers support except when specifically mentioned below about exceptions to this rule. + NOTE: This cannot be cached since it can depend on TRANSACTION ISOLATION + LEVEL which is dynamic, see bug#39084. HA_READ_RND_SAME: Not currently used. (Means that the handler supports the rnd_same() call) @@ -709,9 +725,33 @@ public: transfer those calls into index_read and other calls in the index scan module. (NDB) + + HA_PRIMARY_KEY_REQUIRED_FOR_POSITION: + Does the storage engine need a PK for position? + Used with hidden primary key in InnoDB. + Hidden primary keys cannot be supported by partitioning, since the + partitioning expressions columns must be a part of the primary key. + (InnoDB) + + HA_FILE_BASED is always set for partition handler since we use a + special file for handling names of partitions, engine types. + HA_REC_NOT_IN_SEQ is always set for partition handler since we cannot + guarantee that the records will be returned in sequence. + HA_CAN_GEOMETRY, HA_CAN_FULLTEXT, HA_CAN_SQL_HANDLER, HA_DUPLICATE_POS, + HA_CAN_INSERT_DELAYED, HA_PRIMARY_KEY_REQUIRED_FOR_POSITION is disabled + until further investigated. */ - virtual ulonglong table_flags() const - { return m_table_flags; } + virtual Table_flags table_flags() const + { + DBUG_ENTER("ha_partition::table_flags"); + if (m_handler_status < handler_initialized || + m_handler_status >= handler_closed) + DBUG_RETURN(PARTITION_ENABLED_TABLE_FLAGS); + else + DBUG_RETURN((m_file[0]->ha_table_flags() & + ~(PARTITION_DISABLED_TABLE_FLAGS)) | + (PARTITION_ENABLED_TABLE_FLAGS)); + } /* This is a bitmap of flags that says how the storage engine @@ -889,7 +929,7 @@ public: /* ------------------------------------------------------------------------- - MODULE initialise handler for HANDLER call + MODULE initialize handler for HANDLER call ------------------------------------------------------------------------- This method is a special InnoDB method called before a HANDLER query. ------------------------------------------------------------------------- diff --git a/sql/handler.cc b/sql/handler.cc index a988c34b7ca..d3ddc60d3b9 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -263,7 +263,7 @@ handler *get_ha_partition(partition_info *part_info) DBUG_ENTER("get_ha_partition"); if ((partition= new ha_partition(partition_hton, part_info))) { - if (partition->initialise_partition(current_thd->mem_root)) + if (partition->initialize_partition(current_thd->mem_root)) { delete partition; partition= 0; diff --git a/sql/handler.h b/sql/handler.h index b7d4d689d40..b8e7f17e089 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -1198,6 +1198,9 @@ public: { return inited == INDEX ? ha_index_end() : inited == RND ? ha_rnd_end() : 0; } + /** + The cached_table_flags is set at ha_open and ha_external_lock + */ Table_flags ha_table_flags() const { return cached_table_flags; } /** These functions represent the public interface to *users* of the From ea0fab9baf5b8ae9f9b233f0163462564155e3ce Mon Sep 17 00:00:00 2001 From: Mattias Jonsson Date: Thu, 30 Oct 2008 09:25:25 +0100 Subject: [PATCH 055/141] post-push fix for build warnings --- sql/ha_partition.cc | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc index 21d2cdde798..1ce899ff33f 100644 --- a/sql/ha_partition.cc +++ b/sql/ha_partition.cc @@ -3824,8 +3824,7 @@ int ha_partition::common_index_read(uchar *buf, bool have_start_key) Need to set unordered scan ongoing since we can come here even when it isn't set. */ - DBUG_PRINT("info", ("key_len %lu (%lu), doing unordered scan", - key_len, m_curr_key_info[0]->key_length)); + DBUG_PRINT("info", ("doing unordered scan")); m_ordered_scan_ongoing= FALSE; error= handle_unordered_scan_next_partition(buf); } @@ -5806,7 +5805,7 @@ bool ha_partition::check_if_incompatible_data(HA_CREATE_INFO *create_info, uint table_changes) { handler **file; - bool ret; + bool ret= COMPATIBLE_DATA_YES; /* The check for any partitioning related changes have already been done @@ -5828,7 +5827,7 @@ bool ha_partition::check_if_incompatible_data(HA_CREATE_INFO *create_info, int ha_partition::add_index(TABLE *table_arg, KEY *key_info, uint num_of_keys) { handler **file; - int ret; + int ret= 0; /* There has already been a check in fix_partition_func in mysql_alter_table @@ -5846,7 +5845,7 @@ int ha_partition::prepare_drop_index(TABLE *table_arg, uint *key_num, uint num_of_keys) { handler **file; - int ret; + int ret= 0; /* DROP INDEX does not affect partitioning. From 42659fb82d467cb88a2f6eb4fcbd73acf8a490cb Mon Sep 17 00:00:00 2001 From: Kristofer Pettersson Date: Fri, 31 Oct 2008 10:25:03 +0100 Subject: [PATCH 056/141] Fixed race condition in test case status2. A 'disconnect' issues an implicit command which isn't completed immediately. mysql-test/r/status2.result: * Moved disconnect command to avoid race. mysql-test/t/status2.test: * Moved disconnect command to avoid race. --- mysql-test/r/status2.result | 8 ++++---- mysql-test/t/status2.test | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/mysql-test/r/status2.result b/mysql-test/r/status2.result index 7f6eab693e5..7e895381a44 100644 --- a/mysql-test/r/status2.result +++ b/mysql-test/r/status2.result @@ -53,11 +53,11 @@ Assert Questions == 16 SHOW STATUS LIKE 'Questions'; Variable_name Value Questions 16 -Global status updated; Assert diff == 5 +Global status updated; Assert diff == 4 FLUSH STATUS; -SELECT 5; -5 -5 +SELECT 4; +4 +4 DROP TABLE t1,t2; DROP PROCEDURE p1; DROP FUNCTION f1; diff --git a/mysql-test/t/status2.test b/mysql-test/t/status2.test index b834cd0c6ad..058a2fa1d25 100644 --- a/mysql-test/t/status2.test +++ b/mysql-test/t/status2.test @@ -47,16 +47,16 @@ FLUSH STATUS; let $org_questions= `SHOW GLOBAL STATUS LIKE 'questions'`; SELECT 1; connection default; -disconnect con1; --echo Assert Questions == 16 SHOW STATUS LIKE 'Questions'; ---echo Global status updated; Assert diff == 5 +--echo Global status updated; Assert diff == 4 FLUSH STATUS; let $new_questions= `SHOW GLOBAL STATUS LIKE 'questions'`; --disable_log let $diff= `SELECT SUBSTRING('$new_questions',10)-SUBSTRING('$org_questions',10)`; --enable_log eval SELECT $diff; +disconnect con1; DROP TABLE t1,t2; DROP PROCEDURE p1; DROP FUNCTION f1; From 1cd0d8caf6a27f77dd131d22e83785c938182b91 Mon Sep 17 00:00:00 2001 From: Andrei Elkin Date: Mon, 3 Nov 2008 12:18:37 +0200 Subject: [PATCH 057/141] Bug #38230 Differences between master and slave after UPDATE or DELETE with LIMIT with pk a test on the bug page does not reveal the problem with the latest trees. Adding the test to the rpl suite in order to monitor regression. mysql-test/extra/rpl_tests/rpl_row_basic.test: a regression test for the bug#38230. mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result: results changed. --- mysql-test/extra/rpl_tests/rpl_row_basic.test | 82 +++++++++++++++++++ .../suite/rpl/r/rpl_row_basic_3innodb.result | 55 +++++++++++++ 2 files changed, 137 insertions(+) diff --git a/mysql-test/extra/rpl_tests/rpl_row_basic.test b/mysql-test/extra/rpl_tests/rpl_row_basic.test index 7cfbcdb4437..f52416df2f5 100644 --- a/mysql-test/extra/rpl_tests/rpl_row_basic.test +++ b/mysql-test/extra/rpl_tests/rpl_row_basic.test @@ -471,3 +471,85 @@ source include/diff_tables.inc; connection master; drop table t1; sync_slave_with_master; + +# +# Bug #38230 Differences between master and slave after +# UPDATE or DELETE with LIMIT with pk +# +# the regression test verifies consistency via selecting + +--disable_abort_on_error + +--connection master + +--disable_warnings +DROP TABLE IF EXISTS t1, t2; +--enable_warnings + +CREATE TABLE t1 ( + `pk` int(11) NOT NULL AUTO_INCREMENT, + `int_nokey` int(11) NOT NULL, + `int_key` int(11) NOT NULL, + `date_key` date NOT NULL, + `date_nokey` date NOT NULL, + `time_key` time NOT NULL, + `time_nokey` time NOT NULL, + `datetime_key` datetime NOT NULL, + `datetime_nokey` datetime NOT NULL, + `varchar_key` varchar(1) NOT NULL, + `varchar_nokey` varchar(1) NOT NULL, + PRIMARY KEY (`pk`), + KEY `int_key` (`int_key`), + KEY `date_key` (`date_key`), + KEY `time_key` (`time_key`), + KEY `datetime_key` (`datetime_key`), + KEY `varchar_key` (`varchar_key`) +) ENGINE=InnoDB; + +INSERT INTO t1 VALUES (1,8,5,'0000-00-00','0000-00-00','10:37:38','10:37:38','0000-00-00 00:00:00','0000-00-00 00:00:00','p','p'),(2,0,9,'0000-00-00','0000-00-00','00:00:00','00:00:00','2007-10-14 00:00:00','2007-10-14 00:00:00','d','d'); + +CREATE TABLE t2 ( + `pk` int(11) NOT NULL AUTO_INCREMENT, + `int_nokey` int(11) NOT NULL, + `int_key` int(11) NOT NULL, + `date_key` date NOT NULL, + `date_nokey` date NOT NULL, + `time_key` time NOT NULL, + `time_nokey` time NOT NULL, + `datetime_key` datetime NOT NULL, + `datetime_nokey` datetime NOT NULL, + `varchar_key` varchar(1) NOT NULL, + `varchar_nokey` varchar(1) NOT NULL, + PRIMARY KEY (`pk`), + KEY `int_key` (`int_key`), + KEY `date_key` (`date_key`), + KEY `time_key` (`time_key`), + KEY `datetime_key` (`datetime_key`), + KEY `varchar_key` (`varchar_key`) +) ENGINE=InnoDB; + +INSERT INTO t2 VALUES (1,1,6,'2005-12-23','2005-12-23','02:24:28','02:24:28','0000-00-00 00:00:00','0000-00-00 00:00:00','g','g'),(2,0,3,'2009-09-14','2009-09-14','00:00:00','00:00:00','2000-01-30 16:39:40','2000-01-30 16:39:40','q','q'),(3,0,3,'0000-00-00','0000-00-00','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','c','c'),(4,1,6,'2007-03-29','2007-03-29','15:49:00','15:49:00','0000-00-00 00:00:00','0000-00-00 00:00:00','m','m'),(5,4,0,'2002-12-04','2002-12-04','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','o','o'),(6,9,0,'2005-01-28','2005-01-28','00:00:00','00:00:00','2001-05-18 00:00:00','2001-05-18 00:00:00','w','w'),(7,6,0,'0000-00-00','0000-00-00','06:57:25','06:57:25','0000-00-00 00:00:00','0000-00-00 00:00:00','m','m'),(8,0,0,'0000-00-00','0000-00-00','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','z','z'),(9,4,6,'2006-08-15','2006-08-15','00:00:00','00:00:00','2002-04-12 14:44:25','2002-04-12 14:44:25','j','j'),(10,0,5,'2006-12-20','2006-12-20','10:13:53','10:13:53','2008-07-22 00:00:00','2008-07-22 00:00:00','y','y'),(11,9,7,'0000-00-00','0000-00-00','00:00:00','00:00:00','2004-07-05 00:00:00','2004-07-05 00:00:00','{','{'),(12,4,3,'2007-01-26','2007-01-26','23:00:51','23:00:51','2001-05-16 00:00:00','2001-05-16 00:00:00','f','f'),(13,7,0,'2004-03-27','2004-03-27','00:00:00','00:00:00','2005-01-24 03:30:37','2005-01-24 03:30:37','',''),(14,6,0,'2006-07-26','2006-07-26','18:43:57','18:43:57','0000-00-00 00:00:00','0000-00-00 00:00:00','{','{'),(15,0,6,'2000-01-14','2000-01-14','00:00:00','00:00:00','2000-09-21 00:00:00','2000-09-21 00:00:00','o','o'),(16,9,8,'0000-00-00','0000-00-00','21:15:08','21:15:08','0000-00-00 00:00:00','0000-00-00 00:00:00','a','a'),(17,2,0,'2004-10-27','2004-10-27','00:00:00','00:00:00','2004-03-24 22:13:43','2004-03-24 22:13:43','',''),(18,7,4,'0000-00-00','0000-00-00','08:38:27','08:38:27','2002-03-18 19:51:44','2002-03-18 19:51:44','t','t'),(19,5,3,'2008-03-07','2008-03-07','03:29:07','03:29:07','2007-12-01 18:44:44','2007-12-01 18:44:44','t','t'),(20,0,0,'2002-04-09','2002-04-09','16:06:03','16:06:03','2009-04-22 00:00:00','2009-04-22 00:00:00','n','n'); + +DELETE FROM t2 WHERE `int_key` < 3 LIMIT 1; +UPDATE t1 SET `int_key` = 3 ORDER BY `pk` LIMIT 4; +DELETE FROM t2 WHERE `int_key` < 3 LIMIT 1; +DELETE FROM t2 WHERE `pk` < 6 LIMIT 1; +UPDATE t1 SET `int_key` = 6 ORDER BY `pk` LIMIT 3; +DELETE FROM t2 WHERE `pk` < 6 LIMIT 1; +UPDATE t1 SET `pk` = 6 ORDER BY `int_key` LIMIT 6; +DELETE FROM t2 WHERE `pk` < 7 LIMIT 1; +UPDATE t1 SET `int_key` = 4 ORDER BY `pk` LIMIT 6; + +--sync_slave_with_master +--echo *** results: t2 must be consistent **** + +let $diff_table_1=master:test.t2; +let $diff_table_2=master:test.t2; +source include/diff_tables.inc; + +--connection master +DROP TABLE t1, t2; + +--enable_abort_on_error + +--echo EOF OF TESTS diff --git a/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result b/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result index 72c94ceb525..e79031b9348 100644 --- a/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result +++ b/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result @@ -527,3 +527,58 @@ ERROR 23000: Duplicate entry '10' for key 'PRIMARY' INSERT INTO t1 VALUES (4); Comparing tables master:test.t1 and slave:test.t1 drop table t1; +DROP TABLE IF EXISTS t1, t2; +CREATE TABLE t1 ( +`pk` int(11) NOT NULL AUTO_INCREMENT, +`int_nokey` int(11) NOT NULL, +`int_key` int(11) NOT NULL, +`date_key` date NOT NULL, +`date_nokey` date NOT NULL, +`time_key` time NOT NULL, +`time_nokey` time NOT NULL, +`datetime_key` datetime NOT NULL, +`datetime_nokey` datetime NOT NULL, +`varchar_key` varchar(1) NOT NULL, +`varchar_nokey` varchar(1) NOT NULL, +PRIMARY KEY (`pk`), +KEY `int_key` (`int_key`), +KEY `date_key` (`date_key`), +KEY `time_key` (`time_key`), +KEY `datetime_key` (`datetime_key`), +KEY `varchar_key` (`varchar_key`) +) ENGINE=InnoDB; +INSERT INTO t1 VALUES (1,8,5,'0000-00-00','0000-00-00','10:37:38','10:37:38','0000-00-00 00:00:00','0000-00-00 00:00:00','p','p'),(2,0,9,'0000-00-00','0000-00-00','00:00:00','00:00:00','2007-10-14 00:00:00','2007-10-14 00:00:00','d','d'); +CREATE TABLE t2 ( +`pk` int(11) NOT NULL AUTO_INCREMENT, +`int_nokey` int(11) NOT NULL, +`int_key` int(11) NOT NULL, +`date_key` date NOT NULL, +`date_nokey` date NOT NULL, +`time_key` time NOT NULL, +`time_nokey` time NOT NULL, +`datetime_key` datetime NOT NULL, +`datetime_nokey` datetime NOT NULL, +`varchar_key` varchar(1) NOT NULL, +`varchar_nokey` varchar(1) NOT NULL, +PRIMARY KEY (`pk`), +KEY `int_key` (`int_key`), +KEY `date_key` (`date_key`), +KEY `time_key` (`time_key`), +KEY `datetime_key` (`datetime_key`), +KEY `varchar_key` (`varchar_key`) +) ENGINE=InnoDB; +INSERT INTO t2 VALUES (1,1,6,'2005-12-23','2005-12-23','02:24:28','02:24:28','0000-00-00 00:00:00','0000-00-00 00:00:00','g','g'),(2,0,3,'2009-09-14','2009-09-14','00:00:00','00:00:00','2000-01-30 16:39:40','2000-01-30 16:39:40','q','q'),(3,0,3,'0000-00-00','0000-00-00','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','c','c'),(4,1,6,'2007-03-29','2007-03-29','15:49:00','15:49:00','0000-00-00 00:00:00','0000-00-00 00:00:00','m','m'),(5,4,0,'2002-12-04','2002-12-04','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','o','o'),(6,9,0,'2005-01-28','2005-01-28','00:00:00','00:00:00','2001-05-18 00:00:00','2001-05-18 00:00:00','w','w'),(7,6,0,'0000-00-00','0000-00-00','06:57:25','06:57:25','0000-00-00 00:00:00','0000-00-00 00:00:00','m','m'),(8,0,0,'0000-00-00','0000-00-00','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','z','z'),(9,4,6,'2006-08-15','2006-08-15','00:00:00','00:00:00','2002-04-12 14:44:25','2002-04-12 14:44:25','j','j'),(10,0,5,'2006-12-20','2006-12-20','10:13:53','10:13:53','2008-07-22 00:00:00','2008-07-22 00:00:00','y','y'),(11,9,7,'0000-00-00','0000-00-00','00:00:00','00:00:00','2004-07-05 00:00:00','2004-07-05 00:00:00','{','{'),(12,4,3,'2007-01-26','2007-01-26','23:00:51','23:00:51','2001-05-16 00:00:00','2001-05-16 00:00:00','f','f'),(13,7,0,'2004-03-27','2004-03-27','00:00:00','00:00:00','2005-01-24 03:30:37','2005-01-24 03:30:37','',''),(14,6,0,'2006-07-26','2006-07-26','18:43:57','18:43:57','0000-00-00 00:00:00','0000-00-00 00:00:00','{','{'),(15,0,6,'2000-01-14','2000-01-14','00:00:00','00:00:00','2000-09-21 00:00:00','2000-09-21 00:00:00','o','o'),(16,9,8,'0000-00-00','0000-00-00','21:15:08','21:15:08','0000-00-00 00:00:00','0000-00-00 00:00:00','a','a'),(17,2,0,'2004-10-27','2004-10-27','00:00:00','00:00:00','2004-03-24 22:13:43','2004-03-24 22:13:43','',''),(18,7,4,'0000-00-00','0000-00-00','08:38:27','08:38:27','2002-03-18 19:51:44','2002-03-18 19:51:44','t','t'),(19,5,3,'2008-03-07','2008-03-07','03:29:07','03:29:07','2007-12-01 18:44:44','2007-12-01 18:44:44','t','t'),(20,0,0,'2002-04-09','2002-04-09','16:06:03','16:06:03','2009-04-22 00:00:00','2009-04-22 00:00:00','n','n'); +DELETE FROM t2 WHERE `int_key` < 3 LIMIT 1; +UPDATE t1 SET `int_key` = 3 ORDER BY `pk` LIMIT 4; +DELETE FROM t2 WHERE `int_key` < 3 LIMIT 1; +DELETE FROM t2 WHERE `pk` < 6 LIMIT 1; +UPDATE t1 SET `int_key` = 6 ORDER BY `pk` LIMIT 3; +DELETE FROM t2 WHERE `pk` < 6 LIMIT 1; +UPDATE t1 SET `pk` = 6 ORDER BY `int_key` LIMIT 6; +ERROR 23000: Duplicate entry '6' for key 'PRIMARY' +DELETE FROM t2 WHERE `pk` < 7 LIMIT 1; +UPDATE t1 SET `int_key` = 4 ORDER BY `pk` LIMIT 6; +*** results: t2 must be consistent **** +Comparing tables master:test.t2 and master:test.t2 +DROP TABLE t1, t2; +EOF OF TESTS From 5ef4fb24177e04002e93c788720f248965146faa Mon Sep 17 00:00:00 2001 From: Kristofer Pettersson Date: Mon, 3 Nov 2008 14:08:42 +0100 Subject: [PATCH 058/141] Bug#29507 TRUNCATE shows to many rows effected TRUNCATE TABLE for InnoDB tables returned a count showing an approximation of the number of rows affected to gain efficiency. Now the statement always returns 0 rows affected for clarity. sql/sql_delete.cc: * Set row count to 0 if auto increment was reset which can happen if TRUNCATE TABLE was issued. --- sql/sql_delete.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sql/sql_delete.cc b/sql/sql_delete.cc index 73a46aaac98..f7c44152571 100644 --- a/sql/sql_delete.cc +++ b/sql/sql_delete.cc @@ -398,7 +398,11 @@ cleanup: free_underlaid_joins(thd, select_lex); if (error < 0 || (thd->lex->ignore && !thd->is_fatal_error)) { - thd->row_count_func= deleted; + /* + If a TRUNCATE TABLE was issued, the number of rows should be reported as + zero since the exact number is unknown. + */ + thd->row_count_func= reset_auto_increment ? 0 : deleted; my_ok(thd, (ha_rows) thd->row_count_func); DBUG_PRINT("info",("%ld records deleted",(long) deleted)); } From 8e682f8c1709709867c932e6dd939f94112f337d Mon Sep 17 00:00:00 2001 From: Chad MILLER Date: Mon, 3 Nov 2008 13:10:59 -0500 Subject: [PATCH 059/141] Symlink master sock if it is moved elsewhere for path-length reasons. --- mysql-test/mysql-test-run.pl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index f67ce4db761..b342421ca2e 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -2436,6 +2436,12 @@ sub setup_vardir() { mkpath("$opt_vardir/tmp"); mkpath($opt_tmpdir) if $opt_tmpdir ne "$opt_vardir/tmp"; + if ($master->[0]->{'path_sock'} !~ m/^$opt_tmpdir/) + { + mtr_report("Symlinking $master->[0]->{'path_sock'}"); + symlink($master->[0]->{'path_sock'}, "$opt_tmpdir/master.sock"); + } + # Create new data dirs foreach my $data_dir (@data_dir_lst) { From bb1ad9ce084a0efc649219e443705cb101193062 Mon Sep 17 00:00:00 2001 From: Mattias Jonsson Date: Tue, 4 Nov 2008 08:43:21 +0100 Subject: [PATCH 060/141] Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output The partitioning clause is only a very long single line, which is very hard to interpret for a human. This patch breaks the partitioning syntax into one line for the partitioning type, and one line per partition/subpartition. mysql-test/r/information_schema_part.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/r/partition.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/r/partition_archive.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/r/partition_datatype.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/r/partition_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/r/partition_mgm.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/r/partition_mgm_err.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/r/partition_not_windows.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/r/partition_range.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/r/partition_symlink.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/ndb/r/ndb_partition_key.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/ndb/r/ndb_partition_range.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/ndb_team/r/ndb_dd_backuprestore.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/inc/partition_directory.inc: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Changed partitioning clause format for verifying the new output format. mysql-test/suite/parts/r/ndb_dd_backuprestore.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/part_supported_sql_func_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/part_supported_sql_func_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/part_supported_sql_func_ndb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_alter1_1_2_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_alter1_1_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_alter1_1_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_alter1_2_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_alter1_2_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_alter2_1_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_alter2_1_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_alter2_2_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_alter2_2_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_alter3_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_alter3_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_alter4_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_alter4_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_auto_increment_archive.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_auto_increment_blackhole.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_auto_increment_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_auto_increment_memory.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_auto_increment_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_auto_increment_ndb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_basic_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_basic_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_basic_symlink_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_basic_symlink_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_bit_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_bit_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_bit_ndb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_char_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_char_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_datetime_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_datetime_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_decimal_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_decimal_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_engine_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_engine_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_engine_ndb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_float_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_float_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_int_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_int_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_int_ndb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_mgm_lc0_archive.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_mgm_lc0_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_mgm_lc0_memory.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_mgm_lc0_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_mgm_lc0_ndb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_mgm_lc1_archive.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_mgm_lc1_memory.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_mgm_lc1_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_mgm_lc1_ndb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_mgm_lc2_archive.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_mgm_lc2_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_mgm_lc2_memory.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_mgm_lc2_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_mgm_lc2_ndb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_special_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_special_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_syntax_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/partition_syntax_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/parts/r/rpl_partition.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/rpl/r/rpl_extraCol_innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/rpl/r/rpl_extraCol_myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/rpl/r/rpl_innodb_bug28430.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/rpl/r/rpl_row_basic_8partition.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/rpl_ndb/r/rpl_ndb_2innodb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/rpl_ndb/r/rpl_ndb_2myisam.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Updated test result due to the new partitioning clause output format. mysql-test/t/partition.test: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Added small tests for for the new partitioning clause output format. mysql-test/t/partition_mgm.test: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Added small tests for for the new partitioning clause output format. sql/sql_partition.cc: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Changed formatting of the partitioning clause from single line into multiple indented lines sql/sql_show.cc: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output Changed formatting of the partitioning clause from single line into multiple indented lines --- mysql-test/r/information_schema_part.result | 9 +- mysql-test/r/partition.result | 152 +- mysql-test/r/partition_archive.result | 19 +- mysql-test/r/partition_datatype.result | 6 +- mysql-test/r/partition_innodb.result | 13 +- mysql-test/r/partition_mgm.result | 47 +- mysql-test/r/partition_mgm_err.result | 4 +- mysql-test/r/partition_not_windows.result | 4 +- mysql-test/r/partition_range.result | 46 +- mysql-test/r/partition_symlink.result | 4 +- .../suite/ndb/r/ndb_partition_key.result | 33 +- .../suite/ndb/r/ndb_partition_range.result | 6 +- .../ndb_team/r/ndb_dd_backuprestore.result | 58 +- .../suite/parts/inc/partition_directory.inc | 57 +- .../suite/parts/r/ndb_dd_backuprestore.result | 58 +- .../r/part_supported_sql_func_innodb.result | 231 +- .../r/part_supported_sql_func_myisam.result | 231 +- .../r/part_supported_sql_func_ndb.result | 147 +- .../r/partition_alter1_1_2_innodb.result | 539 ++++- .../r/partition_alter1_1_2_myisam.result | 154 +- .../parts/r/partition_alter1_1_innodb.result | 308 ++- .../parts/r/partition_alter1_1_myisam.result | 154 +- .../parts/r/partition_alter1_2_innodb.result | 770 ++++++- .../parts/r/partition_alter1_2_myisam.result | 308 ++- .../parts/r/partition_alter2_1_innodb.result | 1155 ++++++++-- .../parts/r/partition_alter2_1_myisam.result | 693 +++++- .../parts/r/partition_alter2_2_innodb.result | 1155 ++++++++-- .../parts/r/partition_alter2_2_myisam.result | 693 +++++- .../parts/r/partition_alter3_innodb.result | 158 +- .../parts/r/partition_alter3_myisam.result | 158 +- .../parts/r/partition_alter4_innodb.result | 1886 +++++++++++++++-- .../parts/r/partition_alter4_myisam.result | 1886 +++++++++++++++-- .../r/partition_auto_increment_archive.result | 72 +- .../partition_auto_increment_blackhole.result | 72 +- .../r/partition_auto_increment_innodb.result | 72 +- .../r/partition_auto_increment_memory.result | 72 +- .../r/partition_auto_increment_myisam.result | 72 +- .../r/partition_auto_increment_ndb.result | 72 +- .../parts/r/partition_basic_innodb.result | 616 +++++- .../parts/r/partition_basic_myisam.result | 308 ++- .../r/partition_basic_symlink_innodb.result | 10 +- .../r/partition_basic_symlink_myisam.result | 453 +++- .../suite/parts/r/partition_bit_innodb.result | 48 +- .../suite/parts/r/partition_bit_myisam.result | 48 +- .../suite/parts/r/partition_bit_ndb.result | 27 +- .../parts/r/partition_char_innodb.result | 66 +- .../parts/r/partition_char_myisam.result | 66 +- .../parts/r/partition_datetime_innodb.result | 127 +- .../parts/r/partition_datetime_myisam.result | 127 +- .../parts/r/partition_decimal_innodb.result | 11 +- .../parts/r/partition_decimal_myisam.result | 11 +- .../parts/r/partition_engine_innodb.result | 85 +- .../parts/r/partition_engine_myisam.result | 85 +- .../suite/parts/r/partition_engine_ndb.result | 85 +- .../parts/r/partition_float_innodb.result | 22 +- .../parts/r/partition_float_myisam.result | 22 +- .../suite/parts/r/partition_int_innodb.result | 75 +- .../suite/parts/r/partition_int_myisam.result | 75 +- .../suite/parts/r/partition_int_ndb.result | 75 +- .../parts/r/partition_mgm_lc0_archive.result | 123 +- .../parts/r/partition_mgm_lc0_innodb.result | 123 +- .../parts/r/partition_mgm_lc0_memory.result | 123 +- .../parts/r/partition_mgm_lc0_myisam.result | 123 +- .../parts/r/partition_mgm_lc0_ndb.result | 22 +- .../parts/r/partition_mgm_lc1_archive.result | 122 +- .../parts/r/partition_mgm_lc1_innodb.result | 122 +- .../parts/r/partition_mgm_lc1_memory.result | 122 +- .../parts/r/partition_mgm_lc1_myisam.result | 122 +- .../parts/r/partition_mgm_lc1_ndb.result | 28 +- .../parts/r/partition_mgm_lc2_archive.result | 122 +- .../parts/r/partition_mgm_lc2_innodb.result | 122 +- .../parts/r/partition_mgm_lc2_memory.result | 122 +- .../parts/r/partition_mgm_lc2_myisam.result | 122 +- .../parts/r/partition_mgm_lc2_ndb.result | 28 +- .../parts/r/partition_special_innodb.result | 28 +- .../parts/r/partition_special_myisam.result | 28 +- .../parts/r/partition_syntax_innodb.result | 69 +- .../parts/r/partition_syntax_myisam.result | 69 +- mysql-test/suite/parts/r/rpl_partition.result | 16 +- .../suite/rpl/r/rpl_extraCol_innodb.result | 8 +- .../suite/rpl/r/rpl_extraCol_myisam.result | 8 +- .../suite/rpl/r/rpl_innodb_bug28430.result | 16 +- .../rpl/r/rpl_row_basic_8partition.result | 100 +- .../suite/rpl_ndb/r/rpl_ndb_2innodb.result | 100 +- .../suite/rpl_ndb/r/rpl_ndb_2myisam.result | 100 +- .../rpl_ndb/r/rpl_ndb_dd_partitions.result | 100 +- .../suite/rpl_ndb/r/rpl_ndb_extraCol.result | 8 +- .../suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result | 100 +- .../suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result | 100 +- mysql-test/t/partition.test | 5 +- mysql-test/t/partition_mgm.test | 24 + sql/sql_partition.cc | 12 +- sql/sql_show.cc | 2 +- 93 files changed, 14427 insertions(+), 2028 deletions(-) diff --git a/mysql-test/r/information_schema_part.result b/mysql-test/r/information_schema_part.result index 8455c8e014e..74d52e9521f 100644 --- a/mysql-test/r/information_schema_part.result +++ b/mysql-test/r/information_schema_part.result @@ -119,7 +119,10 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) SUBPARTITION BY LINEAR HASH (a) (PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +SUBPARTITION BY LINEAR HASH (a) +(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM) */ select SUBPARTITION_METHOD FROM information_schema.partitions WHERE table_schema="test" AND table_name="t1"; SUBPARTITION_METHOD @@ -134,7 +137,9 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION p0 VALUES IN (10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION p0 VALUES IN (10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53) ENGINE = MyISAM) */ SELECT PARTITION_DESCRIPTION FROM information_schema.partitions WHERE table_schema = "test" AND table_name = "t1"; PARTITION_DESCRIPTION diff --git a/mysql-test/r/partition.result b/mysql-test/r/partition.result index e76c874324e..e1205ed8390 100644 --- a/mysql-test/r/partition.result +++ b/mysql-test/r/partition.result @@ -133,7 +133,10 @@ KEY `c1` (`c1`) CREATE TABLE `t2` ( `c1` int(11) DEFAULT NULL, KEY `c1` (`c1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (c1) (PARTITION a VALUES LESS THAN (100) ENGINE = MyISAM, PARTITION b VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */; +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (c1) +(PARTITION a VALUES LESS THAN (100) ENGINE = MyISAM, +PARTITION b VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */; INSERT INTO `t1` VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20); INSERT INTO `t2` VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20); EXPLAIN PARTITIONS SELECT c1 FROM t1 WHERE (c1 > 2 AND c1 < 5); @@ -299,13 +302,21 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) SUBPARTITION BY KEY (a) (PARTITION p0 VALUES LESS THAN (1) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (2) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +SUBPARTITION BY KEY (a) +(PARTITION p0 VALUES LESS THAN (1) ENGINE = MyISAM, + PARTITION p1 VALUES LESS THAN (2) ENGINE = MyISAM) */ alter table t1 reorganize partition p1 into (partition p1 values less than (3)); show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) SUBPARTITION BY KEY (a) (PARTITION p0 VALUES LESS THAN (1) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +SUBPARTITION BY KEY (a) +(PARTITION p0 VALUES LESS THAN (1) ENGINE = MyISAM, + PARTITION p1 VALUES LESS THAN (3) ENGINE = MyISAM) */ drop table t1; CREATE TABLE t1 ( a int not null, @@ -323,7 +334,8 @@ t1 CREATE TABLE `t1` ( `b` int(11) NOT NULL, `c` int(11) NOT NULL, PRIMARY KEY (`a`,`b`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) */ drop table t1; CREATE TABLE t1 ( a int not null, @@ -500,7 +512,9 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION x1 VALUES IN (1) ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION x1 VALUES IN (1) ENGINE = MEMORY) */ drop table t1; CREATE TABLE t1 (a int, unique(a)) PARTITION BY LIST (a) @@ -524,7 +538,9 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +PARTITIONS 5 */ drop table t1; CREATE TABLE t1 (a int) PARTITION BY RANGE (a) @@ -551,7 +567,11 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION p2 VALUES LESS THAN (30) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION p0 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION p1 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION p2 VALUES LESS THAN (30) ENGINE = MyISAM) */ drop table t1; CREATE TABLE t1 (a int, b int) PARTITION BY RANGE (a) @@ -572,7 +592,16 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION x1 VALUES LESS THAN (6) ENGINE = MyISAM, PARTITION x3 VALUES LESS THAN (8) ENGINE = MyISAM, PARTITION x4 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION x5 VALUES LESS THAN (12) ENGINE = MyISAM, PARTITION x6 VALUES LESS THAN (14) ENGINE = MyISAM, PARTITION x7 VALUES LESS THAN (16) ENGINE = MyISAM, PARTITION x8 VALUES LESS THAN (18) ENGINE = MyISAM, PARTITION x9 VALUES LESS THAN (20) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION x1 VALUES LESS THAN (6) ENGINE = MyISAM, + PARTITION x3 VALUES LESS THAN (8) ENGINE = MyISAM, + PARTITION x4 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION x5 VALUES LESS THAN (12) ENGINE = MyISAM, + PARTITION x6 VALUES LESS THAN (14) ENGINE = MyISAM, + PARTITION x7 VALUES LESS THAN (16) ENGINE = MyISAM, + PARTITION x8 VALUES LESS THAN (18) ENGINE = MyISAM, + PARTITION x9 VALUES LESS THAN (20) ENGINE = MyISAM) */ drop table t1; create table t1 (a int not null, b int not null) partition by LIST (a+b) ( partition p0 values in (12), @@ -626,25 +655,37 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION p0 ENGINE = MyISAM, + PARTITION p1 ENGINE = MyISAM) */ alter table t1; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION p0 ENGINE = MyISAM, + PARTITION p1 ENGINE = MyISAM) */ alter table t1 engine=myisam; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION p0 ENGINE = MyISAM, + PARTITION p1 ENGINE = MyISAM) */ alter table t1 engine=heap; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MEMORY, PARTITION p1 ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION p0 ENGINE = MEMORY, + PARTITION p1 ENGINE = MEMORY) */ alter table t1 remove partitioning; show create table t1; Table Create Table @@ -661,7 +702,10 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION p0 ENGINE = MyISAM, + PARTITION p1 ENGINE = MyISAM) */ alter table t1 add column b int remove partitioning; show create table t1; Table Create Table @@ -678,7 +722,10 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION p0 ENGINE = MyISAM, + PARTITION p1 ENGINE = MyISAM) */ alter table t1 engine=heap partition by key(a) @@ -688,7 +735,10 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MEMORY, PARTITION p1 ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION p0 ENGINE = MEMORY, + PARTITION p1 ENGINE = MEMORY) */ alter table t1 engine=myisam, add column c int remove partitioning; show create table t1; Table Create Table @@ -707,7 +757,10 @@ t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL, `c` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MEMORY, PARTITION p1 ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION p0 ENGINE = MEMORY, + PARTITION p1 ENGINE = MEMORY) */ alter table t1 partition by key (a) (partition p0, partition p1); @@ -717,7 +770,10 @@ t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL, `c` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MEMORY, PARTITION p1 ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION p0 ENGINE = MEMORY, + PARTITION p1 ENGINE = MEMORY) */ alter table t1 engine=heap partition by key (a) @@ -728,7 +784,10 @@ t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL, `c` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MEMORY, PARTITION p1 ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION p0 ENGINE = MEMORY, + PARTITION p1 ENGINE = MEMORY) */ alter table t1 partition by key(a) (partition p0, partition p1 engine=heap); @@ -871,14 +930,23 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) SUBPARTITION BY HASH (a) (PARTITION p0 VALUES LESS THAN (100) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +SUBPARTITION BY HASH (a) +(PARTITION p0 VALUES LESS THAN (100) ENGINE = MyISAM) */ alter table t1 add partition (partition p1 values less than (200) (subpartition subpart21)); show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) SUBPARTITION BY HASH (a) (PARTITION p0 VALUES LESS THAN (100) (SUBPARTITION p0sp0 ENGINE = MyISAM), PARTITION p1 VALUES LESS THAN (200) (SUBPARTITION subpart21 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +SUBPARTITION BY HASH (a) +(PARTITION p0 VALUES LESS THAN (100) + (SUBPARTITION p0sp0 ENGINE = MyISAM), + PARTITION p1 VALUES LESS THAN (200) + (SUBPARTITION subpart21 ENGINE = MyISAM)) */ drop table t1; create table t1 (a int) partition by key (a); @@ -886,13 +954,17 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) */ alter table t1 add partition (partition p1); show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION p0 ENGINE = MyISAM, + PARTITION p1 ENGINE = MyISAM) */ drop table t1; create table t1 (a int, b int) partition by range (a) @@ -969,7 +1041,10 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION p1 VALUES IN (1) ENGINE = MyISAM, PARTITION p2 VALUES IN (2) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION p1 VALUES IN (1) ENGINE = MyISAM, + PARTITION p2 VALUES IN (2) ENGINE = MyISAM) */ drop table t1; create table t1 (a int unsigned not null auto_increment primary key) partition by key(a); @@ -980,7 +1055,8 @@ t2 CREATE TABLE `t2` ( `a` int(10) unsigned NOT NULL AUTO_INCREMENT, `c` char(10) DEFAULT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='no comment' /*!50100 PARTITION BY KEY (a) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='no comment' +/*!50100 PARTITION BY KEY (a) */ drop table t2; create table t1 (f1 int) partition by hash (f1) as select 1; drop table t1; @@ -1177,7 +1253,9 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION p0 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION p0 VALUES IN (NULL) ENGINE = MyISAM) */ DROP TABLE t1; CREATE TABLE t1 (a int) PARTITION BY RANGE(a) @@ -1213,7 +1291,9 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) /*!50100 PARTITION BY KEY (a) (PARTITION p0) */ +) +/*!50100 PARTITION BY KEY (a) +(PARTITION p0) */ set session sql_mode=''; drop table t1; create table t1 (a int) @@ -1227,7 +1307,8 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(1) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) */ drop table t1; CREATE TABLE t1 (a int) ENGINE = MYISAM PARTITION BY KEY(a); INSERT into t1 values (1), (2); @@ -1299,7 +1380,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` bigint(20) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 10 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 10 */ insert into t1 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE), (18446744073709551613), (18446744073709551612); select * from t1; @@ -1475,7 +1558,10 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (b) (PARTITION p1 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION p2 VALUES LESS THAN (20) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (b) +(PARTITION p1 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION p2 VALUES LESS THAN (20) ENGINE = MyISAM) */ drop table t1, t2; create table t1 (s1 timestamp on update current_timestamp, s2 int) @@ -1612,7 +1698,13 @@ t1 CREATE TABLE `t1` ( `id` mediumint(9) NOT NULL AUTO_INCREMENT, `user` char(25) DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=16 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (id) SUBPARTITION BY HASH (id) SUBPARTITIONS 2 (PARTITION pa1 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION pa2 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION pa11 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ +) ENGINE=MyISAM AUTO_INCREMENT=16 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (id) +SUBPARTITION BY HASH (id) +SUBPARTITIONS 2 +(PARTITION pa1 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION pa2 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION pa11 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ drop table t1; CREATE TABLE t1 ( `ID` bigint(20) NOT NULL AUTO_INCREMENT, diff --git a/mysql-test/r/partition_archive.result b/mysql-test/r/partition_archive.result index 5c84b41e81b..de64b09e042 100644 --- a/mysql-test/r/partition_archive.result +++ b/mysql-test/r/partition_archive.result @@ -60,7 +60,8 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) */ drop table t1; CREATE TABLE t1(id MEDIUMINT NOT NULL AUTO_INCREMENT, f1 VARCHAR(25), @@ -84,7 +85,21 @@ t1 CREATE TABLE `t1` ( `id` mediumint(9) NOT NULL AUTO_INCREMENT, `f1` varchar(25) DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=ARCHIVE AUTO_INCREMENT=101 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (id) SUBPARTITION BY HASH (id) SUBPARTITIONS 2 (PARTITION pa1 VALUES LESS THAN (10) ENGINE = ARCHIVE, PARTITION pa2 VALUES LESS THAN (20) ENGINE = ARCHIVE, PARTITION pa3 VALUES LESS THAN (30) ENGINE = ARCHIVE, PARTITION pa4 VALUES LESS THAN (40) ENGINE = ARCHIVE, PARTITION pa5 VALUES LESS THAN (50) ENGINE = ARCHIVE, PARTITION pa6 VALUES LESS THAN (60) ENGINE = ARCHIVE, PARTITION pa7 VALUES LESS THAN (70) ENGINE = ARCHIVE, PARTITION pa8 VALUES LESS THAN (80) ENGINE = ARCHIVE, PARTITION pa9 VALUES LESS THAN (90) ENGINE = ARCHIVE, PARTITION pa10 VALUES LESS THAN (100) ENGINE = ARCHIVE, PARTITION pa11 VALUES LESS THAN MAXVALUE ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE AUTO_INCREMENT=101 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (id) +SUBPARTITION BY HASH (id) +SUBPARTITIONS 2 +(PARTITION pa1 VALUES LESS THAN (10) ENGINE = ARCHIVE, + PARTITION pa2 VALUES LESS THAN (20) ENGINE = ARCHIVE, + PARTITION pa3 VALUES LESS THAN (30) ENGINE = ARCHIVE, + PARTITION pa4 VALUES LESS THAN (40) ENGINE = ARCHIVE, + PARTITION pa5 VALUES LESS THAN (50) ENGINE = ARCHIVE, + PARTITION pa6 VALUES LESS THAN (60) ENGINE = ARCHIVE, + PARTITION pa7 VALUES LESS THAN (70) ENGINE = ARCHIVE, + PARTITION pa8 VALUES LESS THAN (80) ENGINE = ARCHIVE, + PARTITION pa9 VALUES LESS THAN (90) ENGINE = ARCHIVE, + PARTITION pa10 VALUES LESS THAN (100) ENGINE = ARCHIVE, + PARTITION pa11 VALUES LESS THAN MAXVALUE ENGINE = ARCHIVE) */ select count(*) from t1; count(*) 100 diff --git a/mysql-test/r/partition_datatype.result b/mysql-test/r/partition_datatype.result index 43d9aac13b7..3e4acfdee12 100644 --- a/mysql-test/r/partition_datatype.result +++ b/mysql-test/r/partition_datatype.result @@ -326,7 +326,11 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` bit(27) NOT NULL DEFAULT '\0\0\0\0', PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM, PARTITION p2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION p0 ENGINE = MyISAM, + PARTITION p1 ENGINE = MyISAM, + PARTITION p2 ENGINE = MyISAM) */ insert into t1 values (1),(4),(7),(10),(13),(16),(19),(22),(25),(28),(31),(34); select hex(a) from t1 where a = 7; hex(a) diff --git a/mysql-test/r/partition_innodb.result b/mysql-test/r/partition_innodb.result index c6d74238d31..3692626f9ac 100644 --- a/mysql-test/r/partition_innodb.result +++ b/mysql-test/r/partition_innodb.result @@ -137,7 +137,8 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) */ drop table t1; create table t1 (a int) engine = innodb @@ -149,7 +150,9 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION p0 VALUES IN (0) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION p0 VALUES IN (0) ENGINE = InnoDB) */ drop table t1; create table t1 ( @@ -225,5 +228,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `int_column` int(11) DEFAULT NULL, `char_column` char(5) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (int_column) SUBPARTITION BY KEY (char_column) SUBPARTITIONS 2 (PARTITION p1 VALUES LESS THAN (5) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (int_column) +SUBPARTITION BY KEY (char_column) +SUBPARTITIONS 2 +(PARTITION p1 VALUES LESS THAN (5) ENGINE = MyISAM) */ drop table t1; diff --git a/mysql-test/r/partition_mgm.result b/mysql-test/r/partition_mgm.result index 9ef220028b3..465bddcb3fb 100644 --- a/mysql-test/r/partition_mgm.result +++ b/mysql-test/r/partition_mgm.result @@ -16,14 +16,18 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +PARTITIONS 2 */ ALTER TABLE t1 COALESCE PARTITION 1; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) PARTITIONS 1 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +PARTITIONS 1 */ drop table t1; create table t1 (a int) partition by list (a) @@ -36,3 +40,42 @@ alter table t1 REORGANIZE partition p1 INTO (partition p11 values in (1,2), partition p12 values in (3,4)); drop table t1; +CREATE TABLE t1 (a INT) +/*!50100 PARTITION BY HASH (a) +/* Test +of multi-line +comment */ +PARTITIONS 5 */; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*/' at line 6 +CREATE TABLE t1 (a INT) +/*!50100 PARTITION BY HASH (a) +-- with a single line comment embedded +PARTITIONS 5 */; +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +PARTITIONS 5 */ +DROP TABLE t1; +CREATE TABLE t1 (a INT) +/*!50100 PARTITION BY HASH (a) +PARTITIONS 5 */; +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +PARTITIONS 5 */ +DROP TABLE t1; +CREATE TABLE t1 (a INT) /*!50100 PARTITION BY HASH (a) PARTITIONS 5 */; +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +PARTITIONS 5 */ +DROP TABLE t1; diff --git a/mysql-test/r/partition_mgm_err.result b/mysql-test/r/partition_mgm_err.result index 764f6fb5632..b8b80a783e5 100644 --- a/mysql-test/r/partition_mgm_err.result +++ b/mysql-test/r/partition_mgm_err.result @@ -136,7 +136,9 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 2 */ DROP TABLE t1; CREATE TABLE t1 (a INT) PARTITION BY HASH(a); ALTER TABLE t1 ADD PARTITION PARTITIONS 4; diff --git a/mysql-test/r/partition_not_windows.result b/mysql-test/r/partition_not_windows.result index cf1fec98b07..fa22b796a28 100644 --- a/mysql-test/r/partition_not_windows.result +++ b/mysql-test/r/partition_not_windows.result @@ -30,7 +30,9 @@ show create table t2; Table Create Table t2 CREATE TABLE `t2` ( `i` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (i) (PARTITION p01 VALUES LESS THAN (1000) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (i) +(PARTITION p01 VALUES LESS THAN (1000) ENGINE = MyISAM) */ DROP TABLE t1, t2; set @@sql_mode=@org_mode; CREATE TABLE t1(a INT) diff --git a/mysql-test/r/partition_range.result b/mysql-test/r/partition_range.result index 23a38ff3885..e8fc55b759b 100644 --- a/mysql-test/r/partition_range.result +++ b/mysql-test/r/partition_range.result @@ -8,7 +8,9 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p0 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION p0 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ drop table t1; create table t1 (a integer) partition by range (a) @@ -137,7 +139,11 @@ t1 CREATE TABLE `t1` ( `b` int(11) NOT NULL, `c` int(11) NOT NULL, PRIMARY KEY (`a`,`b`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION x1 VALUES LESS THAN (5) TABLESPACE = ts1 ENGINE = MyISAM, PARTITION x2 VALUES LESS THAN (10) TABLESPACE = ts2 ENGINE = MyISAM, PARTITION x3 VALUES LESS THAN MAXVALUE TABLESPACE = ts3 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION x1 VALUES LESS THAN (5) TABLESPACE = ts1 ENGINE = MyISAM, + PARTITION x2 VALUES LESS THAN (10) TABLESPACE = ts2 ENGINE = MyISAM, + PARTITION x3 VALUES LESS THAN MAXVALUE TABLESPACE = ts3 ENGINE = MyISAM) */ ALTER TABLE t1 partition by range (a) partitions 3 @@ -157,7 +163,11 @@ t1 CREATE TABLE `t1` ( `b` int(11) NOT NULL, `c` int(11) NOT NULL, PRIMARY KEY (`a`,`b`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION x1 VALUES LESS THAN (5) TABLESPACE = ts1 ENGINE = MyISAM, PARTITION x2 VALUES LESS THAN (10) TABLESPACE = ts2 ENGINE = MyISAM, PARTITION x3 VALUES LESS THAN MAXVALUE TABLESPACE = ts3 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION x1 VALUES LESS THAN (5) TABLESPACE = ts1 ENGINE = MyISAM, + PARTITION x2 VALUES LESS THAN (10) TABLESPACE = ts2 ENGINE = MyISAM, + PARTITION x3 VALUES LESS THAN MAXVALUE TABLESPACE = ts3 ENGINE = MyISAM) */ drop table if exists t1; CREATE TABLE t1 ( a int not null, @@ -254,7 +264,15 @@ t1 CREATE TABLE `t1` ( `b` int(11) NOT NULL, `c` int(11) NOT NULL, PRIMARY KEY (`a`,`b`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) SUBPARTITION BY HASH (a+b) (PARTITION x1 VALUES LESS THAN (1) (SUBPARTITION x11 ENGINE = MyISAM, SUBPARTITION x12 ENGINE = MyISAM), PARTITION x2 VALUES LESS THAN (5) (SUBPARTITION x21 ENGINE = MyISAM, SUBPARTITION x22 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +SUBPARTITION BY HASH (a+b) +(PARTITION x1 VALUES LESS THAN (1) + (SUBPARTITION x11 ENGINE = MyISAM, + SUBPARTITION x12 ENGINE = MyISAM), + PARTITION x2 VALUES LESS THAN (5) + (SUBPARTITION x21 ENGINE = MyISAM, + SUBPARTITION x22 ENGINE = MyISAM)) */ ALTER TABLE t1 ADD COLUMN d int; show create table t1; Table Create Table @@ -264,7 +282,15 @@ t1 CREATE TABLE `t1` ( `c` int(11) NOT NULL, `d` int(11) DEFAULT NULL, PRIMARY KEY (`a`,`b`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) SUBPARTITION BY HASH (a+b) (PARTITION x1 VALUES LESS THAN (1) (SUBPARTITION x11 ENGINE = MyISAM, SUBPARTITION x12 ENGINE = MyISAM), PARTITION x2 VALUES LESS THAN (5) (SUBPARTITION x21 ENGINE = MyISAM, SUBPARTITION x22 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +SUBPARTITION BY HASH (a+b) +(PARTITION x1 VALUES LESS THAN (1) + (SUBPARTITION x11 ENGINE = MyISAM, + SUBPARTITION x12 ENGINE = MyISAM), + PARTITION x2 VALUES LESS THAN (5) + (SUBPARTITION x21 ENGINE = MyISAM, + SUBPARTITION x22 ENGINE = MyISAM)) */ drop table t1; CREATE TABLE t1 ( a int not null, @@ -487,7 +513,10 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` bigint(20) unsigned DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p0 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (10) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION p0 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION p1 VALUES LESS THAN (10) ENGINE = MyISAM) */ drop table t1; create table t1 (a bigint unsigned) partition by range (a) @@ -497,7 +526,10 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` bigint(20) unsigned DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION p0 VALUES LESS THAN (2) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (10) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION p0 VALUES LESS THAN (2) ENGINE = MyISAM, + PARTITION p1 VALUES LESS THAN (10) ENGINE = MyISAM) */ insert into t1 values (0xFFFFFFFFFFFFFFFF); ERROR HY000: Table has no partition for value 18446744073709551615 drop table t1; diff --git a/mysql-test/r/partition_symlink.result b/mysql-test/r/partition_symlink.result index 894966f6c53..60184d11d9c 100644 --- a/mysql-test/r/partition_symlink.result +++ b/mysql-test/r/partition_symlink.result @@ -107,7 +107,9 @@ show create table t2; Table Create Table t2 CREATE TABLE `t2` ( `i` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (i) (PARTITION p01 VALUES LESS THAN (1000) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (i) +(PARTITION p01 VALUES LESS THAN (1000) ENGINE = MyISAM) */ DROP TABLE t1, t2; set @@sql_mode=@org_mode; create table t1 (a int) diff --git a/mysql-test/suite/ndb/r/ndb_partition_key.result b/mysql-test/suite/ndb/r/ndb_partition_key.result index 5ce2d860e7d..bc15fd30413 100644 --- a/mysql-test/suite/ndb/r/ndb_partition_key.result +++ b/mysql-test/suite/ndb/r/ndb_partition_key.result @@ -97,7 +97,8 @@ t1 CREATE TABLE `t1` ( `c` int(11) NOT NULL DEFAULT '0', `d` int(11) DEFAULT NULL, PRIMARY KEY (`a`,`b`,`c`) USING HASH -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (b) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (b) */ DROP TABLE t1; CREATE TABLE t1 (a int not null primary key) PARTITION BY KEY(a) @@ -122,19 +123,28 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION p0 ENGINE = ndbcluster, + PARTITION p1 ENGINE = ndbcluster) */ alter table t1 engine=heap; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MEMORY, PARTITION p1 ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION p0 ENGINE = MEMORY, + PARTITION p1 ENGINE = MEMORY) */ alter table t1 engine=ndb; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION p0 ENGINE = ndbcluster, + PARTITION p1 ENGINE = ndbcluster) */ alter table t1 engine=heap remove partitioning; show create table t1; Table Create Table @@ -148,7 +158,10 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION p0 ENGINE = ndbcluster, + PARTITION p1 ENGINE = ndbcluster) */ alter table t1 partition by key (a) (partition p0 engine=ndb, partition p1 engine=ndb); @@ -156,7 +169,10 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION p0 ENGINE = ndbcluster, + PARTITION p1 ENGINE = ndbcluster) */ alter table t1 remove partitioning; show create table t1; Table Create Table @@ -174,7 +190,10 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION p0 ENGINE = ndbcluster, + PARTITION p1 ENGINE = ndbcluster) */ drop table t1; CREATE TABLE t1 ( c1 MEDIUMINT NOT NULL AUTO_INCREMENT, diff --git a/mysql-test/suite/ndb/r/ndb_partition_range.result b/mysql-test/suite/ndb/r/ndb_partition_range.result index 198898879df..83eff9ea2ee 100644 --- a/mysql-test/suite/ndb/r/ndb_partition_range.result +++ b/mysql-test/suite/ndb/r/ndb_partition_range.result @@ -123,7 +123,11 @@ t1 CREATE TABLE `t1` ( `c` int(11) NOT NULL, PRIMARY KEY (`b`), UNIQUE KEY `a` (`a`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (b) (PARTITION x1 VALUES LESS THAN (5) ENGINE = ndbcluster, PARTITION x2 VALUES LESS THAN (10) ENGINE = ndbcluster, PARTITION x3 VALUES LESS THAN (20) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (b) +(PARTITION x1 VALUES LESS THAN (5) ENGINE = ndbcluster, + PARTITION x2 VALUES LESS THAN (10) ENGINE = ndbcluster, + PARTITION x3 VALUES LESS THAN (20) ENGINE = ndbcluster) */ drop table t1; CREATE TABLE t1 (id MEDIUMINT NOT NULL, diff --git a/mysql-test/suite/ndb_team/r/ndb_dd_backuprestore.result b/mysql-test/suite/ndb_team/r/ndb_dd_backuprestore.result index c82fe560121..768aa86c832 100644 --- a/mysql-test/suite/ndb_team/r/ndb_dd_backuprestore.result +++ b/mysql-test/suite/ndb_team/r/ndb_dd_backuprestore.result @@ -175,7 +175,9 @@ t1 CREATE TABLE `t1` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) /*!50100 TABLESPACE table_space1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c3) PARTITIONS 4 */ +) /*!50100 TABLESPACE table_space1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c3) +PARTITIONS 4 */ SHOW CREATE TABLE test.t2; Table Create Table t2 CREATE TABLE `t2` ( @@ -184,7 +186,10 @@ t2 CREATE TABLE `t2` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (c3) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) */ +) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (c3) +(PARTITION p0 ENGINE = ndbcluster, + PARTITION p1 ENGINE = ndbcluster) */ SHOW CREATE TABLE test.t3; Table Create Table t3 CREATE TABLE `t3` ( @@ -193,7 +198,11 @@ t3 CREATE TABLE `t3` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (c3) (PARTITION x1 VALUES LESS THAN (105) ENGINE = ndbcluster, PARTITION x2 VALUES LESS THAN (333) ENGINE = ndbcluster, PARTITION x3 VALUES LESS THAN (720) ENGINE = ndbcluster) */ +) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (c3) +(PARTITION x1 VALUES LESS THAN (105) ENGINE = ndbcluster, + PARTITION x2 VALUES LESS THAN (333) ENGINE = ndbcluster, + PARTITION x3 VALUES LESS THAN (720) ENGINE = ndbcluster) */ SHOW CREATE TABLE test.t4; Table Create Table t4 CREATE TABLE `t4` ( @@ -202,7 +211,9 @@ t4 CREATE TABLE `t4` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c3) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c3) +PARTITIONS 2 */ SHOW CREATE TABLE test.t5; Table Create Table t5 CREATE TABLE `t5` ( @@ -211,7 +222,10 @@ t5 CREATE TABLE `t5` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (pk1) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (pk1) +(PARTITION p0 ENGINE = ndbcluster, + PARTITION p1 ENGINE = ndbcluster) */ SHOW CREATE TABLE test.t6; Table Create Table t6 CREATE TABLE `t6` ( @@ -220,7 +234,10 @@ t6 CREATE TABLE `t6` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (pk1) (PARTITION x1 VALUES LESS THAN (333) ENGINE = ndbcluster, PARTITION x2 VALUES LESS THAN (720) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (pk1) +(PARTITION x1 VALUES LESS THAN (333) ENGINE = ndbcluster, + PARTITION x2 VALUES LESS THAN (720) ENGINE = ndbcluster) */ SELECT * FROM information_schema.partitions WHERE table_name= 't1'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME NULL test t1 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1 @@ -341,7 +358,9 @@ t1 CREATE TABLE `t1` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) /*!50100 TABLESPACE table_space1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c3) PARTITIONS 4 */ +) /*!50100 TABLESPACE table_space1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c3) +PARTITIONS 4 */ SHOW CREATE TABLE test.t2; Table Create Table t2 CREATE TABLE `t2` ( @@ -350,7 +369,10 @@ t2 CREATE TABLE `t2` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (c3) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) */ +) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (c3) +(PARTITION p0 ENGINE = ndbcluster, + PARTITION p1 ENGINE = ndbcluster) */ SHOW CREATE TABLE test.t3; Table Create Table t3 CREATE TABLE `t3` ( @@ -359,7 +381,11 @@ t3 CREATE TABLE `t3` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (c3) (PARTITION x1 VALUES LESS THAN (105) ENGINE = ndbcluster, PARTITION x2 VALUES LESS THAN (333) ENGINE = ndbcluster, PARTITION x3 VALUES LESS THAN (720) ENGINE = ndbcluster) */ +) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (c3) +(PARTITION x1 VALUES LESS THAN (105) ENGINE = ndbcluster, + PARTITION x2 VALUES LESS THAN (333) ENGINE = ndbcluster, + PARTITION x3 VALUES LESS THAN (720) ENGINE = ndbcluster) */ SHOW CREATE TABLE test.t4; Table Create Table t4 CREATE TABLE `t4` ( @@ -368,7 +394,9 @@ t4 CREATE TABLE `t4` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c3) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c3) +PARTITIONS 2 */ SHOW CREATE TABLE test.t5; Table Create Table t5 CREATE TABLE `t5` ( @@ -377,7 +405,10 @@ t5 CREATE TABLE `t5` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (pk1) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (pk1) +(PARTITION p0 ENGINE = ndbcluster, + PARTITION p1 ENGINE = ndbcluster) */ SHOW CREATE TABLE test.t6; Table Create Table t6 CREATE TABLE `t6` ( @@ -386,7 +417,10 @@ t6 CREATE TABLE `t6` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (pk1) (PARTITION x1 VALUES LESS THAN (333) ENGINE = ndbcluster, PARTITION x2 VALUES LESS THAN (720) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (pk1) +(PARTITION x1 VALUES LESS THAN (333) ENGINE = ndbcluster, + PARTITION x2 VALUES LESS THAN (720) ENGINE = ndbcluster) */ SELECT * FROM information_schema.partitions WHERE table_name= 't1'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME NULL test t1 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1 diff --git a/mysql-test/suite/parts/inc/partition_directory.inc b/mysql-test/suite/parts/inc/partition_directory.inc index f63a1952594..2d2703743ca 100644 --- a/mysql-test/suite/parts/inc/partition_directory.inc +++ b/mysql-test/suite/parts/inc/partition_directory.inc @@ -170,19 +170,22 @@ DROP TABLE t1; #----------- PARTITION BY RANGE -- SUBPARTITION BY KEY if ($with_partitioning) { -let $partitioning= PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1) -(PARTITION part1 VALUES LESS THAN (0) -$data_directory -(SUBPARTITION subpart11, SUBPARTITION subpart12), -PARTITION part2 VALUES LESS THAN ($max_row_div4) -$index_directory -(SUBPARTITION subpart21, SUBPARTITION subpart22), -PARTITION part3 VALUES LESS THAN ($max_row_div2) -$data_directory -$index_directory -(SUBPARTITION subpart31, SUBPARTITION subpart32), -PARTITION part4 VALUES LESS THAN $MAX_VALUE -(SUBPARTITION subpart41, SUBPARTITION subpart42)); +# use the new (from bug#14326) partitioning format (i.e. multi-line comments) +let $partitioning= +/*!50100 PARTITION BY RANGE(f_int1) +SUBPARTITION BY KEY(f_int1) +(PARTITION part1 VALUES LESS THAN (0) $data_directory + (SUBPARTITION subpart11, + SUBPARTITION subpart12), + PARTITION part2 VALUES LESS THAN ($max_row_div4) $index_directory + (SUBPARTITION subpart21, + SUBPARTITION subpart22), + PARTITION part3 VALUES LESS THAN ($max_row_div2) $data_directory $index_directory + (SUBPARTITION subpart31, + SUBPARTITION subpart32), + PARTITION part4 VALUES LESS THAN $MAX_VALUE + (SUBPARTITION subpart41, + SUBPARTITION subpart42)) */; } --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( @@ -198,32 +201,8 @@ DROP TABLE t1; #----------- PARTITION BY LIST -- SUBPARTITION BY HASH if ($with_partitioning) { -let $partitioning= -PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1) -(PARTITION part1 VALUES IN (0) - $index_directory - (SUBPARTITION sp11 - $data_directory, - SUBPARTITION sp12 - $index_directory), - PARTITION part2 VALUES IN (1) - $data_directory - (SUBPARTITION sp21 - $data_directory, - SUBPARTITION sp22 - $index_directory), - PARTITION part3 VALUES IN (2) - $data_directory - $index_directory - (SUBPARTITION sp31, - SUBPARTITION sp32), - PARTITION part4 VALUES IN (NULL) - (SUBPARTITION sp41 - $data_directory - $index_directory, - SUBPARTITION sp42 - $data_directory - $index_directory)); +# use the old (pre bug#14326) format (i.e. one line comment) +let $partitioning= /*!50100 PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1) (PARTITION part1 VALUES IN (0) $index_directory (SUBPARTITION sp11 $data_directory, SUBPARTITION sp12 $index_directory), PARTITION part2 VALUES IN (1) $data_directory (SUBPARTITION sp21 $data_directory, SUBPARTITION sp22 $index_directory), PARTITION part3 VALUES IN (2) $data_directory $index_directory (SUBPARTITION sp31, SUBPARTITION sp32), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 $data_directory $index_directory, SUBPARTITION sp42 $data_directory $index_directory)) */; } --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR eval CREATE TABLE t1 ( diff --git a/mysql-test/suite/parts/r/ndb_dd_backuprestore.result b/mysql-test/suite/parts/r/ndb_dd_backuprestore.result index c82fe560121..768aa86c832 100644 --- a/mysql-test/suite/parts/r/ndb_dd_backuprestore.result +++ b/mysql-test/suite/parts/r/ndb_dd_backuprestore.result @@ -175,7 +175,9 @@ t1 CREATE TABLE `t1` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) /*!50100 TABLESPACE table_space1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c3) PARTITIONS 4 */ +) /*!50100 TABLESPACE table_space1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c3) +PARTITIONS 4 */ SHOW CREATE TABLE test.t2; Table Create Table t2 CREATE TABLE `t2` ( @@ -184,7 +186,10 @@ t2 CREATE TABLE `t2` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (c3) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) */ +) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (c3) +(PARTITION p0 ENGINE = ndbcluster, + PARTITION p1 ENGINE = ndbcluster) */ SHOW CREATE TABLE test.t3; Table Create Table t3 CREATE TABLE `t3` ( @@ -193,7 +198,11 @@ t3 CREATE TABLE `t3` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (c3) (PARTITION x1 VALUES LESS THAN (105) ENGINE = ndbcluster, PARTITION x2 VALUES LESS THAN (333) ENGINE = ndbcluster, PARTITION x3 VALUES LESS THAN (720) ENGINE = ndbcluster) */ +) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (c3) +(PARTITION x1 VALUES LESS THAN (105) ENGINE = ndbcluster, + PARTITION x2 VALUES LESS THAN (333) ENGINE = ndbcluster, + PARTITION x3 VALUES LESS THAN (720) ENGINE = ndbcluster) */ SHOW CREATE TABLE test.t4; Table Create Table t4 CREATE TABLE `t4` ( @@ -202,7 +211,9 @@ t4 CREATE TABLE `t4` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c3) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c3) +PARTITIONS 2 */ SHOW CREATE TABLE test.t5; Table Create Table t5 CREATE TABLE `t5` ( @@ -211,7 +222,10 @@ t5 CREATE TABLE `t5` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (pk1) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (pk1) +(PARTITION p0 ENGINE = ndbcluster, + PARTITION p1 ENGINE = ndbcluster) */ SHOW CREATE TABLE test.t6; Table Create Table t6 CREATE TABLE `t6` ( @@ -220,7 +234,10 @@ t6 CREATE TABLE `t6` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (pk1) (PARTITION x1 VALUES LESS THAN (333) ENGINE = ndbcluster, PARTITION x2 VALUES LESS THAN (720) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (pk1) +(PARTITION x1 VALUES LESS THAN (333) ENGINE = ndbcluster, + PARTITION x2 VALUES LESS THAN (720) ENGINE = ndbcluster) */ SELECT * FROM information_schema.partitions WHERE table_name= 't1'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME NULL test t1 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1 @@ -341,7 +358,9 @@ t1 CREATE TABLE `t1` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) /*!50100 TABLESPACE table_space1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c3) PARTITIONS 4 */ +) /*!50100 TABLESPACE table_space1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c3) +PARTITIONS 4 */ SHOW CREATE TABLE test.t2; Table Create Table t2 CREATE TABLE `t2` ( @@ -350,7 +369,10 @@ t2 CREATE TABLE `t2` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (c3) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) */ +) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (c3) +(PARTITION p0 ENGINE = ndbcluster, + PARTITION p1 ENGINE = ndbcluster) */ SHOW CREATE TABLE test.t3; Table Create Table t3 CREATE TABLE `t3` ( @@ -359,7 +381,11 @@ t3 CREATE TABLE `t3` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (c3) (PARTITION x1 VALUES LESS THAN (105) ENGINE = ndbcluster, PARTITION x2 VALUES LESS THAN (333) ENGINE = ndbcluster, PARTITION x3 VALUES LESS THAN (720) ENGINE = ndbcluster) */ +) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (c3) +(PARTITION x1 VALUES LESS THAN (105) ENGINE = ndbcluster, + PARTITION x2 VALUES LESS THAN (333) ENGINE = ndbcluster, + PARTITION x3 VALUES LESS THAN (720) ENGINE = ndbcluster) */ SHOW CREATE TABLE test.t4; Table Create Table t4 CREATE TABLE `t4` ( @@ -368,7 +394,9 @@ t4 CREATE TABLE `t4` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c3) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c3) +PARTITIONS 2 */ SHOW CREATE TABLE test.t5; Table Create Table t5 CREATE TABLE `t5` ( @@ -377,7 +405,10 @@ t5 CREATE TABLE `t5` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (pk1) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (pk1) +(PARTITION p0 ENGINE = ndbcluster, + PARTITION p1 ENGINE = ndbcluster) */ SHOW CREATE TABLE test.t6; Table Create Table t6 CREATE TABLE `t6` ( @@ -386,7 +417,10 @@ t6 CREATE TABLE `t6` ( `c3` int(11) NOT NULL, `c4` bit(1) NOT NULL, PRIMARY KEY (`pk1`,`c3`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (pk1) (PARTITION x1 VALUES LESS THAN (333) ENGINE = ndbcluster, PARTITION x2 VALUES LESS THAN (720) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (pk1) +(PARTITION x1 VALUES LESS THAN (333) ENGINE = ndbcluster, + PARTITION x2 VALUES LESS THAN (720) ENGINE = ndbcluster) */ SELECT * FROM information_schema.partitions WHERE table_name= 't1'; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME NULL test t1 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1 diff --git a/mysql-test/suite/parts/r/part_supported_sql_func_innodb.result b/mysql-test/suite/parts/r/part_supported_sql_func_innodb.result index c47c22ed363..abdcab76d26 100644 --- a/mysql-test/suite/parts/r/part_supported_sql_func_innodb.result +++ b/mysql-test/suite/parts/r/part_supported_sql_func_innodb.result @@ -615,7 +615,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (abs(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (abs(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 15 @@ -2291,7 +2300,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (mod(col1,10)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (mod(col1,10)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 15 @@ -3620,7 +3638,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (day(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (day(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 2006-02-05 @@ -4116,7 +4143,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (dayofmonth(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (dayofmonth(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 2006-02-05 @@ -4612,7 +4648,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (dayofweek(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (dayofweek(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -5120,7 +5165,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (dayofyear(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (dayofyear(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -5618,7 +5672,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` char(30) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (dayofyear(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (dayofyear(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -6116,7 +6179,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (extract(month from col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (extract(month from col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -6614,7 +6686,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` time DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (hour(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (hour(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 09:09:15 @@ -7118,7 +7199,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` time DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (microsecond(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (microsecond(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 05:30:34 @@ -7608,7 +7698,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` time DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (minute(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (minute(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 10:24:23 @@ -8118,7 +8217,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` time DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (second(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (second(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 09:09:15 @@ -8628,7 +8736,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` char(30) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (second(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (second(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 09:09:15.000002 @@ -9138,7 +9255,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (month(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (month(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -9642,7 +9768,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (quarter(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (quarter(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -10144,7 +10279,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` time DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (time_to_sec(col1)-(time_to_sec(col1)-20)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (time_to_sec(col1)-(time_to_sec(col1)-20)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 10:33:11 @@ -10652,7 +10796,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (to_days(col1)-to_days('2006-01-01')) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (to_days(col1)-to_days('2006-01-01')) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 2006-02-06 @@ -11152,7 +11305,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (datediff(col1, '2006-01-01')) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (datediff(col1, '2006-01-01')) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 2006-02-06 @@ -11652,7 +11814,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (weekday(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (weekday(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -12152,7 +12323,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (year(col1)-1990) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (year(col1)-1990) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -12656,7 +12836,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (yearweek(col1)-200600) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (yearweek(col1)-200600) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ select * from t55 order by colint; colint col1 1 2006-02-03 diff --git a/mysql-test/suite/parts/r/part_supported_sql_func_myisam.result b/mysql-test/suite/parts/r/part_supported_sql_func_myisam.result index f14f9517646..3a54be8fec2 100644 --- a/mysql-test/suite/parts/r/part_supported_sql_func_myisam.result +++ b/mysql-test/suite/parts/r/part_supported_sql_func_myisam.result @@ -615,7 +615,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (abs(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (abs(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 15 @@ -2291,7 +2300,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (mod(col1,10)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (mod(col1,10)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 15 @@ -3620,7 +3638,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (day(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (day(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 2006-02-05 @@ -4116,7 +4143,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (dayofmonth(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (dayofmonth(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 2006-02-05 @@ -4612,7 +4648,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (dayofweek(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (dayofweek(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -5120,7 +5165,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (dayofyear(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (dayofyear(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -5618,7 +5672,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` char(30) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (dayofyear(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (dayofyear(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -6116,7 +6179,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (extract(month from col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (extract(month from col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -6614,7 +6686,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` time DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (hour(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (hour(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 09:09:15 @@ -7118,7 +7199,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` time DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (microsecond(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (microsecond(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 05:30:34 @@ -7608,7 +7698,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` time DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (minute(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (minute(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 10:24:23 @@ -8118,7 +8217,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` time DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (second(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (second(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 09:09:15 @@ -8628,7 +8736,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` char(30) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (second(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (second(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 09:09:15.000002 @@ -9138,7 +9255,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (month(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (month(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -9642,7 +9768,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (quarter(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (quarter(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -10144,7 +10279,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` time DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (time_to_sec(col1)-(time_to_sec(col1)-20)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (time_to_sec(col1)-(time_to_sec(col1)-20)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 10:33:11 @@ -10652,7 +10796,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (to_days(col1)-to_days('2006-01-01')) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (to_days(col1)-to_days('2006-01-01')) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 2006-02-06 @@ -11152,7 +11305,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (datediff(col1, '2006-01-01')) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (datediff(col1, '2006-01-01')) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 2006-02-06 @@ -11652,7 +11814,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (weekday(col1)) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (weekday(col1)) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -12152,7 +12323,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (year(col1)-1990) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (year(col1)-1990) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -12656,7 +12836,16 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (yearweek(col1)-200600) SUBPARTITIONS 5 (PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (yearweek(col1)-200600) +SUBPARTITIONS 5 +(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM, + PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM, + PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM, + PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM, + PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ select * from t55 order by colint; colint col1 1 2006-02-03 diff --git a/mysql-test/suite/parts/r/part_supported_sql_func_ndb.result b/mysql-test/suite/parts/r/part_supported_sql_func_ndb.result index e81b926e092..1bacbc1b325 100644 --- a/mysql-test/suite/parts/r/part_supported_sql_func_ndb.result +++ b/mysql-test/suite/parts/r/part_supported_sql_func_ndb.result @@ -592,7 +592,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` int(11) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (abs(col1)) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (abs(col1)) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 15 @@ -1795,7 +1800,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` int(11) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (mod(col1,10)) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (mod(col1,10)) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 15 @@ -2639,7 +2649,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (day(col1)) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (day(col1)) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 2006-02-05 @@ -3022,7 +3037,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (dayofmonth(col1)) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (dayofmonth(col1)) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 2006-02-05 @@ -3405,7 +3425,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (dayofweek(col1)) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (dayofweek(col1)) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -3798,7 +3823,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (dayofyear(col1)) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (dayofyear(col1)) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -4181,7 +4211,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` char(30) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (dayofyear(col1)) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (dayofyear(col1)) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -4564,7 +4599,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (extract(month from col1)) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (extract(month from col1)) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -4957,7 +4997,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` time DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (hour(col1)) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (hour(col1)) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 09:09:15 @@ -5350,7 +5395,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` time DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (microsecond(col1)) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (microsecond(col1)) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 05:30:34 @@ -5733,7 +5783,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` time DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (minute(col1)) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (minute(col1)) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 10:24:23 @@ -6126,7 +6181,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` time DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (second(col1)) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (second(col1)) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 09:09:15 @@ -6519,7 +6579,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` char(30) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (second(col1)) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (second(col1)) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 09:09:15.000002 @@ -6912,7 +6977,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (month(col1)) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (month(col1)) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -7305,7 +7375,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (quarter(col1)) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (quarter(col1)) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -7698,7 +7773,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` time DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (time_to_sec(col1)-(time_to_sec(col1)-20)) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (time_to_sec(col1)-(time_to_sec(col1)-20)) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 10:33:11 @@ -8091,7 +8171,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (to_days(col1)-to_days('2006-01-01')) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (to_days(col1)-to_days('2006-01-01')) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 2006-02-06 @@ -8474,7 +8559,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (datediff(col1, '2006-01-01')) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (datediff(col1, '2006-01-01')) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 2006-02-06 @@ -8857,7 +8947,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (weekday(col1)) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (weekday(col1)) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -9250,7 +9345,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (year(col1)-1990) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (year(col1)-1990) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 2006-02-03 @@ -9643,7 +9743,12 @@ Table Create Table t55 CREATE TABLE `t55` ( `colint` int(11) DEFAULT NULL, `col1` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (colint) SUBPARTITION BY HASH (yearweek(col1)-200600) SUBPARTITIONS 4 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (colint) +SUBPARTITION BY HASH (yearweek(col1)-200600) +SUBPARTITIONS 4 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */ select * from t55 order by colint; colint col1 1 2006-02-03 diff --git a/mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result b/mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result index 7d817bd419d..7ab726136af 100644 --- a/mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result +++ b/mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result @@ -74,7 +74,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -564,7 +566,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -1062,7 +1066,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -1558,7 +1571,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -2050,7 +2070,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -2546,7 +2573,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -3042,7 +3083,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -3536,7 +3591,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -4027,7 +4088,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -4517,7 +4580,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -5015,7 +5080,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -5511,7 +5585,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -6003,7 +6084,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -6499,7 +6587,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -6995,7 +7097,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -7489,7 +7605,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -7981,7 +8103,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -8487,7 +8611,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -9001,7 +9127,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -9513,7 +9648,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -10021,7 +10163,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -10533,7 +10682,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -11045,7 +11208,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -11555,7 +11732,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -12062,7 +12245,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -12568,7 +12753,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -13082,7 +13269,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -13594,7 +13790,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -14102,7 +14305,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -14614,7 +14824,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -15126,7 +15350,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -15636,7 +15874,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -16145,7 +16389,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -16636,7 +16882,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -17135,7 +17383,16 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -17632,7 +17889,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -18125,7 +18389,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -18622,7 +18893,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -19119,7 +19404,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -19614,7 +19913,13 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -20106,7 +20411,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -20597,7 +20904,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -21096,7 +21405,16 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -21593,7 +21911,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -22086,7 +22411,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -22583,7 +22915,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -23080,7 +23426,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -23575,7 +23935,13 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -24067,7 +24433,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -24558,7 +24926,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -25057,7 +25427,16 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -25554,7 +25933,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -26047,7 +26433,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -26544,7 +26937,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -27041,7 +27448,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -27536,7 +27957,13 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 diff --git a/mysql-test/suite/parts/r/partition_alter1_1_2_myisam.result b/mysql-test/suite/parts/r/partition_alter1_1_2_myisam.result index 07ad5b0e1e9..69f2bfa472e 100644 --- a/mysql-test/suite/parts/r/partition_alter1_1_2_myisam.result +++ b/mysql-test/suite/parts/r/partition_alter1_1_2_myisam.result @@ -74,7 +74,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -589,7 +591,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -1118,7 +1122,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -1651,7 +1664,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -2176,7 +2196,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -2709,7 +2736,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -3242,7 +3283,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -3773,7 +3828,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -4303,7 +4364,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -4818,7 +4881,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -5347,7 +5412,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -5880,7 +5954,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -6405,7 +6486,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -6938,7 +7026,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -7471,7 +7573,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -8002,7 +8118,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD diff --git a/mysql-test/suite/parts/r/partition_alter1_1_innodb.result b/mysql-test/suite/parts/r/partition_alter1_1_innodb.result index 69cd4a26c89..eeb55488d93 100644 --- a/mysql-test/suite/parts/r/partition_alter1_1_innodb.result +++ b/mysql-test/suite/parts/r/partition_alter1_1_innodb.result @@ -392,7 +392,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -882,7 +884,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -1380,7 +1384,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -1876,7 +1889,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -2368,7 +2388,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -2866,7 +2893,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -3362,7 +3403,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -3856,7 +3911,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -4347,7 +4408,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -4837,7 +4900,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -5335,7 +5400,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -5831,7 +5905,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -6323,7 +6404,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -6821,7 +6909,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -7317,7 +7419,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -7811,7 +7927,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -8303,7 +8425,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -8809,7 +8933,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -9323,7 +9449,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -9835,7 +9970,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -10343,7 +10485,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -10857,7 +11006,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -11369,7 +11532,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -11879,7 +12056,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -12386,7 +12569,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -12892,7 +13077,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -13406,7 +13593,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -13918,7 +14114,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -14426,7 +14629,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -14940,7 +15150,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -15452,7 +15676,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -15962,7 +16200,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 diff --git a/mysql-test/suite/parts/r/partition_alter1_1_myisam.result b/mysql-test/suite/parts/r/partition_alter1_1_myisam.result index 3565e02e5ae..2137c37c3a2 100644 --- a/mysql-test/suite/parts/r/partition_alter1_1_myisam.result +++ b/mysql-test/suite/parts/r/partition_alter1_1_myisam.result @@ -233,7 +233,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -748,7 +750,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -1277,7 +1281,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -1810,7 +1823,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -2335,7 +2355,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -2870,7 +2897,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -3403,7 +3444,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -3934,7 +3989,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -4464,7 +4525,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -4979,7 +5042,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -5508,7 +5573,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -6041,7 +6115,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -6566,7 +6647,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -7101,7 +7189,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -7634,7 +7736,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -8165,7 +8281,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD diff --git a/mysql-test/suite/parts/r/partition_alter1_2_innodb.result b/mysql-test/suite/parts/r/partition_alter1_2_innodb.result index 1d2346b95e3..369882a0427 100644 --- a/mysql-test/suite/parts/r/partition_alter1_2_innodb.result +++ b/mysql-test/suite/parts/r/partition_alter1_2_innodb.result @@ -72,7 +72,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -510,7 +512,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -956,7 +960,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -1400,7 +1413,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -1840,7 +1860,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -2286,7 +2313,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -2730,7 +2771,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -3172,7 +3227,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -3611,7 +3672,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -4049,7 +4112,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -4495,7 +4560,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -4939,7 +5013,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -5379,7 +5460,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -5825,7 +5913,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -6269,7 +6371,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -6711,7 +6827,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -7150,7 +7272,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -7604,7 +7728,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -8066,7 +8192,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -8526,7 +8661,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -8982,7 +9124,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -9444,7 +9593,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -9904,7 +10067,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -10362,7 +10539,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -10821,7 +11004,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -11259,7 +11444,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -11705,7 +11892,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -12149,7 +12345,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -12589,7 +12792,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -13033,7 +13243,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -13477,7 +13701,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -13919,7 +14157,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -14358,7 +14602,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -14796,7 +15042,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -15242,7 +15490,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -15686,7 +15943,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -16126,7 +16390,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -16570,7 +16841,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -17014,7 +17299,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -17456,7 +17755,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -17896,7 +18201,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -18350,7 +18657,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -18812,7 +19121,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -19272,7 +19590,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -19728,7 +20053,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -20188,7 +20520,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -20648,7 +20994,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -21106,7 +21466,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -21561,7 +21927,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -22015,7 +22383,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -22477,7 +22847,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -22937,7 +23316,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -23393,7 +23779,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -23853,7 +24246,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -24313,7 +24720,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -24771,7 +25192,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -25227,7 +25654,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -25665,7 +26094,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -26111,7 +26542,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -26555,7 +26995,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -26995,7 +27442,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -27439,7 +27893,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -27883,7 +28351,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -28325,7 +28807,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -28764,7 +29252,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -29202,7 +29692,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -29648,7 +30140,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -30092,7 +30593,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -30532,7 +31040,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -30976,7 +31491,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -31420,7 +31949,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -31862,7 +32405,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -32301,7 +32850,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -32755,7 +33306,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -33217,7 +33770,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -33677,7 +34239,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -34133,7 +34702,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -34593,7 +35169,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -35053,7 +35643,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -35511,7 +36115,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 diff --git a/mysql-test/suite/parts/r/partition_alter1_2_myisam.result b/mysql-test/suite/parts/r/partition_alter1_2_myisam.result index 811ddf5384e..4d91af85003 100644 --- a/mysql-test/suite/parts/r/partition_alter1_2_myisam.result +++ b/mysql-test/suite/parts/r/partition_alter1_2_myisam.result @@ -71,7 +71,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -534,7 +536,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -1011,7 +1015,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -1492,7 +1505,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -1965,7 +1985,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -2448,7 +2475,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -2929,7 +2970,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -3408,7 +3463,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -3890,7 +3951,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -4353,7 +4416,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -4830,7 +4895,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -5311,7 +5385,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -5784,7 +5865,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -6265,7 +6353,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -6746,7 +6848,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -7225,7 +7341,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -7703,7 +7825,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -8166,7 +8290,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -8643,7 +8769,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -9124,7 +9259,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -9597,7 +9739,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -10078,7 +10227,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -10559,7 +10722,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -11038,7 +11215,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -11516,7 +11699,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -11979,7 +12164,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -12456,7 +12643,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -12937,7 +13133,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -13410,7 +13613,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -13891,7 +14101,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -14372,7 +14596,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -14851,7 +15089,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD diff --git a/mysql-test/suite/parts/r/partition_alter2_1_innodb.result b/mysql-test/suite/parts/r/partition_alter2_1_innodb.result index 2390397fe95..17d2c1384e0 100644 --- a/mysql-test/suite/parts/r/partition_alter2_1_innodb.result +++ b/mysql-test/suite/parts/r/partition_alter2_1_innodb.result @@ -73,7 +73,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -527,7 +529,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -989,7 +993,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -1449,7 +1462,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -1905,7 +1925,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -2367,7 +2394,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -2827,7 +2868,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -3285,7 +3340,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -3742,7 +3803,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -4232,7 +4295,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -4730,7 +4795,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -5226,7 +5300,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -5718,7 +5799,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -6216,7 +6304,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -6712,7 +6814,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -7206,7 +7322,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -7697,7 +7819,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -8187,7 +8311,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -8685,7 +8811,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -9181,7 +9316,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -9673,7 +9815,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -10171,7 +10320,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -10667,7 +10830,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -11161,7 +11338,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -11653,7 +11836,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -12159,7 +12344,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -12673,7 +12860,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -13185,7 +13381,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -13693,7 +13896,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -14207,7 +14417,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -14719,7 +14943,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -15229,7 +15467,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -15736,7 +15980,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -16242,7 +16488,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -16756,7 +17004,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -17268,7 +17525,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -17776,7 +18040,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -18290,7 +18561,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -18802,7 +19087,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -19312,7 +19611,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -19823,7 +20128,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -20277,7 +20584,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -20739,7 +21048,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -21199,7 +21517,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -21655,7 +21980,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -22117,7 +22449,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -22577,7 +22923,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -23035,7 +23395,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -23490,7 +23856,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -23944,7 +24312,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -24406,7 +24776,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -24866,7 +25245,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -25322,7 +25708,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -25782,7 +26175,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -26242,7 +26649,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -26700,7 +27121,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -27157,7 +27584,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -27647,7 +28076,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -28145,7 +28576,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -28641,7 +29081,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -29133,7 +29580,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -29631,7 +30085,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -30127,7 +30595,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -30621,7 +31103,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -31112,7 +31600,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -31602,7 +32092,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -32100,7 +32592,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -32596,7 +33097,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -33088,7 +33596,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -33584,7 +34099,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -34080,7 +34609,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -34574,7 +35117,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -35065,7 +35614,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -35555,7 +36106,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -36053,7 +36606,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -36549,7 +37111,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -37041,7 +37610,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -37539,7 +38115,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -38035,7 +38625,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -38529,7 +39133,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -39020,7 +39630,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -39510,7 +40122,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -40008,7 +40622,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -40504,7 +41127,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -40996,7 +41626,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -41492,7 +42129,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -41988,7 +42639,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -42482,7 +43147,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -42974,7 +43645,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -43480,7 +44153,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -43994,7 +44669,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -44506,7 +45190,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -45014,7 +45705,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -45528,7 +46226,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -46040,7 +46752,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -46550,7 +47276,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -47057,7 +47789,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -47563,7 +48297,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -48077,7 +48813,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -48589,7 +49334,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -49097,7 +49849,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -49609,7 +50368,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -50121,7 +50894,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -50631,7 +51418,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -51138,7 +51931,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -51644,7 +52439,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -52158,7 +52955,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -52670,7 +53476,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -53178,7 +53991,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -53692,7 +54512,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -54204,7 +55038,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -54714,7 +55562,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -55221,7 +56075,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -55727,7 +56583,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -56241,7 +57099,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -56753,7 +57620,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -57261,7 +58135,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -57773,7 +58654,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -58285,7 +59180,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -58795,7 +59704,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 diff --git a/mysql-test/suite/parts/r/partition_alter2_1_myisam.result b/mysql-test/suite/parts/r/partition_alter2_1_myisam.result index face8607db2..0e0428af48e 100644 --- a/mysql-test/suite/parts/r/partition_alter2_1_myisam.result +++ b/mysql-test/suite/parts/r/partition_alter2_1_myisam.result @@ -73,7 +73,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -536,7 +538,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -1013,7 +1017,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -1494,7 +1507,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -1967,7 +1987,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -2450,7 +2477,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -2931,7 +2972,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -3410,7 +3465,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -3890,7 +3951,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -4405,7 +4468,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -4934,7 +4999,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -5467,7 +5541,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -5992,7 +6073,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -6527,7 +6615,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -7060,7 +7162,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -7591,7 +7707,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -8121,7 +8243,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -8636,7 +8760,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -9165,7 +9291,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -9698,7 +9833,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -10223,7 +10365,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -10758,7 +10907,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -11291,7 +11454,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -11822,7 +11999,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -12356,7 +12539,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -12819,7 +13004,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -13296,7 +13483,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -13777,7 +13973,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -14250,7 +14453,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -14733,7 +14943,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -15214,7 +15438,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -15693,7 +15931,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -16171,7 +16415,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -16634,7 +16880,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -17111,7 +17359,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -17592,7 +17849,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -18065,7 +18329,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -18546,7 +18817,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -19027,7 +19312,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -19506,7 +19805,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -19986,7 +20291,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -20501,7 +20808,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -21030,7 +21339,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -21563,7 +21881,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -22088,7 +22413,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -22623,7 +22955,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -23156,7 +23502,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -23687,7 +24047,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -24217,7 +24583,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -24732,7 +25100,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -25261,7 +25631,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -25794,7 +26173,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -26319,7 +26705,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -26852,7 +27245,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -27385,7 +27792,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -27916,7 +28337,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -28446,7 +28873,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -28961,7 +29390,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -29490,7 +29921,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -30023,7 +30463,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -30548,7 +30995,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -31083,7 +31537,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -31616,7 +32084,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -32147,7 +32629,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -32677,7 +33165,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -33192,7 +33682,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -33721,7 +34213,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -34254,7 +34755,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -34779,7 +35287,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -35312,7 +35827,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -35845,7 +36374,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -36376,7 +36919,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD diff --git a/mysql-test/suite/parts/r/partition_alter2_2_innodb.result b/mysql-test/suite/parts/r/partition_alter2_2_innodb.result index 0ad50ade145..e2cf04c35b3 100644 --- a/mysql-test/suite/parts/r/partition_alter2_2_innodb.result +++ b/mysql-test/suite/parts/r/partition_alter2_2_innodb.result @@ -73,7 +73,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -529,7 +531,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -993,7 +997,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -1455,7 +1468,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -1911,7 +1931,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -2375,7 +2402,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -2835,7 +2876,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -3295,7 +3350,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -3753,7 +3814,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -4245,7 +4308,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -4745,7 +4810,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -5243,7 +5317,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -5735,7 +5816,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -6235,7 +6323,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -6731,7 +6833,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -7227,7 +7343,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -7720,7 +7842,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -8212,7 +8336,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -8712,7 +8838,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -9210,7 +9345,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -9702,7 +9844,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -10202,7 +10351,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -10698,7 +10861,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -11194,7 +11371,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -11688,7 +11871,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -12196,7 +12381,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -12712,7 +12899,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -13226,7 +13422,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -13734,7 +13937,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -14250,7 +14460,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -14762,7 +14986,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -15274,7 +15512,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -15783,7 +16027,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -16291,7 +16537,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -16807,7 +17055,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -17321,7 +17578,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -17829,7 +18093,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -18345,7 +18616,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -18857,7 +19142,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -19369,7 +19668,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -19881,7 +20186,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -20338,7 +20645,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -20803,7 +21112,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -21266,7 +21584,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -21727,7 +22052,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -22192,7 +22524,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -22657,7 +23003,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -23118,7 +23478,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -23576,7 +23942,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -24033,7 +24401,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -24498,7 +24868,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -24961,7 +25340,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -25422,7 +25808,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -25887,7 +26280,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -26352,7 +26759,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -26813,7 +27234,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -27273,7 +27700,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -27766,7 +28195,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -28267,7 +28698,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -28766,7 +29206,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -29263,7 +29710,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -29764,7 +30218,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -30265,7 +30733,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -30762,7 +31244,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -31256,7 +31744,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -31749,7 +32239,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -32250,7 +32742,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -32749,7 +33250,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -33246,7 +33754,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -33747,7 +34262,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -34248,7 +34777,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -34745,7 +35288,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -35239,7 +35788,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -35732,7 +36283,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -36233,7 +36786,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -36732,7 +37294,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -37229,7 +37798,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -37730,7 +38306,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -38231,7 +38821,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -38728,7 +39332,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -39222,7 +39832,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -39715,7 +40327,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -40216,7 +40830,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -40715,7 +41338,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -41212,7 +41842,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -41713,7 +42350,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -42214,7 +42865,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -42711,7 +43376,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -43206,7 +43877,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -43715,7 +44388,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -44232,7 +44907,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -44747,7 +45431,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -45260,7 +45951,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -45777,7 +46475,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -46294,7 +47006,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -46807,7 +47533,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -47317,7 +48049,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -47826,7 +48560,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -48343,7 +49079,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -48858,7 +49603,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -49371,7 +50123,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -49888,7 +50647,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -50405,7 +51178,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -50918,7 +51705,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -51428,7 +52221,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -51937,7 +52732,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -52454,7 +53251,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -52969,7 +53775,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -53482,7 +54295,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -53999,7 +54819,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -54516,7 +55350,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -55029,7 +55877,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -55539,7 +56393,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -56048,7 +56904,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -56565,7 +57423,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -57080,7 +57947,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -57593,7 +58467,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -58110,7 +58991,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -58627,7 +59522,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -59140,7 +60049,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 diff --git a/mysql-test/suite/parts/r/partition_alter2_2_myisam.result b/mysql-test/suite/parts/r/partition_alter2_2_myisam.result index e510af5918d..c63e8495f26 100644 --- a/mysql-test/suite/parts/r/partition_alter2_2_myisam.result +++ b/mysql-test/suite/parts/r/partition_alter2_2_myisam.result @@ -73,7 +73,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -538,7 +540,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -1017,7 +1021,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -1500,7 +1513,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -1973,7 +1993,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -2458,7 +2485,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -2939,7 +2980,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -3420,7 +3475,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -3902,7 +3963,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -4419,7 +4482,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -4950,7 +5015,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -5485,7 +5559,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -6010,7 +6091,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -6547,7 +6635,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -7080,7 +7182,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -7613,7 +7729,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -8145,7 +8267,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -8662,7 +8786,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -9193,7 +9319,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -9728,7 +9863,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -10253,7 +10395,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -10790,7 +10939,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -11323,7 +11486,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -11856,7 +12033,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -12391,7 +12574,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -12857,7 +13042,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -13337,7 +13524,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -13821,7 +14017,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -14299,7 +14502,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -14785,7 +14995,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -15271,7 +15495,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -15753,7 +15991,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -16234,7 +16478,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -16700,7 +16946,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -17180,7 +17428,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -17664,7 +17921,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -18142,7 +18406,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -18628,7 +18899,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -19114,7 +19399,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -19596,7 +19895,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -20079,7 +20384,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -20597,7 +20904,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -21129,7 +21438,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -21665,7 +21983,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -22195,7 +22520,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -22733,7 +23065,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -23271,7 +23617,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -23805,7 +24165,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -24338,7 +24704,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -24856,7 +25224,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -25388,7 +25758,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -25924,7 +26303,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -26454,7 +26840,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -26992,7 +27385,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -27530,7 +27937,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -28064,7 +28485,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int1`,`f_int2`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -28597,7 +29024,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -29115,7 +29544,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -29647,7 +30078,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -30183,7 +30623,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -30713,7 +31160,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -31251,7 +31705,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -31789,7 +32257,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -32323,7 +32805,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -32856,7 +33344,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -33374,7 +33864,9 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -33906,7 +34398,16 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -34442,7 +34943,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -34972,7 +35480,14 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -35510,7 +36025,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -36048,7 +36577,21 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -36582,7 +37125,13 @@ t1 CREATE TABLE `t1` ( `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD diff --git a/mysql-test/suite/parts/r/partition_alter3_innodb.result b/mysql-test/suite/parts/r/partition_alter3_innodb.result index 888f9515a9c..cb104d4be54 100644 --- a/mysql-test/suite/parts/r/partition_alter3_innodb.result +++ b/mysql-test/suite/parts/r/partition_alter3_innodb.result @@ -76,7 +76,8 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; @@ -93,7 +94,8 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (DAYOFYEAR(f_date)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (DAYOFYEAR(f_date)) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; @@ -108,7 +110,8 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; @@ -129,7 +132,11 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +(PARTITION p0 ENGINE = InnoDB, + PARTITION part1 ENGINE = InnoDB, + PARTITION part7 ENGINE = InnoDB) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; @@ -148,7 +155,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +(PARTITION p0 ENGINE = InnoDB, + PARTITION part1 ENGINE = InnoDB, + PARTITION part7 ENGINE = InnoDB, + PARTITION part2 ENGINE = InnoDB) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; @@ -164,7 +176,16 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB, PARTITION p5 ENGINE = InnoDB, PARTITION p6 ENGINE = InnoDB, PARTITION p7 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +(PARTITION p0 ENGINE = InnoDB, + PARTITION part1 ENGINE = InnoDB, + PARTITION part7 ENGINE = InnoDB, + PARTITION part2 ENGINE = InnoDB, + PARTITION p4 ENGINE = InnoDB, + PARTITION p5 ENGINE = InnoDB, + PARTITION p6 ENGINE = InnoDB, + PARTITION p7 ENGINE = InnoDB) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; @@ -192,7 +213,15 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB, PARTITION p5 ENGINE = InnoDB, PARTITION p6 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +(PARTITION p0 ENGINE = InnoDB, + PARTITION part1 ENGINE = InnoDB, + PARTITION part7 ENGINE = InnoDB, + PARTITION part2 ENGINE = InnoDB, + PARTITION p4 ENGINE = InnoDB, + PARTITION p5 ENGINE = InnoDB, + PARTITION p6 ENGINE = InnoDB) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; @@ -207,7 +236,14 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB, PARTITION p5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +(PARTITION p0 ENGINE = InnoDB, + PARTITION part1 ENGINE = InnoDB, + PARTITION part7 ENGINE = InnoDB, + PARTITION part2 ENGINE = InnoDB, + PARTITION p4 ENGINE = InnoDB, + PARTITION p5 ENGINE = InnoDB) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; @@ -222,7 +258,13 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +(PARTITION p0 ENGINE = InnoDB, + PARTITION part1 ENGINE = InnoDB, + PARTITION part7 ENGINE = InnoDB, + PARTITION part2 ENGINE = InnoDB, + PARTITION p4 ENGINE = InnoDB) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; @@ -237,7 +279,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +(PARTITION p0 ENGINE = InnoDB, + PARTITION part1 ENGINE = InnoDB, + PARTITION part7 ENGINE = InnoDB, + PARTITION part2 ENGINE = InnoDB) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; @@ -252,7 +299,11 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +(PARTITION p0 ENGINE = InnoDB, + PARTITION part1 ENGINE = InnoDB, + PARTITION part7 ENGINE = InnoDB) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; @@ -267,7 +318,10 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +(PARTITION p0 ENGINE = InnoDB, + PARTITION part1 ENGINE = InnoDB) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; @@ -282,7 +336,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +(PARTITION p0 ENGINE = InnoDB) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10'; @@ -362,7 +418,8 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; @@ -386,7 +443,11 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p0 ENGINE = InnoDB, + PARTITION part1 ENGINE = InnoDB, + PARTITION part7 ENGINE = InnoDB) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; @@ -405,7 +466,12 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p0 ENGINE = InnoDB, + PARTITION part1 ENGINE = InnoDB, + PARTITION part7 ENGINE = InnoDB, + PARTITION part2 ENGINE = InnoDB) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; @@ -424,7 +490,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB, PARTITION p5 ENGINE = InnoDB, PARTITION p6 ENGINE = InnoDB, PARTITION p7 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p0 ENGINE = InnoDB, + PARTITION part1 ENGINE = InnoDB, + PARTITION part7 ENGINE = InnoDB, + PARTITION part2 ENGINE = InnoDB, + PARTITION p4 ENGINE = InnoDB, + PARTITION p5 ENGINE = InnoDB, + PARTITION p6 ENGINE = InnoDB, + PARTITION p7 ENGINE = InnoDB) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; @@ -450,7 +525,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB, PARTITION p5 ENGINE = InnoDB, PARTITION p6 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p0 ENGINE = InnoDB, + PARTITION part1 ENGINE = InnoDB, + PARTITION part7 ENGINE = InnoDB, + PARTITION part2 ENGINE = InnoDB, + PARTITION p4 ENGINE = InnoDB, + PARTITION p5 ENGINE = InnoDB, + PARTITION p6 ENGINE = InnoDB) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; @@ -468,7 +551,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB, PARTITION p5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p0 ENGINE = InnoDB, + PARTITION part1 ENGINE = InnoDB, + PARTITION part7 ENGINE = InnoDB, + PARTITION part2 ENGINE = InnoDB, + PARTITION p4 ENGINE = InnoDB, + PARTITION p5 ENGINE = InnoDB) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; @@ -486,7 +576,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB, PARTITION p4 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p0 ENGINE = InnoDB, + PARTITION part1 ENGINE = InnoDB, + PARTITION part7 ENGINE = InnoDB, + PARTITION part2 ENGINE = InnoDB, + PARTITION p4 ENGINE = InnoDB) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; @@ -504,7 +600,12 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p0 ENGINE = InnoDB, + PARTITION part1 ENGINE = InnoDB, + PARTITION part7 ENGINE = InnoDB, + PARTITION part2 ENGINE = InnoDB) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; @@ -522,7 +623,11 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB, PARTITION part7 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p0 ENGINE = InnoDB, + PARTITION part1 ENGINE = InnoDB, + PARTITION part7 ENGINE = InnoDB) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; @@ -540,7 +645,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = InnoDB, PARTITION part1 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p0 ENGINE = InnoDB, + PARTITION part1 ENGINE = InnoDB) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; @@ -558,7 +666,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p0 ENGINE = InnoDB) */ t1.frm t1.par EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3; diff --git a/mysql-test/suite/parts/r/partition_alter3_myisam.result b/mysql-test/suite/parts/r/partition_alter3_myisam.result index 488434d8d74..374b108b57e 100644 --- a/mysql-test/suite/parts/r/partition_alter3_myisam.result +++ b/mysql-test/suite/parts/r/partition_alter3_myisam.result @@ -78,7 +78,8 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) */ t1#P#p0.MYD t1#P#p0.MYI t1.frm @@ -97,7 +98,8 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (DAYOFYEAR(f_date)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (DAYOFYEAR(f_date)) */ t1#P#p0.MYD t1#P#p0.MYI t1.frm @@ -114,7 +116,8 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) */ t1#P#p0.MYD t1#P#p0.MYI t1.frm @@ -137,7 +140,11 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +(PARTITION p0 ENGINE = MyISAM, + PARTITION part1 ENGINE = MyISAM, + PARTITION part7 ENGINE = MyISAM) */ t1#P#p0.MYD t1#P#p0.MYI t1#P#part1.MYD @@ -162,7 +169,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +(PARTITION p0 ENGINE = MyISAM, + PARTITION part1 ENGINE = MyISAM, + PARTITION part7 ENGINE = MyISAM, + PARTITION part2 ENGINE = MyISAM) */ t1#P#p0.MYD t1#P#p0.MYI t1#P#part1.MYD @@ -186,7 +198,16 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM, PARTITION p5 ENGINE = MyISAM, PARTITION p6 ENGINE = MyISAM, PARTITION p7 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +(PARTITION p0 ENGINE = MyISAM, + PARTITION part1 ENGINE = MyISAM, + PARTITION part7 ENGINE = MyISAM, + PARTITION part2 ENGINE = MyISAM, + PARTITION p4 ENGINE = MyISAM, + PARTITION p5 ENGINE = MyISAM, + PARTITION p6 ENGINE = MyISAM, + PARTITION p7 ENGINE = MyISAM) */ t1#P#p0.MYD t1#P#p0.MYI t1#P#p4.MYD @@ -230,7 +251,15 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM, PARTITION p5 ENGINE = MyISAM, PARTITION p6 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +(PARTITION p0 ENGINE = MyISAM, + PARTITION part1 ENGINE = MyISAM, + PARTITION part7 ENGINE = MyISAM, + PARTITION part2 ENGINE = MyISAM, + PARTITION p4 ENGINE = MyISAM, + PARTITION p5 ENGINE = MyISAM, + PARTITION p6 ENGINE = MyISAM) */ t1#P#p0.MYD t1#P#p0.MYI t1#P#p4.MYD @@ -259,7 +288,14 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM, PARTITION p5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +(PARTITION p0 ENGINE = MyISAM, + PARTITION part1 ENGINE = MyISAM, + PARTITION part7 ENGINE = MyISAM, + PARTITION part2 ENGINE = MyISAM, + PARTITION p4 ENGINE = MyISAM, + PARTITION p5 ENGINE = MyISAM) */ t1#P#p0.MYD t1#P#p0.MYI t1#P#p4.MYD @@ -286,7 +322,13 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +(PARTITION p0 ENGINE = MyISAM, + PARTITION part1 ENGINE = MyISAM, + PARTITION part7 ENGINE = MyISAM, + PARTITION part2 ENGINE = MyISAM, + PARTITION p4 ENGINE = MyISAM) */ t1#P#p0.MYD t1#P#p0.MYI t1#P#p4.MYD @@ -311,7 +353,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +(PARTITION p0 ENGINE = MyISAM, + PARTITION part1 ENGINE = MyISAM, + PARTITION part7 ENGINE = MyISAM, + PARTITION part2 ENGINE = MyISAM) */ t1#P#p0.MYD t1#P#p0.MYI t1#P#part1.MYD @@ -334,7 +381,11 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +(PARTITION p0 ENGINE = MyISAM, + PARTITION part1 ENGINE = MyISAM, + PARTITION part7 ENGINE = MyISAM) */ t1#P#p0.MYD t1#P#p0.MYI t1#P#part1.MYD @@ -355,7 +406,10 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +(PARTITION p0 ENGINE = MyISAM, + PARTITION part1 ENGINE = MyISAM) */ t1#P#p0.MYD t1#P#p0.MYI t1#P#part1.MYD @@ -374,7 +428,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `f_date` date DEFAULT NULL, `f_varchar` varchar(30) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (YEAR(f_date)) (PARTITION p0 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (YEAR(f_date)) +(PARTITION p0 ENGINE = MyISAM) */ t1#P#p0.MYD t1#P#p0.MYI t1.frm @@ -454,7 +510,8 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) */ t1#P#p0.MYD t1#P#p0.MYI t1.frm @@ -480,7 +537,11 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p0 ENGINE = MyISAM, + PARTITION part1 ENGINE = MyISAM, + PARTITION part7 ENGINE = MyISAM) */ t1#P#p0.MYD t1#P#p0.MYI t1#P#part1.MYD @@ -505,7 +566,12 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p0 ENGINE = MyISAM, + PARTITION part1 ENGINE = MyISAM, + PARTITION part7 ENGINE = MyISAM, + PARTITION part2 ENGINE = MyISAM) */ t1#P#p0.MYD t1#P#p0.MYI t1#P#part1.MYD @@ -532,7 +598,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM, PARTITION p5 ENGINE = MyISAM, PARTITION p6 ENGINE = MyISAM, PARTITION p7 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p0 ENGINE = MyISAM, + PARTITION part1 ENGINE = MyISAM, + PARTITION part7 ENGINE = MyISAM, + PARTITION part2 ENGINE = MyISAM, + PARTITION p4 ENGINE = MyISAM, + PARTITION p5 ENGINE = MyISAM, + PARTITION p6 ENGINE = MyISAM, + PARTITION p7 ENGINE = MyISAM) */ t1#P#p0.MYD t1#P#p0.MYI t1#P#p4.MYD @@ -574,7 +649,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM, PARTITION p5 ENGINE = MyISAM, PARTITION p6 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p0 ENGINE = MyISAM, + PARTITION part1 ENGINE = MyISAM, + PARTITION part7 ENGINE = MyISAM, + PARTITION part2 ENGINE = MyISAM, + PARTITION p4 ENGINE = MyISAM, + PARTITION p5 ENGINE = MyISAM, + PARTITION p6 ENGINE = MyISAM) */ t1#P#p0.MYD t1#P#p0.MYI t1#P#p4.MYD @@ -606,7 +689,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM, PARTITION p5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p0 ENGINE = MyISAM, + PARTITION part1 ENGINE = MyISAM, + PARTITION part7 ENGINE = MyISAM, + PARTITION part2 ENGINE = MyISAM, + PARTITION p4 ENGINE = MyISAM, + PARTITION p5 ENGINE = MyISAM) */ t1#P#p0.MYD t1#P#p0.MYI t1#P#p4.MYD @@ -636,7 +726,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p0 ENGINE = MyISAM, + PARTITION part1 ENGINE = MyISAM, + PARTITION part7 ENGINE = MyISAM, + PARTITION part2 ENGINE = MyISAM, + PARTITION p4 ENGINE = MyISAM) */ t1#P#p0.MYD t1#P#p0.MYI t1#P#p4.MYD @@ -664,7 +760,12 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p0 ENGINE = MyISAM, + PARTITION part1 ENGINE = MyISAM, + PARTITION part7 ENGINE = MyISAM, + PARTITION part2 ENGINE = MyISAM) */ t1#P#p0.MYD t1#P#p0.MYI t1#P#part1.MYD @@ -690,7 +791,11 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM, PARTITION part7 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p0 ENGINE = MyISAM, + PARTITION part1 ENGINE = MyISAM, + PARTITION part7 ENGINE = MyISAM) */ t1#P#p0.MYD t1#P#p0.MYI t1#P#part1.MYD @@ -714,7 +819,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = MyISAM, PARTITION part1 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p0 ENGINE = MyISAM, + PARTITION part1 ENGINE = MyISAM) */ t1#P#p0.MYD t1#P#p0.MYI t1#P#part1.MYD @@ -736,7 +844,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p0 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p0 ENGINE = MyISAM) */ t1#P#p0.MYD t1#P#p0.MYI t1.frm diff --git a/mysql-test/suite/parts/r/partition_alter4_innodb.result b/mysql-test/suite/parts/r/partition_alter4_innodb.result index 8ec56dc5233..5d3143e35bb 100644 --- a/mysql-test/suite/parts/r/partition_alter4_innodb.result +++ b/mysql-test/suite/parts/r/partition_alter4_innodb.result @@ -74,7 +74,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -530,7 +533,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -994,7 +1003,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -1456,7 +1474,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -1914,7 +1939,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -2378,7 +2410,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -2840,7 +2886,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -3300,7 +3360,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -3758,7 +3824,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -4214,7 +4283,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -4678,7 +4753,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -5140,7 +5224,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -5598,7 +5689,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -6062,7 +6160,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -6524,7 +6636,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -6984,7 +7110,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -7442,7 +7574,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -7898,7 +8033,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -8362,7 +8503,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -8824,7 +8974,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -9282,7 +9439,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -9746,7 +9910,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -10208,7 +10386,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -10668,7 +10860,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -11126,7 +11324,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -11582,7 +11783,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -12046,7 +12253,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -12508,7 +12724,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -12966,7 +13189,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -13430,7 +13660,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -13892,7 +14136,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -14352,7 +14610,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -14810,7 +15074,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -15266,7 +15533,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -15730,7 +16003,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -16192,7 +16474,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -16650,7 +16939,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -17114,7 +17410,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -17576,7 +17886,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -18036,7 +18360,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -18497,7 +18827,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -18953,7 +19286,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -19417,7 +19756,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -19879,7 +20227,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -20337,7 +20692,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -20801,7 +21163,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -21263,7 +21639,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -21723,7 +22113,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -22181,7 +22577,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -22637,7 +23036,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -23101,7 +23506,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -23563,7 +23977,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -24021,7 +24442,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -24485,7 +24913,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -24947,7 +25389,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -25407,7 +25863,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -25865,7 +26327,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -26321,7 +26786,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -26785,7 +27256,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -27247,7 +27727,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -27705,7 +28192,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -28169,7 +28663,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -28631,7 +29139,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -29091,7 +29613,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -29549,7 +30077,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -30005,7 +30536,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -30469,7 +31006,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -30931,7 +31477,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -31389,7 +31942,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -31853,7 +32413,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -32315,7 +32889,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -32775,7 +33363,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -33233,7 +33827,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -33689,7 +34286,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -34153,7 +34756,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -34615,7 +35227,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -35073,7 +35692,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -35537,7 +36163,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -35999,7 +36639,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -36459,7 +37113,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -36921,7 +37581,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -37378,7 +38041,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -37843,7 +38512,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -38306,7 +38984,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -38765,7 +39450,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -39230,7 +39922,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -39693,7 +40399,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -40154,7 +40874,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -40613,7 +41339,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -41070,7 +41799,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -41535,7 +42270,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -41998,7 +42742,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -42457,7 +43208,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -42922,7 +43680,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -43385,7 +44157,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -43846,7 +44632,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -44304,7 +45096,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -44760,7 +45555,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -45224,7 +46025,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -45686,7 +46496,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -46144,7 +46961,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -46608,7 +47432,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -47070,7 +47908,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -47530,7 +48382,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -47988,7 +48846,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -48444,7 +49305,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -48908,7 +49775,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -49370,7 +50246,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -49828,7 +50711,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -50292,7 +51182,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -50754,7 +51658,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -51214,7 +52132,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -51673,7 +52597,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -52130,7 +53057,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -52595,7 +53528,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -53058,7 +54000,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -53517,7 +54466,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -53982,7 +54938,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -54445,7 +55415,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -54906,7 +55890,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -55365,7 +56355,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -55819,7 +56812,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -56281,7 +57280,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -56741,7 +57749,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -57197,7 +58212,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -57659,7 +58681,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -58119,7 +59155,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -58577,7 +59627,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -59033,7 +60089,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -59487,7 +60546,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -59949,7 +61014,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -60409,7 +61483,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -60865,7 +61946,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -61327,7 +62415,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -61787,7 +62889,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -62245,7 +63361,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -63021,7 +64143,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -63475,7 +64600,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -63937,7 +65068,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -64397,7 +65537,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -64853,7 +66000,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -65315,7 +66469,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -65775,7 +66943,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -66233,7 +67415,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -66694,7 +67882,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -67150,7 +68341,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -67614,7 +68811,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -68076,7 +69282,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -68534,7 +69747,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -68998,7 +70218,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -69460,7 +70694,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -69920,7 +71168,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -70378,7 +71632,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -70834,7 +72091,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -71298,7 +72561,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -71760,7 +73032,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -72218,7 +73497,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -72682,7 +73968,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -73144,7 +74444,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -73604,7 +74918,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -74062,7 +75382,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -74518,7 +75841,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -74982,7 +76311,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -75444,7 +76782,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -75902,7 +77247,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -76366,7 +77718,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -76828,7 +78194,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -77288,7 +78668,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -77746,7 +79132,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -78202,7 +79591,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -78666,7 +80061,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -79128,7 +80532,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -79586,7 +80997,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -80050,7 +81468,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -80512,7 +81944,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -80972,7 +82418,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -81430,7 +82882,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -81886,7 +83341,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = InnoDB, PARTITION part_2 ENGINE = InnoDB, PARTITION part_3 ENGINE = InnoDB, PARTITION part_4 ENGINE = InnoDB, PARTITION part_5 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = InnoDB, + PARTITION part_2 ENGINE = InnoDB, + PARTITION part_3 ENGINE = InnoDB, + PARTITION part_4 ENGINE = InnoDB, + PARTITION part_5 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -82350,7 +83811,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -82812,7 +84282,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -83270,7 +84747,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -83734,7 +85218,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -84196,7 +85694,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -84656,7 +86168,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part_3 VALUES IN (NULL) ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 diff --git a/mysql-test/suite/parts/r/partition_alter4_myisam.result b/mysql-test/suite/parts/r/partition_alter4_myisam.result index e8d0e2afa37..c74a105306c 100644 --- a/mysql-test/suite/parts/r/partition_alter4_myisam.result +++ b/mysql-test/suite/parts/r/partition_alter4_myisam.result @@ -74,7 +74,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -539,7 +542,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -1018,7 +1027,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -1501,7 +1519,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -1976,7 +2001,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -2461,7 +2493,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -2944,7 +2990,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -3425,7 +3485,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -3906,7 +3972,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -4371,7 +4440,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -4850,7 +4925,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -5333,7 +5417,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -5808,7 +5899,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -6293,7 +6391,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -6776,7 +6888,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -7257,7 +7383,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -7738,7 +7870,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -8203,7 +8338,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -8682,7 +8823,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -9165,7 +9315,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -9640,7 +9797,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -10125,7 +10289,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -10608,7 +10786,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -11089,7 +11281,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -11570,7 +11768,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -12035,7 +12236,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -12514,7 +12721,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -12997,7 +13213,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -13472,7 +13695,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -13957,7 +14187,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -14440,7 +14684,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -14921,7 +15179,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -15402,7 +15666,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -15867,7 +16134,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -16346,7 +16619,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -16829,7 +17111,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -17304,7 +17593,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -17789,7 +18085,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -18272,7 +18582,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -18753,7 +19077,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -19237,7 +19567,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -19702,7 +20035,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -20181,7 +20520,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -20664,7 +21012,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -21139,7 +21494,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -21624,7 +21986,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -22107,7 +22483,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -22588,7 +22978,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -23069,7 +23465,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -23534,7 +23933,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -24013,7 +24418,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -24496,7 +24910,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -24971,7 +25392,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -25456,7 +25884,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -25939,7 +26381,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -26420,7 +26876,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -26901,7 +27363,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -27366,7 +27831,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -27845,7 +28316,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -28328,7 +28808,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -28803,7 +29290,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -29288,7 +29782,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -29771,7 +30279,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -30252,7 +30774,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -30733,7 +31261,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -31198,7 +31729,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -31677,7 +32214,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -32160,7 +32706,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -32635,7 +33188,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -33120,7 +33680,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -33603,7 +34177,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -34084,7 +34672,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -34565,7 +35159,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -35030,7 +35627,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -35509,7 +36112,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -35992,7 +36604,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -36467,7 +37086,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -36952,7 +37578,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -37435,7 +38075,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -37916,7 +38570,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -38400,7 +39060,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -38865,7 +39528,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -39344,7 +40013,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -39827,7 +40505,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -40302,7 +40987,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -40787,7 +41479,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -41270,7 +41976,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -41751,7 +42471,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -42232,7 +42958,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -42697,7 +43426,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -43176,7 +43911,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -43659,7 +44403,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -44134,7 +44885,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -44619,7 +45377,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -45102,7 +45874,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -45583,7 +46369,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -46064,7 +46856,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -46529,7 +47324,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -47008,7 +47809,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -47491,7 +48301,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -47966,7 +48783,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -48451,7 +49275,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -48934,7 +49772,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -49415,7 +50267,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -49896,7 +50754,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -50361,7 +51222,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -50840,7 +51707,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -51323,7 +52199,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -51798,7 +52681,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -52283,7 +53173,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -52766,7 +53670,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -53247,7 +54165,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -53728,7 +54652,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -54193,7 +55120,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -54672,7 +55605,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -55155,7 +56097,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -55630,7 +56579,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -56115,7 +57071,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -56598,7 +57568,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -57079,7 +58063,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -57561,7 +58551,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -58024,7 +59017,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -58501,7 +59500,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -58982,7 +59990,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -59455,7 +60470,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -59938,7 +60960,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -60419,7 +61455,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -60898,7 +61948,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -61377,7 +62433,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -61840,7 +62899,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -62317,7 +63382,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -62798,7 +63872,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -63271,7 +64352,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -63754,7 +64842,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -64235,7 +65337,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -64714,7 +65830,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -65513,7 +66635,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -65976,7 +67101,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -66453,7 +67584,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -66934,7 +68074,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -67407,7 +68554,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -67890,7 +69044,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -68371,7 +69539,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -68850,7 +70032,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -69334,7 +70522,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -69799,7 +70990,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -70278,7 +71475,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -70761,7 +71967,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -71236,7 +72449,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -71721,7 +72941,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -72204,7 +73438,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -72685,7 +73933,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -73166,7 +74420,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -73631,7 +74888,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -74110,7 +75373,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -74593,7 +75865,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -75068,7 +76347,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -75553,7 +76839,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -76036,7 +77336,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -76517,7 +77831,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -76998,7 +78318,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -77463,7 +78786,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -77942,7 +79271,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -78425,7 +79763,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -78900,7 +80245,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -79385,7 +80737,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -79868,7 +81234,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -80349,7 +81729,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -80830,7 +82216,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -81295,7 +82684,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -81774,7 +83169,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -82257,7 +83661,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -82732,7 +84143,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -83217,7 +84635,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -83700,7 +85132,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -84181,7 +85627,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -84662,7 +86114,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -85127,7 +86582,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION part_1 ENGINE = MyISAM, PARTITION part_2 ENGINE = MyISAM, PARTITION part_3 ENGINE = MyISAM, PARTITION part_4 ENGINE = MyISAM, PARTITION part_5 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION part_1 ENGINE = MyISAM, + PARTITION part_2 ENGINE = MyISAM, + PARTITION part_3 ENGINE = MyISAM, + PARTITION part_4 ENGINE = MyISAM, + PARTITION part_5 ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -85606,7 +87067,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -86089,7 +87559,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_1 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION part_5 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1.MYD @@ -86564,7 +88041,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part_1 VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION part_3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part_4 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD @@ -87049,7 +88533,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part_1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part_2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part_3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part_4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part_1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part_2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part_3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part_4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#subpart11.MYD @@ -87532,7 +89030,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part_1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part_2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part_3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part_4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part_1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part_2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part_3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part_4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part_1#SP#sp11.MYD @@ -88013,7 +89525,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part_1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part_3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part_1#SP#part_1sp0.MYD diff --git a/mysql-test/suite/parts/r/partition_auto_increment_archive.result b/mysql-test/suite/parts/r/partition_auto_increment_archive.result index edfe408a072..25b80f40e5a 100644 --- a/mysql-test/suite/parts/r/partition_auto_increment_archive.result +++ b/mysql-test/suite/parts/r/partition_auto_increment_archive.result @@ -119,7 +119,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ARCHIVE AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ARCHIVE AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1; c1 1 @@ -323,7 +325,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ARCHIVE AUTO_INCREMENT=27 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ARCHIVE AUTO_INCREMENT=27 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 2 @@ -345,7 +349,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ARCHIVE AUTO_INCREMENT=28 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ARCHIVE AUTO_INCREMENT=28 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 2 @@ -605,7 +611,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ARCHIVE AUTO_INCREMENT=15 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ARCHIVE AUTO_INCREMENT=15 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (4); # ERROR (only OK if Archive) mysql_errno: 1022 SHOW CREATE TABLE t1; @@ -613,21 +621,27 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ARCHIVE AUTO_INCREMENT=15 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ARCHIVE AUTO_INCREMENT=15 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (0); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ARCHIVE AUTO_INCREMENT=16 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ARCHIVE AUTO_INCREMENT=16 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ARCHIVE AUTO_INCREMENT=17 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ARCHIVE AUTO_INCREMENT=17 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 15 @@ -640,7 +654,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ARCHIVE AUTO_INCREMENT=301 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ARCHIVE AUTO_INCREMENT=301 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (0); # ERROR (only OK if Archive) mysql_errno: 1022 SHOW CREATE TABLE t1; @@ -648,14 +664,18 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ARCHIVE AUTO_INCREMENT=301 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ARCHIVE AUTO_INCREMENT=301 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ARCHIVE AUTO_INCREMENT=302 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ARCHIVE AUTO_INCREMENT=302 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 15 @@ -674,14 +694,18 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ARCHIVE AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ARCHIVE AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1; c1 1 @@ -691,14 +715,18 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ARCHIVE AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ARCHIVE AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ARCHIVE AUTO_INCREMENT=24 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ARCHIVE AUTO_INCREMENT=24 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 1 @@ -716,14 +744,18 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ FLUSH TABLE; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 VALUES (4); FLUSH TABLE; SHOW CREATE TABLE t1; @@ -731,7 +763,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ARCHIVE AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ARCHIVE AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 VALUES (NULL); FLUSH TABLE; SHOW CREATE TABLE t1; @@ -739,7 +773,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ARCHIVE AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ARCHIVE AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 4 diff --git a/mysql-test/suite/parts/r/partition_auto_increment_blackhole.result b/mysql-test/suite/parts/r/partition_auto_increment_blackhole.result index 73b228c1b72..e56e0e24017 100644 --- a/mysql-test/suite/parts/r/partition_auto_increment_blackhole.result +++ b/mysql-test/suite/parts/r/partition_auto_increment_blackhole.result @@ -110,7 +110,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=BLACKHOLE AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=BLACKHOLE AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1; c1 DROP TABLE t1; @@ -259,7 +261,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=BLACKHOLE AUTO_INCREMENT=27 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=BLACKHOLE AUTO_INCREMENT=27 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 TRUNCATE TABLE t1; @@ -269,7 +273,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=BLACKHOLE AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=BLACKHOLE AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 DROP TABLE t1; @@ -441,28 +447,36 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (4); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=BLACKHOLE AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=BLACKHOLE AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (0); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=BLACKHOLE AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=BLACKHOLE AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=BLACKHOLE AUTO_INCREMENT=7 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=BLACKHOLE AUTO_INCREMENT=7 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 # Test sql_mode 'NO_AUTO_VALUE_ON_ZERO' @@ -473,21 +487,27 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=BLACKHOLE AUTO_INCREMENT=301 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=BLACKHOLE AUTO_INCREMENT=301 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (0); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=BLACKHOLE AUTO_INCREMENT=301 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=BLACKHOLE AUTO_INCREMENT=301 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=BLACKHOLE AUTO_INCREMENT=302 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=BLACKHOLE AUTO_INCREMENT=302 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 SET @@session.sql_mode = ''; @@ -502,14 +522,18 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=BLACKHOLE AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=BLACKHOLE AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1; c1 SET INSERT_ID = 23; @@ -518,14 +542,18 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=BLACKHOLE AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=BLACKHOLE AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=BLACKHOLE AUTO_INCREMENT=24 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=BLACKHOLE AUTO_INCREMENT=24 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 DROP TABLE t1; @@ -541,14 +569,18 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ FLUSH TABLE; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 VALUES (4); FLUSH TABLE; SHOW CREATE TABLE t1; @@ -556,7 +588,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 VALUES (NULL); FLUSH TABLE; SHOW CREATE TABLE t1; @@ -564,7 +598,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 DROP TABLE t1; diff --git a/mysql-test/suite/parts/r/partition_auto_increment_innodb.result b/mysql-test/suite/parts/r/partition_auto_increment_innodb.result index 3cec527c2a6..f42281d4cb6 100644 --- a/mysql-test/suite/parts/r/partition_auto_increment_innodb.result +++ b/mysql-test/suite/parts/r/partition_auto_increment_innodb.result @@ -124,7 +124,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1; c1 1 @@ -338,7 +340,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 26 @@ -349,7 +353,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 1 @@ -604,28 +610,36 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (4); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (0); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 4 @@ -639,21 +653,27 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=InnoDB AUTO_INCREMENT=301 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=InnoDB AUTO_INCREMENT=301 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (0); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=InnoDB AUTO_INCREMENT=301 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=InnoDB AUTO_INCREMENT=301 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=InnoDB AUTO_INCREMENT=302 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=InnoDB AUTO_INCREMENT=302 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 0 @@ -674,14 +694,18 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1; c1 1 @@ -691,14 +715,18 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 1 @@ -716,14 +744,18 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ FLUSH TABLE; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 VALUES (4); FLUSH TABLE; SHOW CREATE TABLE t1; @@ -731,7 +763,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 VALUES (NULL); FLUSH TABLE; SHOW CREATE TABLE t1; @@ -739,7 +773,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 4 diff --git a/mysql-test/suite/parts/r/partition_auto_increment_memory.result b/mysql-test/suite/parts/r/partition_auto_increment_memory.result index 7a5d80c7758..1b81199ad8d 100644 --- a/mysql-test/suite/parts/r/partition_auto_increment_memory.result +++ b/mysql-test/suite/parts/r/partition_auto_increment_memory.result @@ -124,7 +124,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MEMORY AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MEMORY AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1; c1 1 @@ -338,7 +340,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MEMORY AUTO_INCREMENT=27 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MEMORY AUTO_INCREMENT=27 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 26 @@ -349,7 +353,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MEMORY AUTO_INCREMENT=28 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MEMORY AUTO_INCREMENT=28 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 27 @@ -632,28 +638,36 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MEMORY AUTO_INCREMENT=15 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MEMORY AUTO_INCREMENT=15 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (4); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MEMORY AUTO_INCREMENT=15 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MEMORY AUTO_INCREMENT=15 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (0); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MEMORY AUTO_INCREMENT=16 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MEMORY AUTO_INCREMENT=16 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MEMORY AUTO_INCREMENT=17 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MEMORY AUTO_INCREMENT=17 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 4 @@ -667,21 +681,27 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MEMORY AUTO_INCREMENT=301 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MEMORY AUTO_INCREMENT=301 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (0); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MEMORY AUTO_INCREMENT=301 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MEMORY AUTO_INCREMENT=301 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MEMORY AUTO_INCREMENT=302 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MEMORY AUTO_INCREMENT=302 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 0 @@ -702,14 +722,18 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MEMORY AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MEMORY AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1; c1 1 @@ -719,14 +743,18 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MEMORY AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MEMORY AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MEMORY AUTO_INCREMENT=24 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MEMORY AUTO_INCREMENT=24 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 1 @@ -744,14 +772,18 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ FLUSH TABLE; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 VALUES (4); FLUSH TABLE; SHOW CREATE TABLE t1; @@ -759,7 +791,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MEMORY AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MEMORY AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 VALUES (NULL); FLUSH TABLE; SHOW CREATE TABLE t1; @@ -767,7 +801,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MEMORY AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MEMORY AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 4 diff --git a/mysql-test/suite/parts/r/partition_auto_increment_myisam.result b/mysql-test/suite/parts/r/partition_auto_increment_myisam.result index 7ec76ee014c..6a04304f8a7 100644 --- a/mysql-test/suite/parts/r/partition_auto_increment_myisam.result +++ b/mysql-test/suite/parts/r/partition_auto_increment_myisam.result @@ -124,7 +124,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1; c1 1 @@ -338,7 +340,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MyISAM AUTO_INCREMENT=27 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MyISAM AUTO_INCREMENT=27 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 26 @@ -349,7 +353,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MyISAM AUTO_INCREMENT=28 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MyISAM AUTO_INCREMENT=28 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 27 @@ -651,28 +657,36 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (4); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (0); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MyISAM AUTO_INCREMENT=16 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MyISAM AUTO_INCREMENT=16 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MyISAM AUTO_INCREMENT=17 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MyISAM AUTO_INCREMENT=17 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 4 @@ -686,21 +700,27 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MyISAM AUTO_INCREMENT=301 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MyISAM AUTO_INCREMENT=301 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (0); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MyISAM AUTO_INCREMENT=301 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MyISAM AUTO_INCREMENT=301 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MyISAM AUTO_INCREMENT=302 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MyISAM AUTO_INCREMENT=302 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 0 @@ -721,14 +741,18 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1; c1 1 @@ -738,14 +762,18 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MyISAM AUTO_INCREMENT=24 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MyISAM AUTO_INCREMENT=24 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 1 @@ -763,14 +791,18 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ FLUSH TABLE; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 VALUES (4); FLUSH TABLE; SHOW CREATE TABLE t1; @@ -778,7 +810,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 VALUES (NULL); FLUSH TABLE; SHOW CREATE TABLE t1; @@ -786,7 +820,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 4 diff --git a/mysql-test/suite/parts/r/partition_auto_increment_ndb.result b/mysql-test/suite/parts/r/partition_auto_increment_ndb.result index 37b46ef63ba..a1c16b6d7d5 100644 --- a/mysql-test/suite/parts/r/partition_auto_increment_ndb.result +++ b/mysql-test/suite/parts/r/partition_auto_increment_ndb.result @@ -125,7 +125,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1; c1 1 @@ -339,7 +341,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 26 @@ -350,7 +354,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 1 @@ -626,28 +632,36 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (4); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (0); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 4 @@ -661,21 +675,27 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (0); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 0 @@ -696,14 +716,18 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1; c1 1 @@ -713,14 +737,18 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 (c1) VALUES (NULL); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 1 @@ -738,14 +766,18 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ FLUSH TABLE; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 VALUES (4); FLUSH TABLE; SHOW CREATE TABLE t1; @@ -753,7 +785,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ INSERT INTO t1 VALUES (NULL); FLUSH TABLE; SHOW CREATE TABLE t1; @@ -761,7 +795,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`c1`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +PARTITIONS 2 */ SELECT * FROM t1 ORDER BY c1; c1 4 diff --git a/mysql-test/suite/parts/r/partition_basic_innodb.result b/mysql-test/suite/parts/r/partition_basic_innodb.result index 2f6e58b186a..15452792f3d 100644 --- a/mysql-test/suite/parts/r/partition_basic_innodb.result +++ b/mysql-test/suite/parts/r/partition_basic_innodb.result @@ -72,7 +72,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1.frm @@ -525,7 +527,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1.frm @@ -986,7 +990,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ unified filelist t1.frm @@ -1445,7 +1458,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ unified filelist t1.frm @@ -1900,7 +1920,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ unified filelist t1.frm @@ -2361,7 +2388,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ unified filelist t1.frm @@ -2824,7 +2865,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ unified filelist t1.frm @@ -3281,7 +3336,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ unified filelist t1.frm @@ -3736,7 +3797,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ unified filelist t1.frm @@ -4189,7 +4252,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ unified filelist t1.frm @@ -4650,7 +4715,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ unified filelist t1.frm @@ -5109,7 +5183,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ unified filelist t1.frm @@ -5564,7 +5645,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ unified filelist t1.frm @@ -6023,7 +6111,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ unified filelist t1.frm @@ -6482,7 +6584,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ unified filelist t1.frm @@ -6939,7 +7055,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ unified filelist t1.frm @@ -7400,7 +7522,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1.frm @@ -7890,7 +8014,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1.frm @@ -8388,7 +8514,16 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ unified filelist t1.frm @@ -8884,7 +9019,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ unified filelist t1.frm @@ -9376,7 +9518,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ unified filelist t1.frm @@ -9874,7 +10023,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ unified filelist t1.frm @@ -10374,7 +10537,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ unified filelist t1.frm @@ -10868,7 +11045,13 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ unified filelist t1.frm @@ -11359,7 +11542,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1.frm @@ -11849,7 +12034,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1.frm @@ -12347,7 +12534,16 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ unified filelist t1.frm @@ -12843,7 +13039,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ unified filelist t1.frm @@ -13335,7 +13538,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ unified filelist t1.frm @@ -13833,7 +14043,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ unified filelist t1.frm @@ -14333,7 +14557,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ unified filelist t1.frm @@ -14827,7 +15065,13 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ unified filelist t1.frm @@ -15318,7 +15562,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1.frm @@ -15824,7 +16070,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1.frm @@ -16338,7 +16586,16 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ unified filelist t1.frm @@ -16850,7 +17107,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ unified filelist t1.frm @@ -17358,7 +17622,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ unified filelist t1.frm @@ -17872,7 +18143,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ unified filelist t1.frm @@ -18388,7 +18673,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ unified filelist t1.frm @@ -18898,7 +19197,13 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ unified filelist t1.frm @@ -19410,7 +19715,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ unified filelist t1.frm @@ -19900,7 +20207,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ unified filelist t1.frm @@ -20398,7 +20707,16 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ unified filelist t1.frm @@ -20894,7 +21212,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ unified filelist t1.frm @@ -21386,7 +21711,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ unified filelist t1.frm @@ -21882,7 +22214,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ unified filelist t1.frm @@ -22378,7 +22724,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ unified filelist t1.frm @@ -22872,7 +23232,13 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int2`,`f_int1`), UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ unified filelist t1.frm @@ -23363,7 +23729,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ unified filelist t1.frm @@ -23853,7 +24221,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ unified filelist t1.frm @@ -24351,7 +24721,16 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ unified filelist t1.frm @@ -24847,7 +25226,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ unified filelist t1.frm @@ -25339,7 +25725,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ unified filelist t1.frm @@ -25835,7 +26228,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ unified filelist t1.frm @@ -26331,7 +26738,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ unified filelist t1.frm @@ -26825,7 +27246,13 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, PRIMARY KEY (`f_int1`,`f_int2`), UNIQUE KEY `uidx1` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ unified filelist t1.frm @@ -27316,7 +27743,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ unified filelist t1.frm @@ -27822,7 +28251,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ unified filelist t1.frm @@ -28336,7 +28767,16 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, PARTITION part0 VALUES IN (0) ENGINE = InnoDB, PARTITION part1 VALUES IN (1) ENGINE = InnoDB, PARTITION part2 VALUES IN (2) ENGINE = InnoDB, PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, + PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, + PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, + PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part0 VALUES IN (0) ENGINE = InnoDB, + PARTITION part1 VALUES IN (1) ENGINE = InnoDB, + PARTITION part2 VALUES IN (2) ENGINE = InnoDB, + PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ unified filelist t1.frm @@ -28848,7 +29288,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, + PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ unified filelist t1.frm @@ -29356,7 +29803,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, + PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, + PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ unified filelist t1.frm @@ -29868,7 +30322,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = InnoDB, SUBPARTITION subpart42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = InnoDB, + SUBPARTITION subpart42 ENGINE = InnoDB)) */ unified filelist t1.frm @@ -30380,7 +30848,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = InnoDB, SUBPARTITION sp12 ENGINE = InnoDB), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = InnoDB, SUBPARTITION sp22 ENGINE = InnoDB), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = InnoDB, SUBPARTITION sp32 ENGINE = InnoDB), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = InnoDB, SUBPARTITION sp42 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = InnoDB, + SUBPARTITION sp12 ENGINE = InnoDB), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = InnoDB, + SUBPARTITION sp22 ENGINE = InnoDB), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = InnoDB, + SUBPARTITION sp32 ENGINE = InnoDB), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = InnoDB, + SUBPARTITION sp42 ENGINE = InnoDB)) */ unified filelist t1.frm @@ -30890,7 +31372,13 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = InnoDB, PARTITION part2 VALUES IN (1) ENGINE = InnoDB, PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = InnoDB, + PARTITION part2 VALUES IN (1) ENGINE = InnoDB, + PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */ unified filelist t1.frm diff --git a/mysql-test/suite/parts/r/partition_basic_myisam.result b/mysql-test/suite/parts/r/partition_basic_myisam.result index abb9518f89a..84d623e63a2 100644 --- a/mysql-test/suite/parts/r/partition_basic_myisam.result +++ b/mysql-test/suite/parts/r/partition_basic_myisam.result @@ -72,7 +72,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -530,7 +532,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -1002,7 +1006,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -1478,7 +1491,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -1946,7 +1966,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -2424,7 +2451,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -2904,7 +2945,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -3378,7 +3433,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -3852,7 +3913,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -4310,7 +4373,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -4782,7 +4847,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -5258,7 +5332,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -5726,7 +5807,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -6202,7 +6290,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -6678,7 +6780,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -7152,7 +7268,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -7632,7 +7754,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -8143,7 +8267,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -8668,7 +8794,16 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -9197,7 +9332,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -9718,7 +9860,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -10249,7 +10398,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -10782,7 +10945,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -11309,7 +11486,13 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -11840,7 +12023,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -12351,7 +12536,9 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) PARTITIONS 5 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +PARTITIONS 5 */ unified filelist t1#P#p0.MYD @@ -12876,7 +13063,16 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, PARTITION part0 VALUES IN (0) ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) ENGINE = MyISAM, PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -13405,7 +13601,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -13926,7 +14129,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -14455,7 +14665,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -14984,7 +15208,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 ENGINE = MyISAM, SUBPARTITION sp12 ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 ENGINE = MyISAM, SUBPARTITION sp22 ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 ENGINE = MyISAM, SUBPARTITION sp32 ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 ENGINE = MyISAM, SUBPARTITION sp42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 ENGINE = MyISAM, + SUBPARTITION sp12 ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 ENGINE = MyISAM, + SUBPARTITION sp22 ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 ENGINE = MyISAM, + SUBPARTITION sp32 ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 ENGINE = MyISAM, + SUBPARTITION sp42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -15511,7 +15749,13 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) ENGINE = MyISAM, PARTITION part2 VALUES IN (1) ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD diff --git a/mysql-test/suite/parts/r/partition_basic_symlink_innodb.result b/mysql-test/suite/parts/r/partition_basic_symlink_innodb.result index 2fa1c25d0de..731cb186b34 100644 --- a/mysql-test/suite/parts/r/partition_basic_symlink_innodb.result +++ b/mysql-test/suite/parts/r/partition_basic_symlink_innodb.result @@ -20,7 +20,10 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) (PARTITION p0 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = InnoDB, PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +(PARTITION p0 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = InnoDB, + PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = InnoDB) */ ALTER TABLE t1 ENGINE = MyISAM; # Verifying .frm, .par and MyISAM files (.MYD, MYI) FLUSH TABLES; @@ -28,5 +31,8 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (c1) (PARTITION p0 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (c1) +(PARTITION p0 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ DROP TABLE t1; diff --git a/mysql-test/suite/parts/r/partition_basic_symlink_myisam.result b/mysql-test/suite/parts/r/partition_basic_symlink_myisam.result index 2d7df9225ac..602a114c318 100644 --- a/mysql-test/suite/parts/r/partition_basic_symlink_myisam.result +++ b/mysql-test/suite/parts/r/partition_basic_symlink_myisam.result @@ -82,7 +82,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#p1.MYD @@ -559,7 +562,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p3 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p4 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p5 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p3 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p4 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p5 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#p1.MYD @@ -1049,7 +1058,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part0 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part1 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part2 VALUES IN (2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part3 VALUES IN (3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -1553,7 +1571,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -2041,7 +2066,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -2539,7 +2571,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION subpart12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION subpart22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION subpart32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION subpart42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -3055,7 +3101,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION sp12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION sp22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION sp32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION sp42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -3551,7 +3611,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part2 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -4049,7 +4115,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) (PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +(PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#p1.MYD @@ -4526,7 +4595,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) (PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p3 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p4 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p5 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +(PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p3 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p4 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p5 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#p1.MYD @@ -5016,7 +5091,16 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part0 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part1 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part2 VALUES IN (2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part3 VALUES IN (3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -5520,7 +5604,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -6008,7 +6099,14 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -6504,7 +6602,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION subpart12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION subpart22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION subpart32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION subpart42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -7020,7 +7132,21 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION sp12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION sp22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION sp32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION sp42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -7516,7 +7642,13 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part2 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -8020,7 +8152,10 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#p1.MYD @@ -8550,7 +8685,13 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1) (PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p3 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p4 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p5 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1) +(PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p3 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p4 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p5 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#p1.MYD @@ -9093,7 +9234,16 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part0 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part1 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part2 VALUES IN (2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part3 VALUES IN (3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -9650,7 +9800,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -10191,7 +10348,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -10742,7 +10906,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION subpart12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION subpart22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION subpart32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION subpart42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -11311,7 +11489,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION sp12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION sp22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION sp32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION sp42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -11860,7 +12052,13 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int1) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part2 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int1) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -12415,7 +12613,10 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1 + f_int2) (PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1 + f_int2) +(PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#p1.MYD @@ -12945,7 +13146,13 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (f_int1,f_int2) (PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p3 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p4 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p5 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (f_int1,f_int2) +(PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p2 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p3 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p4 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p5 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#p1.MYD @@ -13488,7 +13695,16 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) (PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part0 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part1 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part2 VALUES IN (2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part3 VALUES IN (3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) +(PARTITION part_3 VALUES IN (-3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -14045,7 +14261,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) +(PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -14586,7 +14809,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int2) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int2) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -15135,7 +15365,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int2) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int2) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION subpart12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION subpart22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION subpart32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION subpart42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -15704,7 +15948,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int2 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int2 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION sp12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION sp22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION sp32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION sp42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD @@ -16253,7 +16511,13 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) SUBPARTITION BY KEY (f_int2) SUBPARTITIONS 3 (PARTITION part1 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part2 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,2))) +SUBPARTITION BY KEY (f_int2) +SUBPARTITIONS 3 +(PARTITION part1 VALUES IN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part2 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part3 VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -16804,7 +17068,10 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p2 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION p1 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p2 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#p1.MYD @@ -17327,7 +17594,13 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, PARTITION p2 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p3 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION p4 ENGINE = MyISAM, PARTITION p5 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION p1 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, + PARTITION p2 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p3 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION p4 ENGINE = MyISAM, + PARTITION p5 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#p1.MYD @@ -17865,7 +18138,16 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,4)) (PARTITION part_3 VALUES IN (-3) INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, PARTITION part0 VALUES IN (0) INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION part1 VALUES IN (1) ENGINE = MyISAM, PARTITION part2 VALUES IN (2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, PARTITION part3 VALUES IN (3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,4)) +(PARTITION part_3 VALUES IN (-3) INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part_2 VALUES IN (-2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, + PARTITION part_1 VALUES IN (-1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part_N VALUES IN (NULL) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, + PARTITION part0 VALUES IN (0) INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION part1 VALUES IN (1) ENGINE = MyISAM, + PARTITION part2 VALUES IN (2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, + PARTITION part3 VALUES IN (3) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#part0.MYD @@ -18409,7 +18691,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) (PARTITION parta VALUES LESS THAN (0) INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, PARTITION partf VALUES LESS THAN (2147483646) INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +(PARTITION parta VALUES LESS THAN (0) INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (15) ENGINE = MyISAM, + PARTITION parte VALUES LESS THAN (20) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, + PARTITION partf VALUES LESS THAN (2147483646) INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#parta.MYD @@ -18940,7 +19229,14 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1 DIV 2) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION parta VALUES LESS THAN (0) INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1 DIV 2) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION parta VALUES LESS THAN (0) INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + PARTITION partb VALUES LESS THAN (5) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, + PARTITION partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION partd VALUES LESS THAN (2147483646) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM) */ unified filelist t1#P#parta#SP#partasp0.MYD @@ -19456,19 +19752,20 @@ f_char2 CHAR(20), f_charbig VARCHAR(1000) , UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1) ) -PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1) -(PARTITION part1 VALUES LESS THAN (0) -DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' -(SUBPARTITION subpart11, SUBPARTITION subpart12), -PARTITION part2 VALUES LESS THAN (5) -INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' -(SUBPARTITION subpart21, SUBPARTITION subpart22), -PARTITION part3 VALUES LESS THAN (10) -DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' -INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' -(SUBPARTITION subpart31, SUBPARTITION subpart32), +/*!50100 PARTITION BY RANGE(f_int1) +SUBPARTITION BY KEY(f_int1) +(PARTITION part1 VALUES LESS THAN (0) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' +(SUBPARTITION subpart11, +SUBPARTITION subpart12), +PARTITION part2 VALUES LESS THAN (5) INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' +(SUBPARTITION subpart21, +SUBPARTITION subpart22), +PARTITION part3 VALUES LESS THAN (10) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' +(SUBPARTITION subpart31, +SUBPARTITION subpart32), PARTITION part4 VALUES LESS THAN (2147483646) -(SUBPARTITION subpart41, SUBPARTITION subpart42)); +(SUBPARTITION subpart41, +SUBPARTITION subpart42)) */; INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; # Start usability test (inc/partition_check.inc) @@ -19483,7 +19780,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY KEY (f_int1) (PARTITION part1 VALUES LESS THAN (0) (SUBPARTITION subpart11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, SUBPARTITION subpart12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (5) (SUBPARTITION subpart21 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart22 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (10) (SUBPARTITION subpart31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION subpart32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part4 VALUES LESS THAN (2147483646) (SUBPARTITION subpart41 ENGINE = MyISAM, SUBPARTITION subpart42 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY KEY (f_int1) +(PARTITION part1 VALUES LESS THAN (0) + (SUBPARTITION subpart11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, + SUBPARTITION subpart12 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (5) + (SUBPARTITION subpart21 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION subpart22 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (10) + (SUBPARTITION subpart31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION subpart32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part4 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart41 ENGINE = MyISAM, + SUBPARTITION subpart42 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -19997,31 +20308,7 @@ f_char2 CHAR(20), f_charbig VARCHAR(1000) , UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1) ) -PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1) -(PARTITION part1 VALUES IN (0) -INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' -(SUBPARTITION sp11 -DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir', -SUBPARTITION sp12 -INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'), -PARTITION part2 VALUES IN (1) -DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' -(SUBPARTITION sp21 -DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir', -SUBPARTITION sp22 -INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'), -PARTITION part3 VALUES IN (2) -DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' -INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' -(SUBPARTITION sp31, -SUBPARTITION sp32), -PARTITION part4 VALUES IN (NULL) -(SUBPARTITION sp41 -DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' -INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir', -SUBPARTITION sp42 -DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' -INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir')); +/*!50100 PARTITION BY LIST(ABS(MOD(f_int1,3))) SUBPARTITION BY HASH(f_int1 + 1) (PARTITION part1 VALUES IN (0) INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' (SUBPARTITION sp11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir', SUBPARTITION sp12 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'), PARTITION part2 VALUES IN (1) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' (SUBPARTITION sp21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir', SUBPARTITION sp22 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir'), PARTITION part3 VALUES IN (2) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' (SUBPARTITION sp31, SUBPARTITION sp32), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir', SUBPARTITION sp42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir')) */; INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template; # Start usability test (inc/partition_check.inc) @@ -20036,7 +20323,21 @@ t1 CREATE TABLE `t1` ( `f_charbig` varchar(1000) DEFAULT NULL, UNIQUE KEY `uidx1` (`f_int1`,`f_int2`), UNIQUE KEY `uidx2` (`f_int2`,`f_int1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) SUBPARTITION BY HASH (f_int1 + 1) (PARTITION part1 VALUES IN (0) (SUBPARTITION sp11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp12 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part2 VALUES IN (1) (SUBPARTITION sp21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, SUBPARTITION sp22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part3 VALUES IN (2) (SUBPARTITION sp31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), PARTITION part4 VALUES IN (NULL) (SUBPARTITION sp41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, SUBPARTITION sp42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (ABS(MOD(f_int1,3))) +SUBPARTITION BY HASH (f_int1 + 1) +(PARTITION part1 VALUES IN (0) + (SUBPARTITION sp11 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION sp12 INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part2 VALUES IN (1) + (SUBPARTITION sp21 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = MyISAM, + SUBPARTITION sp22 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part3 VALUES IN (2) + (SUBPARTITION sp31 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION sp32 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM), + PARTITION part4 VALUES IN (NULL) + (SUBPARTITION sp41 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM, + SUBPARTITION sp42 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' INDEX DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#sp11.MYD diff --git a/mysql-test/suite/parts/r/partition_bit_innodb.result b/mysql-test/suite/parts/r/partition_bit_innodb.result index 22d1d0e0a30..2ea66592679 100644 --- a/mysql-test/suite/parts/r/partition_bit_innodb.result +++ b/mysql-test/suite/parts/r/partition_bit_innodb.result @@ -8,7 +8,8 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` bit(1) NOT NULL DEFAULT '\0', PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) */ drop table t1; create table t1 (a bit(0), primary key (a)) engine='INNODB' partition by key (a) ( @@ -19,7 +20,10 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` bit(1) NOT NULL DEFAULT '\0', PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 ENGINE = InnoDB, PARTITION pa2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 ENGINE = InnoDB, + PARTITION pa2 ENGINE = InnoDB) */ drop table t1; create table t1 (a bit(64), primary key (a)) engine='INNODB' partition by key (a) partitions 2; @@ -28,7 +32,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` bit(64) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0', PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 2 */ insert into t1 values (b'1111111111111111111111111111111111111111111111111111111111111111'), (b'1000000000000000000000000000000000000000000000000000000000000000'), @@ -54,7 +60,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` bit(64) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0', PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values (b'1111111111111111111111111111111111111111111111111111111111111111'), (b'1000000000000000000000000000000000000000000000000000000000000000'), @@ -79,7 +90,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` bit(1) NOT NULL DEFAULT '\0', PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 4 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 4 */ insert into t2 values (b'0'), (b'1'); select hex(a) from t2; hex(a) @@ -90,7 +103,9 @@ show create table t2; Table Create Table t2 CREATE TABLE `t2` ( `a` bit(1) NOT NULL DEFAULT '\0' -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 4 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 4 */ select hex(a) from t2; hex(a) 0 @@ -101,7 +116,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` bit(1) NOT NULL DEFAULT '\0', PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 4 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 4 */ select hex(a) from t2; hex(a) 0 @@ -118,7 +135,14 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` bit(8) NOT NULL DEFAULT '\0', PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) SUBPARTITION BY KEY (a) SUBPARTITIONS 2 (PARTITION pa1 VALUES LESS THAN (3) ENGINE = InnoDB, PARTITION pa2 VALUES LESS THAN (16) ENGINE = InnoDB, PARTITION pa3 VALUES LESS THAN (64) ENGINE = InnoDB, PARTITION pa4 VALUES LESS THAN (256) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +SUBPARTITION BY KEY (a) +SUBPARTITIONS 2 +(PARTITION pa1 VALUES LESS THAN (3) ENGINE = InnoDB, + PARTITION pa2 VALUES LESS THAN (16) ENGINE = InnoDB, + PARTITION pa3 VALUES LESS THAN (64) ENGINE = InnoDB, + PARTITION pa4 VALUES LESS THAN (256) ENGINE = InnoDB) */ 255 inserts; select hex(a) from t3 where a=b'01010101'; hex(a) @@ -394,7 +418,13 @@ Table Create Table t4 CREATE TABLE `t4` ( `a` bit(8) NOT NULL DEFAULT '\0', PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) SUBPARTITION BY KEY (a) SUBPARTITIONS 2 (PARTITION pa1 VALUES IN (0,1,2,3) ENGINE = InnoDB, PARTITION pa2 VALUES IN (4,5,6,7,8,9,10,11,12,13,14,15,16) ENGINE = InnoDB, PARTITION pa3 VALUES IN (17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +SUBPARTITION BY KEY (a) +SUBPARTITIONS 2 +(PARTITION pa1 VALUES IN (0,1,2,3) ENGINE = InnoDB, + PARTITION pa2 VALUES IN (4,5,6,7,8,9,10,11,12,13,14,15,16) ENGINE = InnoDB, + PARTITION pa3 VALUES IN (17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32) ENGINE = InnoDB) */ 32 inserts; select hex(a) from t4 where a=b'00000001'; hex(a) diff --git a/mysql-test/suite/parts/r/partition_bit_myisam.result b/mysql-test/suite/parts/r/partition_bit_myisam.result index d4b81fc74b5..c1f067d80d1 100644 --- a/mysql-test/suite/parts/r/partition_bit_myisam.result +++ b/mysql-test/suite/parts/r/partition_bit_myisam.result @@ -8,7 +8,8 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` bit(1) NOT NULL DEFAULT '\0', PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) */ drop table t1; create table t1 (a bit(0), primary key (a)) engine='MyISAM' partition by key (a) ( @@ -19,7 +20,10 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` bit(1) NOT NULL DEFAULT '\0', PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 ENGINE = MyISAM, PARTITION pa2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 ENGINE = MyISAM, + PARTITION pa2 ENGINE = MyISAM) */ drop table t1; create table t1 (a bit(64), primary key (a)) engine='MyISAM' partition by key (a) partitions 2; @@ -28,7 +32,9 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` bit(64) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0', PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 2 */ insert into t1 values (b'1111111111111111111111111111111111111111111111111111111111111111'), (b'1000000000000000000000000000000000000000000000000000000000000000'), @@ -54,7 +60,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` bit(64) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0', PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values (b'1111111111111111111111111111111111111111111111111111111111111111'), (b'1000000000000000000000000000000000000000000000000000000000000000'), @@ -79,7 +90,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` bit(1) NOT NULL DEFAULT '\0', PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 4 */ insert into t2 values (b'0'), (b'1'); select hex(a) from t2; hex(a) @@ -90,7 +103,9 @@ show create table t2; Table Create Table t2 CREATE TABLE `t2` ( `a` bit(1) NOT NULL DEFAULT '\0' -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 4 */ select hex(a) from t2; hex(a) 0 @@ -101,7 +116,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` bit(1) NOT NULL DEFAULT '\0', PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 4 */ select hex(a) from t2; hex(a) 0 @@ -118,7 +135,14 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` bit(8) NOT NULL DEFAULT '\0', PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) SUBPARTITION BY KEY (a) SUBPARTITIONS 2 (PARTITION pa1 VALUES LESS THAN (3) ENGINE = MyISAM, PARTITION pa2 VALUES LESS THAN (16) ENGINE = MyISAM, PARTITION pa3 VALUES LESS THAN (64) ENGINE = MyISAM, PARTITION pa4 VALUES LESS THAN (256) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +SUBPARTITION BY KEY (a) +SUBPARTITIONS 2 +(PARTITION pa1 VALUES LESS THAN (3) ENGINE = MyISAM, + PARTITION pa2 VALUES LESS THAN (16) ENGINE = MyISAM, + PARTITION pa3 VALUES LESS THAN (64) ENGINE = MyISAM, + PARTITION pa4 VALUES LESS THAN (256) ENGINE = MyISAM) */ 255 inserts; select hex(a) from t3 where a=b'01010101'; hex(a) @@ -394,7 +418,13 @@ Table Create Table t4 CREATE TABLE `t4` ( `a` bit(8) NOT NULL DEFAULT '\0', PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) SUBPARTITION BY KEY (a) SUBPARTITIONS 2 (PARTITION pa1 VALUES IN (0,1,2,3) ENGINE = MyISAM, PARTITION pa2 VALUES IN (4,5,6,7,8,9,10,11,12,13,14,15,16) ENGINE = MyISAM, PARTITION pa3 VALUES IN (17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +SUBPARTITION BY KEY (a) +SUBPARTITIONS 2 +(PARTITION pa1 VALUES IN (0,1,2,3) ENGINE = MyISAM, + PARTITION pa2 VALUES IN (4,5,6,7,8,9,10,11,12,13,14,15,16) ENGINE = MyISAM, + PARTITION pa3 VALUES IN (17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32) ENGINE = MyISAM) */ 32 inserts; select hex(a) from t4 where a=b'00000001'; hex(a) diff --git a/mysql-test/suite/parts/r/partition_bit_ndb.result b/mysql-test/suite/parts/r/partition_bit_ndb.result index a39b5717ca0..add3ed394ad 100644 --- a/mysql-test/suite/parts/r/partition_bit_ndb.result +++ b/mysql-test/suite/parts/r/partition_bit_ndb.result @@ -7,7 +7,8 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` bit(1) NOT NULL DEFAULT '\0', PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) */ drop table t1; create table t1 (a bit(0), primary key (a)) partition by key (a) ( partition pa1 DATA DIRECTORY = @@ -21,7 +22,10 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` bit(1) NOT NULL DEFAULT '\0', PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, + PARTITION pa2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */ drop table t1; create table t1 (a bit(64), primary key (a)) partition by key (a); show create table t1; @@ -29,7 +33,8 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` bit(64) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0', PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) */ insert into t1 values (b'1111111111111111111111111111111111111111111111111111111111111111'), (b'1000000000000000000000000000000000000000000000000000000000000000'), @@ -62,7 +67,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` bit(64) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0', PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/' +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */ insert into t1 values (b'1111111111111111111111111111111111111111111111111111111111111111'), (b'1000000000000000000000000000000000000000000000000000000000000000'), @@ -83,7 +93,8 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` bit(1) NOT NULL DEFAULT '\0', PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) */ insert into t1 values (b'0'), (b'1'); select hex(a) from t1; hex(a) @@ -94,7 +105,8 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` bit(1) NOT NULL DEFAULT '\0' -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) */ select hex(a) from t1; hex(a) 0 @@ -105,7 +117,8 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` bit(1) NOT NULL DEFAULT '\0', PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) */ select hex(a) from t1; hex(a) 0 diff --git a/mysql-test/suite/parts/r/partition_char_innodb.result b/mysql-test/suite/parts/r/partition_char_innodb.result index 455ff0353ed..dc7d259c2af 100644 --- a/mysql-test/suite/parts/r/partition_char_innodb.result +++ b/mysql-test/suite/parts/r/partition_char_innodb.result @@ -10,7 +10,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` char(255) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values (repeat('a',255)), ('b'), (repeat('a',128)), (repeat('b',64)); select * from t1; a @@ -36,7 +41,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` char(255) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 27 */ 26 inserts; insert into t2 values (repeat(char(ascii('a')+0),26+54)); insert into t2 values (repeat(char(ascii('a')+1),25+54)); @@ -108,7 +115,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` binary(255) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values (repeat('a',255)), ('b'), (repeat('a',128)), (repeat('b',64)); select hex(a) from t1; hex(a) @@ -137,7 +149,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` binary(255) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 27 */ 26 inserts; insert into t2 values (repeat(char(ascii('a')+0),26+54)); insert into t2 values (repeat(char(ascii('a')+1),25+54)); @@ -209,7 +223,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(767) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values (repeat('a',767)), ('b'), (repeat('a',500)), (repeat('b',64)); select * from t1; a @@ -235,7 +254,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` varchar(767) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 27 */ 26 inserts; insert into t2 values (repeat(char(ascii('a')+0),26*26)); insert into t2 values (repeat(char(ascii('a')+1),25*25)); @@ -307,7 +328,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` varbinary(767) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values (repeat('a',767)), ('b'), (repeat('a',500)), (repeat('b',64)); select * from t1; a @@ -333,7 +359,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` varbinary(767) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 30 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 30 */ 26 inserts; insert into t2 values (repeat(char(ascii('a')+0),26*26)); insert into t2 values (repeat(char(ascii('a')+1),25*25)); @@ -405,7 +433,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` enum('A','B','C','D','E','F','G','H','I','J','K','L') NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values ('A'),('D'),('L'),('G'); select * from t1; a @@ -442,7 +475,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` enum('1','2','3','4','5','6','7','8','9','0','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z') NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 27 */ 0 inserts; insert into t2 values (char(ascii('A')+26)); Warnings: @@ -527,7 +562,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` set('A','B','C','D','E','F','G','H','I','J','K','L') NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values ('A,B'),('C,D'),('E,L'),('G,H,K'); select * from t1 order by a; a @@ -564,7 +604,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` set('1','2','3','4','5','6','7','8','9','0','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z') NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 27 */ insert into t2 values ('A'),('B'),('C'),('D'),('E'),('F'),('G'),('H'),('I'),('K'),('L'),('M'),('N'),('O'),('P'),('Q'),('S'),('T'),('U'),('V'),('X'),('Y'),('Z'); insert into t2 values ('A,B'),('B,C'),('C,D'),('D,E'),('E,F'),('F,G'),('G,H'),('H,I'),('I,J'),('K,L'),('L,M'),('M,N'),('N,O'),('O,P'),('P,Q'),('Q,R'),('S,T'),('T,U'),('U,V'),('V,W'),('X,Y'),('Y,Z'),('Z,A'); insert into t2 values ('A,B,C'),('B,C,D'),('C,D,E'),('D,E,F'),('E,F,G'),('F,G,H'),('G,H,I'),('H,I,J'),('I,J,K'),('K,L,M'),('L,M,N'),('M,N,O'),('N,O,P'),('O,P,Q'),('P,Q,R'),('Q,R,S'),('S,T,U'),('T,U,V'),('U,V,W'),('V,W,X'),('X,Y,Z'),('Y,Z,A'),('Z,A,B'); diff --git a/mysql-test/suite/parts/r/partition_char_myisam.result b/mysql-test/suite/parts/r/partition_char_myisam.result index af25f4b19a4..80f738c4b7b 100644 --- a/mysql-test/suite/parts/r/partition_char_myisam.result +++ b/mysql-test/suite/parts/r/partition_char_myisam.result @@ -10,7 +10,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` char(255) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values (repeat('a',255)), ('b'), (repeat('a',128)), (repeat('b',64)); select * from t1; a @@ -36,7 +41,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` char(255) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 27 */ 26 inserts; insert into t2 values (repeat(char(ascii('a')+0),26+54)); insert into t2 values (repeat(char(ascii('a')+1),25+54)); @@ -108,7 +115,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` binary(255) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values (repeat('a',255)), ('b'), (repeat('a',128)), (repeat('b',64)); select hex(a) from t1; hex(a) @@ -137,7 +149,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` binary(255) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 27 */ 26 inserts; insert into t2 values (repeat(char(ascii('a')+0),26+54)); insert into t2 values (repeat(char(ascii('a')+1),25+54)); @@ -209,7 +223,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(767) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values (repeat('a',767)), ('b'), (repeat('a',500)), (repeat('b',64)); select * from t1; a @@ -235,7 +254,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` varchar(767) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 27 */ 26 inserts; insert into t2 values (repeat(char(ascii('a')+0),26*26)); insert into t2 values (repeat(char(ascii('a')+1),25*25)); @@ -307,7 +328,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` varbinary(767) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values (repeat('a',767)), ('b'), (repeat('a',500)), (repeat('b',64)); select * from t1; a @@ -333,7 +359,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` varbinary(767) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 30 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 30 */ 26 inserts; insert into t2 values (repeat(char(ascii('a')+0),26*26)); insert into t2 values (repeat(char(ascii('a')+1),25*25)); @@ -405,7 +433,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` enum('A','B','C','D','E','F','G','H','I','J','K','L') NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values ('A'),('D'),('L'),('G'); select * from t1; a @@ -442,7 +475,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` enum('1','2','3','4','5','6','7','8','9','0','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z') NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 27 */ 0 inserts; insert into t2 values (char(ascii('A')+26)); Warnings: @@ -527,7 +562,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` set('A','B','C','D','E','F','G','H','I','J','K','L') NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values ('A,B'),('C,D'),('E,L'),('G,H,K'); select * from t1 order by a; a @@ -564,7 +604,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` set('1','2','3','4','5','6','7','8','9','0','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z') NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 27 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 27 */ insert into t2 values ('A'),('B'),('C'),('D'),('E'),('F'),('G'),('H'),('I'),('K'),('L'),('M'),('N'),('O'),('P'),('Q'),('S'),('T'),('U'),('V'),('X'),('Y'),('Z'); insert into t2 values ('A,B'),('B,C'),('C,D'),('D,E'),('E,F'),('F,G'),('G,H'),('H,I'),('I,J'),('K,L'),('L,M'),('M,N'),('N,O'),('O,P'),('P,Q'),('Q,R'),('S,T'),('T,U'),('U,V'),('V,W'),('X,Y'),('Y,Z'),('Z,A'); insert into t2 values ('A,B,C'),('B,C,D'),('C,D,E'),('D,E,F'),('E,F,G'),('F,G,H'),('G,H,I'),('H,I,J'),('I,J,K'),('K,L,M'),('L,M,N'),('M,N,O'),('N,O,P'),('O,P,Q'),('P,Q,R'),('Q,R,S'),('S,T,U'),('T,U,V'),('U,V,W'),('V,W,X'),('X,Y,Z'),('Y,Z,A'),('Z,A,B'); diff --git a/mysql-test/suite/parts/r/partition_datetime_innodb.result b/mysql-test/suite/parts/r/partition_datetime_innodb.result index 0d95df98bbf..67517ff5943 100644 --- a/mysql-test/suite/parts/r/partition_datetime_innodb.result +++ b/mysql-test/suite/parts/r/partition_datetime_innodb.result @@ -9,7 +9,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values ('1975-01-01 21:21:21'), ('2020-12-31 12:10:30'), ('1980-10-14 03:03'), ('2000-06-15 23:59'); select * from t1; a @@ -34,7 +39,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 12 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 12 */ insert into t2 values ('1975-01-01 0:1:1'), ('2020-12-31 10:11:12'), ('1980-10-14 13:14:15'), ('2000-06-15 14:15:16'); select * from t2; a @@ -190,7 +197,14 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION quarter2 VALUES LESS THAN (7) ENGINE = InnoDB, PARTITION quarter3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION quarter4 VALUES LESS THAN (13) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (month(a)) +SUBPARTITION BY KEY (a) +SUBPARTITIONS 3 +(PARTITION quarter1 VALUES LESS THAN (4) ENGINE = InnoDB, + PARTITION quarter2 VALUES LESS THAN (7) ENGINE = InnoDB, + PARTITION quarter3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION quarter4 VALUES LESS THAN (13) ENGINE = InnoDB) */ 12 inserts; insert into t3 values (date_add('1970-01-01 00:00:00',interval 12-1 month)); insert into t3 values (date_add('1970-01-01 00:00:00',interval 11-1 month)); @@ -237,7 +251,14 @@ Table Create Table t4 CREATE TABLE `t4` ( `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (0,1,2,3) ENGINE = InnoDB, PARTITION quarter2 VALUES IN (4,5,6) ENGINE = InnoDB, PARTITION quarter3 VALUES IN (7,8,9) ENGINE = InnoDB, PARTITION quarter4 VALUES IN (10,11,12) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (month(a)) +SUBPARTITION BY KEY (a) +SUBPARTITIONS 3 +(PARTITION quarter1 VALUES IN (0,1,2,3) ENGINE = InnoDB, + PARTITION quarter2 VALUES IN (4,5,6) ENGINE = InnoDB, + PARTITION quarter3 VALUES IN (7,8,9) ENGINE = InnoDB, + PARTITION quarter4 VALUES IN (10,11,12) ENGINE = InnoDB) */ 12 inserts; insert into t4 values (date_add('1970-01-01 00:00:00',interval 12-1 month)); insert into t4 values (date_add('1970-01-01 00:00:00',interval 11-1 month)); @@ -282,7 +303,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` date NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values ('1975-01-01'), ('2020-12-31'), ('1980-10-14'), ('2000-06-15'); select * from t1; a @@ -307,7 +333,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` date NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 12 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 12 */ insert into t2 values ('1975-01-01'), ('2020-12-31'), ('1980-10-14'), ('2000-06-15'); select * from t2; a @@ -513,7 +541,14 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` date NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION quarter2 VALUES LESS THAN (7) ENGINE = InnoDB, PARTITION quarter3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION quarter4 VALUES LESS THAN (13) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (month(a)) +SUBPARTITION BY KEY (a) +SUBPARTITIONS 3 +(PARTITION quarter1 VALUES LESS THAN (4) ENGINE = InnoDB, + PARTITION quarter2 VALUES LESS THAN (7) ENGINE = InnoDB, + PARTITION quarter3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION quarter4 VALUES LESS THAN (13) ENGINE = InnoDB) */ 12 inserts; insert into t3 values (adddate(19700101,interval 12-1 month)); insert into t3 values (adddate(19700101,interval 11-1 month)); @@ -558,7 +593,14 @@ Table Create Table t4 CREATE TABLE `t4` ( `a` date NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (1,2,3) ENGINE = InnoDB, PARTITION quarter2 VALUES IN (4,5,6) ENGINE = InnoDB, PARTITION quarter3 VALUES IN (7,8,9) ENGINE = InnoDB, PARTITION quarter4 VALUES IN (10,11,12) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (month(a)) +SUBPARTITION BY KEY (a) +SUBPARTITIONS 3 +(PARTITION quarter1 VALUES IN (1,2,3) ENGINE = InnoDB, + PARTITION quarter2 VALUES IN (4,5,6) ENGINE = InnoDB, + PARTITION quarter3 VALUES IN (7,8,9) ENGINE = InnoDB, + PARTITION quarter4 VALUES IN (10,11,12) ENGINE = InnoDB) */ 12 inserts; insert into t4 values (adddate(19700101,interval 12-1 month)); insert into t4 values (adddate(19700101,interval 11-1 month)); @@ -601,7 +643,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` time NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values ('21:21:21'), ('12:10:30'), ('03:03:03'), ('23:59'); select * from t1; a @@ -626,7 +673,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` time NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 12 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 12 */ insert into t2 values ('0:1:1'), ('10:11:12'), ('13:14:15'), ('14:15:16'); select * from t2; a @@ -782,7 +831,14 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` time NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (second(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (16) ENGINE = InnoDB, PARTITION quarter2 VALUES LESS THAN (31) ENGINE = InnoDB, PARTITION quarter3 VALUES LESS THAN (46) ENGINE = InnoDB, PARTITION quarter4 VALUES LESS THAN (61) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (second(a)) +SUBPARTITION BY KEY (a) +SUBPARTITIONS 3 +(PARTITION quarter1 VALUES LESS THAN (16) ENGINE = InnoDB, + PARTITION quarter2 VALUES LESS THAN (31) ENGINE = InnoDB, + PARTITION quarter3 VALUES LESS THAN (46) ENGINE = InnoDB, + PARTITION quarter4 VALUES LESS THAN (61) ENGINE = InnoDB) */ 59 inserts; insert into t3 values (100000+59); insert into t3 values (100000+58); @@ -921,7 +977,14 @@ Table Create Table t4 CREATE TABLE `t4` ( `a` time NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (second(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) ENGINE = InnoDB, PARTITION quarter2 VALUES IN (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION quarter3 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45) ENGINE = InnoDB, PARTITION quarter4 VALUES IN (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (second(a)) +SUBPARTITION BY KEY (a) +SUBPARTITIONS 3 +(PARTITION quarter1 VALUES IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) ENGINE = InnoDB, + PARTITION quarter2 VALUES IN (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION quarter3 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45) ENGINE = InnoDB, + PARTITION quarter4 VALUES IN (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */ 59 inserts; insert into t4 values (100000+59); insert into t4 values (100000+58); @@ -1058,7 +1121,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` datetime NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values ('1975-01-01 21:21:21'), ('2020-12-31 12:10:30'), ('1980-10-14 03:03'), ('2000-06-15 23:59'); select * from t1; a @@ -1083,7 +1151,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` datetime NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 12 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 12 */ insert into t2 values ('1975-01-01 0:1:1'), ('2020-12-31 10:11:12'), ('1980-10-14 13:14:15'), ('2000-06-15 14:15:16'); select * from t2; a @@ -1239,7 +1309,14 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` datetime NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION quarter2 VALUES LESS THAN (7) ENGINE = InnoDB, PARTITION quarter3 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION quarter4 VALUES LESS THAN (13) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (month(a)) +SUBPARTITION BY KEY (a) +SUBPARTITIONS 3 +(PARTITION quarter1 VALUES LESS THAN (4) ENGINE = InnoDB, + PARTITION quarter2 VALUES LESS THAN (7) ENGINE = InnoDB, + PARTITION quarter3 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION quarter4 VALUES LESS THAN (13) ENGINE = InnoDB) */ 12 inserts; insert into t3 values (adddate(19700101000000,interval 12-1 month)); insert into t3 values (adddate(19700101000000,interval 11-1 month)); @@ -1284,7 +1361,14 @@ Table Create Table t4 CREATE TABLE `t4` ( `a` datetime NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (1,2,3) ENGINE = InnoDB, PARTITION quarter2 VALUES IN (4,5,6) ENGINE = InnoDB, PARTITION quarter3 VALUES IN (7,8,9) ENGINE = InnoDB, PARTITION quarter4 VALUES IN (10,11,12) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (month(a)) +SUBPARTITION BY KEY (a) +SUBPARTITIONS 3 +(PARTITION quarter1 VALUES IN (1,2,3) ENGINE = InnoDB, + PARTITION quarter2 VALUES IN (4,5,6) ENGINE = InnoDB, + PARTITION quarter3 VALUES IN (7,8,9) ENGINE = InnoDB, + PARTITION quarter4 VALUES IN (10,11,12) ENGINE = InnoDB) */ 12 inserts; insert into t4 values (adddate(19700101000000,interval 12-1 month)); insert into t4 values (adddate(19700101000000,interval 11-1 month)); @@ -1327,7 +1411,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` year(4) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values ('1975'), (2020), ('1980'), ('2000'); select * from t1; a @@ -1352,7 +1441,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` year(4) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 12 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 12 */ insert into t2 values ('1975'), ('2020'), ('1980'), ('2000'); select * from t2; a diff --git a/mysql-test/suite/parts/r/partition_datetime_myisam.result b/mysql-test/suite/parts/r/partition_datetime_myisam.result index 4bb182281c4..ad542870e65 100644 --- a/mysql-test/suite/parts/r/partition_datetime_myisam.result +++ b/mysql-test/suite/parts/r/partition_datetime_myisam.result @@ -9,7 +9,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values ('1975-01-01 21:21:21'), ('2020-12-31 12:10:30'), ('1980-10-14 03:03'), ('2000-06-15 23:59'); select * from t1; a @@ -34,7 +39,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 12 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 12 */ insert into t2 values ('1975-01-01 0:1:1'), ('2020-12-31 10:11:12'), ('1980-10-14 13:14:15'), ('2000-06-15 14:15:16'); select * from t2; a @@ -190,7 +197,14 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION quarter2 VALUES LESS THAN (7) ENGINE = MyISAM, PARTITION quarter3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION quarter4 VALUES LESS THAN (13) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (month(a)) +SUBPARTITION BY KEY (a) +SUBPARTITIONS 3 +(PARTITION quarter1 VALUES LESS THAN (4) ENGINE = MyISAM, + PARTITION quarter2 VALUES LESS THAN (7) ENGINE = MyISAM, + PARTITION quarter3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION quarter4 VALUES LESS THAN (13) ENGINE = MyISAM) */ 12 inserts; insert into t3 values (date_add('1970-01-01 00:00:00',interval 12-1 month)); insert into t3 values (date_add('1970-01-01 00:00:00',interval 11-1 month)); @@ -237,7 +251,14 @@ Table Create Table t4 CREATE TABLE `t4` ( `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (0,1,2,3) ENGINE = MyISAM, PARTITION quarter2 VALUES IN (4,5,6) ENGINE = MyISAM, PARTITION quarter3 VALUES IN (7,8,9) ENGINE = MyISAM, PARTITION quarter4 VALUES IN (10,11,12) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (month(a)) +SUBPARTITION BY KEY (a) +SUBPARTITIONS 3 +(PARTITION quarter1 VALUES IN (0,1,2,3) ENGINE = MyISAM, + PARTITION quarter2 VALUES IN (4,5,6) ENGINE = MyISAM, + PARTITION quarter3 VALUES IN (7,8,9) ENGINE = MyISAM, + PARTITION quarter4 VALUES IN (10,11,12) ENGINE = MyISAM) */ 12 inserts; insert into t4 values (date_add('1970-01-01 00:00:00',interval 12-1 month)); insert into t4 values (date_add('1970-01-01 00:00:00',interval 11-1 month)); @@ -282,7 +303,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` date NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values ('1975-01-01'), ('2020-12-31'), ('1980-10-14'), ('2000-06-15'); select * from t1; a @@ -307,7 +333,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` date NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 12 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 12 */ insert into t2 values ('1975-01-01'), ('2020-12-31'), ('1980-10-14'), ('2000-06-15'); select * from t2; a @@ -513,7 +541,14 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` date NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION quarter2 VALUES LESS THAN (7) ENGINE = MyISAM, PARTITION quarter3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION quarter4 VALUES LESS THAN (13) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (month(a)) +SUBPARTITION BY KEY (a) +SUBPARTITIONS 3 +(PARTITION quarter1 VALUES LESS THAN (4) ENGINE = MyISAM, + PARTITION quarter2 VALUES LESS THAN (7) ENGINE = MyISAM, + PARTITION quarter3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION quarter4 VALUES LESS THAN (13) ENGINE = MyISAM) */ 12 inserts; insert into t3 values (adddate(19700101,interval 12-1 month)); insert into t3 values (adddate(19700101,interval 11-1 month)); @@ -558,7 +593,14 @@ Table Create Table t4 CREATE TABLE `t4` ( `a` date NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (1,2,3) ENGINE = MyISAM, PARTITION quarter2 VALUES IN (4,5,6) ENGINE = MyISAM, PARTITION quarter3 VALUES IN (7,8,9) ENGINE = MyISAM, PARTITION quarter4 VALUES IN (10,11,12) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (month(a)) +SUBPARTITION BY KEY (a) +SUBPARTITIONS 3 +(PARTITION quarter1 VALUES IN (1,2,3) ENGINE = MyISAM, + PARTITION quarter2 VALUES IN (4,5,6) ENGINE = MyISAM, + PARTITION quarter3 VALUES IN (7,8,9) ENGINE = MyISAM, + PARTITION quarter4 VALUES IN (10,11,12) ENGINE = MyISAM) */ 12 inserts; insert into t4 values (adddate(19700101,interval 12-1 month)); insert into t4 values (adddate(19700101,interval 11-1 month)); @@ -601,7 +643,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` time NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values ('21:21:21'), ('12:10:30'), ('03:03:03'), ('23:59'); select * from t1; a @@ -626,7 +673,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` time NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 12 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 12 */ insert into t2 values ('0:1:1'), ('10:11:12'), ('13:14:15'), ('14:15:16'); select * from t2; a @@ -782,7 +831,14 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` time NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (second(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (16) ENGINE = MyISAM, PARTITION quarter2 VALUES LESS THAN (31) ENGINE = MyISAM, PARTITION quarter3 VALUES LESS THAN (46) ENGINE = MyISAM, PARTITION quarter4 VALUES LESS THAN (61) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (second(a)) +SUBPARTITION BY KEY (a) +SUBPARTITIONS 3 +(PARTITION quarter1 VALUES LESS THAN (16) ENGINE = MyISAM, + PARTITION quarter2 VALUES LESS THAN (31) ENGINE = MyISAM, + PARTITION quarter3 VALUES LESS THAN (46) ENGINE = MyISAM, + PARTITION quarter4 VALUES LESS THAN (61) ENGINE = MyISAM) */ 59 inserts; insert into t3 values (100000+59); insert into t3 values (100000+58); @@ -921,7 +977,14 @@ Table Create Table t4 CREATE TABLE `t4` ( `a` time NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (second(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) ENGINE = MyISAM, PARTITION quarter2 VALUES IN (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, PARTITION quarter3 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45) ENGINE = MyISAM, PARTITION quarter4 VALUES IN (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (second(a)) +SUBPARTITION BY KEY (a) +SUBPARTITIONS 3 +(PARTITION quarter1 VALUES IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) ENGINE = MyISAM, + PARTITION quarter2 VALUES IN (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM, + PARTITION quarter3 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45) ENGINE = MyISAM, + PARTITION quarter4 VALUES IN (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */ 59 inserts; insert into t4 values (100000+59); insert into t4 values (100000+58); @@ -1058,7 +1121,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` datetime NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values ('1975-01-01 21:21:21'), ('2020-12-31 12:10:30'), ('1980-10-14 03:03'), ('2000-06-15 23:59'); select * from t1; a @@ -1083,7 +1151,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` datetime NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 12 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 12 */ insert into t2 values ('1975-01-01 0:1:1'), ('2020-12-31 10:11:12'), ('1980-10-14 13:14:15'), ('2000-06-15 14:15:16'); select * from t2; a @@ -1239,7 +1309,14 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` datetime NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION quarter2 VALUES LESS THAN (7) ENGINE = MyISAM, PARTITION quarter3 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION quarter4 VALUES LESS THAN (13) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (month(a)) +SUBPARTITION BY KEY (a) +SUBPARTITIONS 3 +(PARTITION quarter1 VALUES LESS THAN (4) ENGINE = MyISAM, + PARTITION quarter2 VALUES LESS THAN (7) ENGINE = MyISAM, + PARTITION quarter3 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION quarter4 VALUES LESS THAN (13) ENGINE = MyISAM) */ 12 inserts; insert into t3 values (adddate(19700101000000,interval 12-1 month)); insert into t3 values (adddate(19700101000000,interval 11-1 month)); @@ -1284,7 +1361,14 @@ Table Create Table t4 CREATE TABLE `t4` ( `a` datetime NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (month(a)) SUBPARTITION BY KEY (a) SUBPARTITIONS 3 (PARTITION quarter1 VALUES IN (1,2,3) ENGINE = MyISAM, PARTITION quarter2 VALUES IN (4,5,6) ENGINE = MyISAM, PARTITION quarter3 VALUES IN (7,8,9) ENGINE = MyISAM, PARTITION quarter4 VALUES IN (10,11,12) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (month(a)) +SUBPARTITION BY KEY (a) +SUBPARTITIONS 3 +(PARTITION quarter1 VALUES IN (1,2,3) ENGINE = MyISAM, + PARTITION quarter2 VALUES IN (4,5,6) ENGINE = MyISAM, + PARTITION quarter3 VALUES IN (7,8,9) ENGINE = MyISAM, + PARTITION quarter4 VALUES IN (10,11,12) ENGINE = MyISAM) */ 12 inserts; insert into t4 values (adddate(19700101000000,interval 12-1 month)); insert into t4 values (adddate(19700101000000,interval 11-1 month)); @@ -1327,7 +1411,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` year(4) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values ('1975'), (2020), ('1980'), ('2000'); select * from t1; a @@ -1352,7 +1441,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` year(4) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 12 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 12 */ insert into t2 values ('1975'), ('2020'), ('1980'), ('2000'); select * from t2; a diff --git a/mysql-test/suite/parts/r/partition_decimal_innodb.result b/mysql-test/suite/parts/r/partition_decimal_innodb.result index 3aede5bb09b..70debf3c595 100644 --- a/mysql-test/suite/parts/r/partition_decimal_innodb.result +++ b/mysql-test/suite/parts/r/partition_decimal_innodb.result @@ -9,7 +9,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` decimal(10,4) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values (999999.9999), (-999999.9999), (123456.7899), (-123456.7899), (-1.5), (1), (0), (-1), (1.5), (1234.567), (-1234.567); select * from t1; a @@ -48,7 +53,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` decimal(18,9) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 10 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 10 */ insert into t2 values (999999999.999999999), (-999999999.999999999), (-1.5), (-1), (0), (1.5), (1234.567), (-1234.567); select * from t2; a diff --git a/mysql-test/suite/parts/r/partition_decimal_myisam.result b/mysql-test/suite/parts/r/partition_decimal_myisam.result index 4ed9b94d008..f9f7a1e4fe2 100644 --- a/mysql-test/suite/parts/r/partition_decimal_myisam.result +++ b/mysql-test/suite/parts/r/partition_decimal_myisam.result @@ -9,7 +9,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` decimal(10,4) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values (999999.9999), (-999999.9999), (123456.7899), (-123456.7899), (-1.5), (1), (0), (-1), (1.5), (1234.567), (-1234.567); select * from t1; a @@ -48,7 +53,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` decimal(18,9) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 10 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 10 */ insert into t2 values (999999999.999999999), (-999999999.999999999), (-1.5), (-1), (0), (1.5), (1234.567), (-1234.567); select * from t2; a diff --git a/mysql-test/suite/parts/r/partition_engine_innodb.result b/mysql-test/suite/parts/r/partition_engine_innodb.result index 638b1fc67e6..22ce5d75952 100644 --- a/mysql-test/suite/parts/r/partition_engine_innodb.result +++ b/mysql-test/suite/parts/r/partition_engine_innodb.result @@ -67,7 +67,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -522,7 +524,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part1 ENGINE = InnoDB, + PARTITION part2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -978,7 +983,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (10) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -1495,7 +1508,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (10) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -1988,7 +2009,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (10) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -2442,7 +2471,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (10) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -2896,7 +2933,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part1 ENGINE = InnoDB, + PARTITION part2 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -3352,7 +3392,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (10) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -3809,7 +3857,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (10) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -4259,7 +4315,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part1 ENGINE = InnoDB) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -4711,7 +4769,12 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (1000) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (1000) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 diff --git a/mysql-test/suite/parts/r/partition_engine_myisam.result b/mysql-test/suite/parts/r/partition_engine_myisam.result index 233bffd75b0..41be1ce9303 100644 --- a/mysql-test/suite/parts/r/partition_engine_myisam.result +++ b/mysql-test/suite/parts/r/partition_engine_myisam.result @@ -67,7 +67,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -531,7 +533,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part1 ENGINE = MyISAM, + PARTITION part2 ENGINE = MyISAM) */ unified filelist t1#P#part1.MYD @@ -996,7 +1001,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (10) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -1526,7 +1539,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (10) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -2032,7 +2053,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (10) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -2499,7 +2528,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (10) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -2966,7 +3003,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part1 ENGINE = MyISAM, + PARTITION part2 ENGINE = MyISAM) */ unified filelist t1#P#part1.MYD @@ -3431,7 +3471,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (10) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -3901,7 +3949,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (10) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -4364,7 +4420,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part1 ENGINE = MyISAM) */ unified filelist t1#P#part1.MYD @@ -4823,7 +4881,12 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (1000) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (1000) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD diff --git a/mysql-test/suite/parts/r/partition_engine_ndb.result b/mysql-test/suite/parts/r/partition_engine_ndb.result index 2f184248c18..6662032ef53 100644 --- a/mysql-test/suite/parts/r/partition_engine_ndb.result +++ b/mysql-test/suite/parts/r/partition_engine_ndb.result @@ -67,7 +67,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -521,7 +523,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = ndbcluster, PARTITION part2 ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part1 ENGINE = ndbcluster, + PARTITION part2 ENGINE = ndbcluster) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -976,7 +981,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = ndbcluster, SUBPARTITION subpart12 ENGINE = ndbcluster), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = ndbcluster, SUBPARTITION subpart22 ENGINE = ndbcluster)) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (10) + (SUBPARTITION subpart11 ENGINE = ndbcluster, + SUBPARTITION subpart12 ENGINE = ndbcluster), + PARTITION part2 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart21 ENGINE = ndbcluster, + SUBPARTITION subpart22 ENGINE = ndbcluster)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -1492,7 +1505,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = ndbcluster, SUBPARTITION subpart12 ENGINE = ndbcluster), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = ndbcluster, SUBPARTITION subpart22 ENGINE = ndbcluster)) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (10) + (SUBPARTITION subpart11 ENGINE = ndbcluster, + SUBPARTITION subpart12 ENGINE = ndbcluster), + PARTITION part2 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart21 ENGINE = ndbcluster, + SUBPARTITION subpart22 ENGINE = ndbcluster)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -1984,7 +2005,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = ndbcluster, SUBPARTITION subpart12 ENGINE = ndbcluster), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = ndbcluster, SUBPARTITION subpart22 ENGINE = ndbcluster)) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (10) + (SUBPARTITION subpart11 ENGINE = ndbcluster, + SUBPARTITION subpart12 ENGINE = ndbcluster), + PARTITION part2 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart21 ENGINE = ndbcluster, + SUBPARTITION subpart22 ENGINE = ndbcluster)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -2437,7 +2466,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = ndbcluster, SUBPARTITION subpart12 ENGINE = ndbcluster), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = ndbcluster, SUBPARTITION subpart22 ENGINE = ndbcluster)) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (10) + (SUBPARTITION subpart11 ENGINE = ndbcluster, + SUBPARTITION subpart12 ENGINE = ndbcluster), + PARTITION part2 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart21 ENGINE = ndbcluster, + SUBPARTITION subpart22 ENGINE = ndbcluster)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -2890,7 +2927,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = ndbcluster, PARTITION part2 ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part1 ENGINE = ndbcluster, + PARTITION part2 ENGINE = ndbcluster) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -3345,7 +3385,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = ndbcluster, SUBPARTITION subpart12 ENGINE = ndbcluster), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = ndbcluster, SUBPARTITION subpart22 ENGINE = ndbcluster)) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (10) + (SUBPARTITION subpart11 ENGINE = ndbcluster, + SUBPARTITION subpart12 ENGINE = ndbcluster), + PARTITION part2 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart21 ENGINE = ndbcluster, + SUBPARTITION subpart22 ENGINE = ndbcluster)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -3801,7 +3849,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = ndbcluster, SUBPARTITION subpart12 ENGINE = ndbcluster), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = ndbcluster, SUBPARTITION subpart22 ENGINE = ndbcluster)) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (10) + (SUBPARTITION subpart11 ENGINE = ndbcluster, + SUBPARTITION subpart12 ENGINE = ndbcluster), + PARTITION part2 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart21 ENGINE = ndbcluster, + SUBPARTITION subpart22 ENGINE = ndbcluster)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -4250,7 +4306,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part1 ENGINE = ndbcluster) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 @@ -4703,7 +4761,12 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (1000) (SUBPARTITION subpart11 ENGINE = ndbcluster, SUBPARTITION subpart12 ENGINE = ndbcluster)) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (1000) + (SUBPARTITION subpart11 ENGINE = ndbcluster, + SUBPARTITION subpart12 ENGINE = ndbcluster)) */ # check prerequisites-1 success: 1 # check COUNT(*) success: 1 diff --git a/mysql-test/suite/parts/r/partition_float_innodb.result b/mysql-test/suite/parts/r/partition_float_innodb.result index 8e1e1b51efd..917358dc54a 100644 --- a/mysql-test/suite/parts/r/partition_float_innodb.result +++ b/mysql-test/suite/parts/r/partition_float_innodb.result @@ -9,7 +9,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` float NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values (-3.402823466E+38), (3.402823466E+38), (-1.5), (-1), (0), (1), (1.5); select * from t1; a @@ -40,7 +45,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` float NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 10 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 10 */ insert into t2 values (-3.402823466E+38), (-3.402823466E+37), (-123.456), (0), (1234546.789), (123.456), (1.5); select * from t2; a @@ -92,7 +99,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` double NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values (-2.2250738585072014E+208), (-2.2250738585072014E-208), (-1.5), (-1), (0), (1.5), (1234.567), (2.2250738585072014E+208); select * from t1; a @@ -125,7 +137,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` double NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 10 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 10 */ insert into t2 values (-2.2250738585072014E+208), (-2.2250738585072014E-208), (-1.5), (-1), (0), (1.5), (1234.567), (2.2250738585072014E+208); select * from t2; a diff --git a/mysql-test/suite/parts/r/partition_float_myisam.result b/mysql-test/suite/parts/r/partition_float_myisam.result index 9abd0fb11cd..3f9390f6ba9 100644 --- a/mysql-test/suite/parts/r/partition_float_myisam.result +++ b/mysql-test/suite/parts/r/partition_float_myisam.result @@ -9,7 +9,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` float NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values (-3.402823466E+38), (3.402823466E+38), (-1.5), (-1), (0), (1), (1.5); select * from t1; a @@ -40,7 +45,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` float NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 10 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 10 */ insert into t2 values (-3.402823466E+38), (-3.402823466E+37), (-123.456), (0), (1234546.789), (123.456), (1.5); select * from t2; a @@ -92,7 +99,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` double NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values (-2.2250738585072014E+208), (-2.2250738585072014E-208), (-1.5), (-1), (0), (1.5), (1234.567), (2.2250738585072014E+208); select * from t1; a @@ -125,7 +137,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` double NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 10 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 10 */ insert into t2 values (-2.2250738585072014E+208), (-2.2250738585072014E-208), (-1.5), (-1), (0), (1.5), (1234.567), (2.2250738585072014E+208); select * from t2; a diff --git a/mysql-test/suite/parts/r/partition_int_innodb.result b/mysql-test/suite/parts/r/partition_int_innodb.result index 622f79616b0..7a51b80d5d7 100644 --- a/mysql-test/suite/parts/r/partition_int_innodb.result +++ b/mysql-test/suite/parts/r/partition_int_innodb.result @@ -9,7 +9,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` tinyint(3) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values (255), (254), (253), (252), (1), (2), (128); select * from t1; a @@ -40,7 +45,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` tinyint(3) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 8 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 8 */ insert into t2 values (255), (254), (253), (252); select * from t2; a @@ -70,7 +77,9 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` tinyint(4) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 7 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 7 */ insert into t3 values (127), (126), (125), (124), (-128), (-127), (1), (-1), (0); select * from t3; a @@ -109,7 +118,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` smallint(5) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values (65535), (65534), (65533), (65532), (1), (2), (256); select * from t1; a @@ -140,7 +154,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` smallint(5) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 8 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 8 */ insert into t2 values (65535), (65534), (65533), (65532); select * from t2; a @@ -170,7 +186,9 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` smallint(6) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 7 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 7 */ insert into t3 values (32767), (32766), (32765), (32764), (-32768), (-32767), (1), (-1), (0); select * from t3; a @@ -209,7 +227,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` int(10) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values (4294967295), (4294967294), (4294967293), (4294967292), (1), (2), (65535); select * from t1; a @@ -240,7 +263,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` int(10) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 8 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 8 */ insert into t2 values (4294967295), (4294967294), (4294967293), (4294967292); select * from t2; a @@ -270,7 +295,9 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` int(11) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 7 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 7 */ insert into t3 values (2147483647), (2147483646), (2147483645), (2147483644), (-2147483648), (-2147483647), (1), (-1), (0); select * from t3; a @@ -309,7 +336,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` mediumint(8) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values (16777215), (16777214), (16777213), (16777212), (1), (2), (65535); select * from t1; a @@ -340,7 +372,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` mediumint(8) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 8 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 8 */ insert into t2 values (16777215), (16777214), (16777213), (16777212); select * from t2; a @@ -370,7 +404,9 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` mediumint(9) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 7 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 7 */ insert into t3 values (8388607), (8388606), (8388605), (8388604), (-8388608), (-8388607), (1), (-1), (0); select * from t3; a @@ -409,7 +445,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` bigint(20) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE), (18446744073709551613), (18446744073709551612), (1), (2), (65535); select * from t1; a @@ -452,7 +493,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` bigint(20) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 8 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 8 */ insert into t2 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE), (18446744073709551613), (18446744073709551612); select * from t2; a @@ -482,7 +525,9 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` bigint(20) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 7 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 7 */ insert into t3 values (9223372036854775807), (9223372036854775806), (9223372036854775805), (9223372036854775804), (-9223372036854775808), (-9223372036854775807), (1), (-1), (0); select * from t3; a diff --git a/mysql-test/suite/parts/r/partition_int_myisam.result b/mysql-test/suite/parts/r/partition_int_myisam.result index b9380dcda74..4387bbfdd78 100644 --- a/mysql-test/suite/parts/r/partition_int_myisam.result +++ b/mysql-test/suite/parts/r/partition_int_myisam.result @@ -9,7 +9,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` tinyint(3) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values (255), (254), (253), (252), (1), (2), (128); select * from t1; a @@ -40,7 +45,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` tinyint(3) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 8 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 8 */ insert into t2 values (255), (254), (253), (252); select * from t2; a @@ -70,7 +77,9 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` tinyint(4) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 7 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 7 */ insert into t3 values (127), (126), (125), (124), (-128), (-127), (1), (-1), (0); select * from t3; a @@ -109,7 +118,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` smallint(5) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values (65535), (65534), (65533), (65532), (1), (2), (256); select * from t1; a @@ -140,7 +154,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` smallint(5) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 8 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 8 */ insert into t2 values (65535), (65534), (65533), (65532); select * from t2; a @@ -170,7 +186,9 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` smallint(6) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 7 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 7 */ insert into t3 values (32767), (32766), (32765), (32764), (-32768), (-32767), (1), (-1), (0); select * from t3; a @@ -209,7 +227,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` int(10) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values (4294967295), (4294967294), (4294967293), (4294967292), (1), (2), (65535); select * from t1; a @@ -240,7 +263,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` int(10) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 8 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 8 */ insert into t2 values (4294967295), (4294967294), (4294967293), (4294967292); select * from t2; a @@ -270,7 +295,9 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` int(11) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 7 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 7 */ insert into t3 values (2147483647), (2147483646), (2147483645), (2147483644), (-2147483648), (-2147483647), (1), (-1), (0); select * from t3; a @@ -309,7 +336,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` mediumint(8) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values (16777215), (16777214), (16777213), (16777212), (1), (2), (65535); select * from t1; a @@ -340,7 +372,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` mediumint(8) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 8 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 8 */ insert into t2 values (16777215), (16777214), (16777213), (16777212); select * from t2; a @@ -370,7 +404,9 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` mediumint(9) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 7 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 7 */ insert into t3 values (8388607), (8388606), (8388605), (8388604), (-8388608), (-8388607), (1), (-1), (0); select * from t3; a @@ -409,7 +445,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` bigint(20) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE), (18446744073709551613), (18446744073709551612), (1), (2), (65535); select * from t1; a @@ -452,7 +493,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` bigint(20) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 8 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 8 */ insert into t2 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE), (18446744073709551613), (18446744073709551612); select * from t2; a @@ -482,7 +525,9 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` bigint(20) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 7 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 7 */ insert into t3 values (9223372036854775807), (9223372036854775806), (9223372036854775805), (9223372036854775804), (-9223372036854775808), (-9223372036854775807), (1), (-1), (0); select * from t3; a diff --git a/mysql-test/suite/parts/r/partition_int_ndb.result b/mysql-test/suite/parts/r/partition_int_ndb.result index e7eb19ca6e5..d3c2d80d6b4 100644 --- a/mysql-test/suite/parts/r/partition_int_ndb.result +++ b/mysql-test/suite/parts/r/partition_int_ndb.result @@ -9,7 +9,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` tinyint(3) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = ndbcluster, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = ndbcluster, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = ndbcluster, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = ndbcluster, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = ndbcluster, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = ndbcluster, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = ndbcluster) */ insert into t1 values (255), (254), (253), (252), (1), (2), (128); select * from t1; a @@ -40,7 +45,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` tinyint(3) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 8 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 8 */ insert into t2 values (255), (254), (253), (252); select * from t2; a @@ -70,7 +77,9 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` tinyint(4) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 7 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 7 */ insert into t3 values (127), (126), (125), (124), (-128), (-127), (1), (-1), (0); select * from t3; a @@ -109,7 +118,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` smallint(5) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = ndbcluster, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = ndbcluster, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = ndbcluster, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = ndbcluster, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = ndbcluster, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = ndbcluster, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = ndbcluster) */ insert into t1 values (65535), (65534), (65533), (65532), (1), (2), (256); select * from t1; a @@ -140,7 +154,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` smallint(5) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 8 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 8 */ insert into t2 values (65535), (65534), (65533), (65532); select * from t2; a @@ -170,7 +186,9 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` smallint(6) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 7 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 7 */ insert into t3 values (32767), (32766), (32765), (32764), (-32768), (-32767), (1), (-1), (0); select * from t3; a @@ -209,7 +227,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` int(10) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = ndbcluster, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = ndbcluster, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = ndbcluster, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = ndbcluster, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = ndbcluster, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = ndbcluster, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = ndbcluster) */ insert into t1 values (4294967295), (4294967294), (4294967293), (4294967292), (1), (2), (65535); select * from t1; a @@ -240,7 +263,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` int(10) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 8 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 8 */ insert into t2 values (4294967295), (4294967294), (4294967293), (4294967292); select * from t2; a @@ -270,7 +295,9 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` int(11) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 7 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 7 */ insert into t3 values (2147483647), (2147483646), (2147483645), (2147483644), (-2147483648), (-2147483647), (1), (-1), (0); select * from t3; a @@ -309,7 +336,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` mediumint(8) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = ndbcluster, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = ndbcluster, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = ndbcluster, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = ndbcluster, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = ndbcluster, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = ndbcluster, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = ndbcluster) */ insert into t1 values (16777215), (16777214), (16777213), (16777212), (1), (2), (65535); select * from t1; a @@ -340,7 +372,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` mediumint(8) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 8 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 8 */ insert into t2 values (16777215), (16777214), (16777213), (16777212); select * from t2; a @@ -370,7 +404,9 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` mediumint(9) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 7 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 7 */ insert into t3 values (8388607), (8388606), (8388605), (8388604), (-8388608), (-8388607), (1), (-1), (0); select * from t3; a @@ -409,7 +445,12 @@ Table Create Table t1 CREATE TABLE `t1` ( `a` bigint(20) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = ndbcluster, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = ndbcluster, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = ndbcluster, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = ndbcluster, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = ndbcluster, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = ndbcluster, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = ndbcluster) */ insert into t1 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE), (18446744073709551613), (18446744073709551612), (1), (2), (65535); select * from t1; a @@ -452,7 +493,9 @@ Table Create Table t2 CREATE TABLE `t2` ( `a` bigint(20) unsigned NOT NULL, PRIMARY KEY (`a`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 8 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 8 */ insert into t2 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE), (18446744073709551613), (18446744073709551612); select * from t2; a @@ -482,7 +525,9 @@ Table Create Table t3 CREATE TABLE `t3` ( `a` bigint(20) NOT NULL, PRIMARY KEY (`a`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) PARTITIONS 7 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +PARTITIONS 7 */ insert into t3 values (9223372036854775807), (9223372036854775806), (9223372036854775805), (9223372036854775804), (-9223372036854775808), (-9223372036854775807), (1), (-1), (0); select * from t3; a diff --git a/mysql-test/suite/parts/r/partition_mgm_lc0_archive.result b/mysql-test/suite/parts/r/partition_mgm_lc0_archive.result index 2bb6e7421b1..8fedeaebfcc 100644 --- a/mysql-test/suite/parts/r/partition_mgm_lc0_archive.result +++ b/mysql-test/suite/parts/r/partition_mgm_lc0_archive.result @@ -55,7 +55,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = ARCHIVE, PARTITION partB ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE, PARTITION PartD ENGINE = ARCHIVE, PARTITION partE ENGINE = ARCHIVE, PARTITION Partf ENGINE = ARCHIVE, PARTITION PartG ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = ARCHIVE, + PARTITION partB ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE, + PARTITION PartD ENGINE = ARCHIVE, + PARTITION partE ENGINE = ARCHIVE, + PARTITION Partf ENGINE = ARCHIVE, + PARTITION PartG ENGINE = ARCHIVE) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -75,7 +83,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = ARCHIVE, PARTITION partB ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = ARCHIVE, + PARTITION partB ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -107,7 +119,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -178,7 +194,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = ARCHIVE, PARTITION partB ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE, PARTITION PartD ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = ARCHIVE, + PARTITION partB ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE, + PARTITION PartD ENGINE = ARCHIVE) */ DROP TABLE tablea; # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; @@ -270,7 +291,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = ARCHIVE, PARTITION partB ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE, PARTITION PartD ENGINE = ARCHIVE, PARTITION partE ENGINE = ARCHIVE, PARTITION Partf ENGINE = ARCHIVE, PARTITION PartG ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = ARCHIVE, + PARTITION partB ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE, + PARTITION PartD ENGINE = ARCHIVE, + PARTITION partE ENGINE = ARCHIVE, + PARTITION Partf ENGINE = ARCHIVE, + PARTITION PartG ENGINE = ARCHIVE) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -290,7 +319,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = ARCHIVE, PARTITION partB ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = ARCHIVE, + PARTITION partB ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -322,7 +355,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -393,7 +430,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = ARCHIVE, PARTITION partB ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE, PARTITION PartD ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = ARCHIVE, + PARTITION partB ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE, + PARTITION PartD ENGINE = ARCHIVE) */ DROP TABLE tablea; # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; @@ -475,7 +517,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, PARTITION partB VALUES LESS THAN (7) ENGINE = ARCHIVE, PARTITION Partc VALUES LESS THAN (10) ENGINE = ARCHIVE, PARTITION PartD VALUES LESS THAN (13) ENGINE = ARCHIVE, PARTITION partE VALUES LESS THAN (16) ENGINE = ARCHIVE, PARTITION Partf VALUES LESS THAN (19) ENGINE = ARCHIVE, PARTITION PartG VALUES LESS THAN (22) ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, + PARTITION partB VALUES LESS THAN (7) ENGINE = ARCHIVE, + PARTITION Partc VALUES LESS THAN (10) ENGINE = ARCHIVE, + PARTITION PartD VALUES LESS THAN (13) ENGINE = ARCHIVE, + PARTITION partE VALUES LESS THAN (16) ENGINE = ARCHIVE, + PARTITION Partf VALUES LESS THAN (19) ENGINE = ARCHIVE, + PARTITION PartG VALUES LESS THAN (22) ENGINE = ARCHIVE) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -498,7 +548,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, PARTITION partB VALUES LESS THAN (7) ENGINE = ARCHIVE, PARTITION Partc VALUES LESS THAN (10) ENGINE = ARCHIVE, PARTITION PartD VALUES LESS THAN (13) ENGINE = ARCHIVE, PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, + PARTITION partB VALUES LESS THAN (7) ENGINE = ARCHIVE, + PARTITION Partc VALUES LESS THAN (10) ENGINE = ARCHIVE, + PARTITION PartD VALUES LESS THAN (13) ENGINE = ARCHIVE, + PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = ARCHIVE) */ # Test of REORGANIZE PARTITIONS # Error since it must reorganize a consecutive range ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO @@ -530,7 +586,12 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = ARCHIVE, PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = ARCHIVE, PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, + PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = ARCHIVE, + PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = ARCHIVE, + PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = ARCHIVE) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -601,7 +662,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, PARTITION partB VALUES LESS THAN (7) ENGINE = ARCHIVE, PARTITION Partc VALUES LESS THAN (10) ENGINE = ARCHIVE, PARTITION PartD VALUES LESS THAN (13) ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, + PARTITION partB VALUES LESS THAN (7) ENGINE = ARCHIVE, + PARTITION Partc VALUES LESS THAN (10) ENGINE = ARCHIVE, + PARTITION PartD VALUES LESS THAN (13) ENGINE = ARCHIVE) */ DROP TABLE tablea; # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; @@ -684,7 +750,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = ARCHIVE, PARTITION partB VALUES IN (2,10,11) ENGINE = ARCHIVE, PARTITION Partc VALUES IN (3,4,7) ENGINE = ARCHIVE, PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, PARTITION partE VALUES IN (16) ENGINE = ARCHIVE, PARTITION Partf VALUES IN (19) ENGINE = ARCHIVE, PARTITION PartG VALUES IN (22) ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = ARCHIVE, + PARTITION partB VALUES IN (2,10,11) ENGINE = ARCHIVE, + PARTITION Partc VALUES IN (3,4,7) ENGINE = ARCHIVE, + PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, + PARTITION partE VALUES IN (16) ENGINE = ARCHIVE, + PARTITION Partf VALUES IN (19) ENGINE = ARCHIVE, + PARTITION PartG VALUES IN (22) ENGINE = ARCHIVE) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -707,7 +781,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = ARCHIVE, PARTITION partB VALUES IN (2,10,11) ENGINE = ARCHIVE, PARTITION Partc VALUES IN (3,4,7) ENGINE = ARCHIVE, PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, PARTITION PartE VALUES IN (13) ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = ARCHIVE, + PARTITION partB VALUES IN (2,10,11) ENGINE = ARCHIVE, + PARTITION Partc VALUES IN (3,4,7) ENGINE = ARCHIVE, + PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, + PARTITION PartE VALUES IN (13) ENGINE = ARCHIVE) */ # Test of REORGANIZE PARTITIONS ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO (PARTITION Partc VALUES IN (1,7) @@ -739,7 +819,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = ARCHIVE, PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = ARCHIVE, PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = ARCHIVE, PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, PARTITION PartE VALUES IN (13) ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = ARCHIVE, + PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = ARCHIVE, + PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = ARCHIVE, + PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, + PARTITION PartE VALUES IN (13) ENGINE = ARCHIVE) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -801,7 +887,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = ARCHIVE, PARTITION partB VALUES IN (2,10,11) ENGINE = ARCHIVE, PARTITION Partc VALUES IN (3,4,7) ENGINE = ARCHIVE, PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = ARCHIVE, + PARTITION partB VALUES IN (2,10,11) ENGINE = ARCHIVE, + PARTITION Partc VALUES IN (3,4,7) ENGINE = ARCHIVE, + PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE) */ DROP TABLE tablea; # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; diff --git a/mysql-test/suite/parts/r/partition_mgm_lc0_innodb.result b/mysql-test/suite/parts/r/partition_mgm_lc0_innodb.result index d603dbae9c2..e85cbeba594 100644 --- a/mysql-test/suite/parts/r/partition_mgm_lc0_innodb.result +++ b/mysql-test/suite/parts/r/partition_mgm_lc0_innodb.result @@ -55,7 +55,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = InnoDB, PARTITION partB ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB, PARTITION PartD ENGINE = InnoDB, PARTITION partE ENGINE = InnoDB, PARTITION Partf ENGINE = InnoDB, PARTITION PartG ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = InnoDB, + PARTITION partB ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB, + PARTITION PartD ENGINE = InnoDB, + PARTITION partE ENGINE = InnoDB, + PARTITION Partf ENGINE = InnoDB, + PARTITION PartG ENGINE = InnoDB) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -75,7 +83,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = InnoDB, PARTITION partB ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = InnoDB, + PARTITION partB ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -107,7 +119,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = InnoDB, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = InnoDB, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -182,7 +198,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = InnoDB, PARTITION partB ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB, PARTITION PartD ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = InnoDB, + PARTITION partB ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB, + PARTITION PartD ENGINE = InnoDB) */ DROP TABLE tablea; # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; @@ -270,7 +291,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = InnoDB, PARTITION partB ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB, PARTITION PartD ENGINE = InnoDB, PARTITION partE ENGINE = InnoDB, PARTITION Partf ENGINE = InnoDB, PARTITION PartG ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = InnoDB, + PARTITION partB ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB, + PARTITION PartD ENGINE = InnoDB, + PARTITION partE ENGINE = InnoDB, + PARTITION Partf ENGINE = InnoDB, + PARTITION PartG ENGINE = InnoDB) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -290,7 +319,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = InnoDB, PARTITION partB ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = InnoDB, + PARTITION partB ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -322,7 +355,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = InnoDB, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = InnoDB, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -397,7 +434,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = InnoDB, PARTITION partB ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB, PARTITION PartD ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = InnoDB, + PARTITION partB ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB, + PARTITION PartD ENGINE = InnoDB) */ DROP TABLE tablea; # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; @@ -474,7 +516,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION partB VALUES LESS THAN (7) ENGINE = InnoDB, PARTITION Partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION PartD VALUES LESS THAN (13) ENGINE = InnoDB, PARTITION partE VALUES LESS THAN (16) ENGINE = InnoDB, PARTITION Partf VALUES LESS THAN (19) ENGINE = InnoDB, PARTITION PartG VALUES LESS THAN (22) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, + PARTITION partB VALUES LESS THAN (7) ENGINE = InnoDB, + PARTITION Partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION PartD VALUES LESS THAN (13) ENGINE = InnoDB, + PARTITION partE VALUES LESS THAN (16) ENGINE = InnoDB, + PARTITION Partf VALUES LESS THAN (19) ENGINE = InnoDB, + PARTITION PartG VALUES LESS THAN (22) ENGINE = InnoDB) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -497,7 +547,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION partB VALUES LESS THAN (7) ENGINE = InnoDB, PARTITION Partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION PartD VALUES LESS THAN (13) ENGINE = InnoDB, PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, + PARTITION partB VALUES LESS THAN (7) ENGINE = InnoDB, + PARTITION Partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION PartD VALUES LESS THAN (13) ENGINE = InnoDB, + PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */ # Test of REORGANIZE PARTITIONS # Error since it must reorganize a consecutive range ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO @@ -529,7 +585,12 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = InnoDB, PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = InnoDB, PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, + PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = InnoDB, + PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = InnoDB, + PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = InnoDB) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -604,7 +665,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION partB VALUES LESS THAN (7) ENGINE = InnoDB, PARTITION Partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION PartD VALUES LESS THAN (13) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, + PARTITION partB VALUES LESS THAN (7) ENGINE = InnoDB, + PARTITION Partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION PartD VALUES LESS THAN (13) ENGINE = InnoDB) */ DROP TABLE tablea; # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; @@ -681,7 +747,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = InnoDB, PARTITION partB VALUES IN (2,10,11) ENGINE = InnoDB, PARTITION Partc VALUES IN (3,4,7) ENGINE = InnoDB, PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, PARTITION partE VALUES IN (16) ENGINE = InnoDB, PARTITION Partf VALUES IN (19) ENGINE = InnoDB, PARTITION PartG VALUES IN (22) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = InnoDB, + PARTITION partB VALUES IN (2,10,11) ENGINE = InnoDB, + PARTITION Partc VALUES IN (3,4,7) ENGINE = InnoDB, + PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, + PARTITION partE VALUES IN (16) ENGINE = InnoDB, + PARTITION Partf VALUES IN (19) ENGINE = InnoDB, + PARTITION PartG VALUES IN (22) ENGINE = InnoDB) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -704,7 +778,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = InnoDB, PARTITION partB VALUES IN (2,10,11) ENGINE = InnoDB, PARTITION Partc VALUES IN (3,4,7) ENGINE = InnoDB, PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, PARTITION PartE VALUES IN (13) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = InnoDB, + PARTITION partB VALUES IN (2,10,11) ENGINE = InnoDB, + PARTITION Partc VALUES IN (3,4,7) ENGINE = InnoDB, + PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, + PARTITION PartE VALUES IN (13) ENGINE = InnoDB) */ # Test of REORGANIZE PARTITIONS ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO (PARTITION Partc VALUES IN (1,7) @@ -736,7 +816,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = InnoDB, PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = InnoDB, PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = InnoDB, PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, PARTITION PartE VALUES IN (13) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = InnoDB, + PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = InnoDB, + PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = InnoDB, + PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, + PARTITION PartE VALUES IN (13) ENGINE = InnoDB) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -802,7 +888,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = InnoDB, PARTITION partB VALUES IN (2,10,11) ENGINE = InnoDB, PARTITION Partc VALUES IN (3,4,7) ENGINE = InnoDB, PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = InnoDB, + PARTITION partB VALUES IN (2,10,11) ENGINE = InnoDB, + PARTITION Partc VALUES IN (3,4,7) ENGINE = InnoDB, + PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB) */ DROP TABLE tablea; # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; diff --git a/mysql-test/suite/parts/r/partition_mgm_lc0_memory.result b/mysql-test/suite/parts/r/partition_mgm_lc0_memory.result index 092deae1796..1f7197abe6d 100644 --- a/mysql-test/suite/parts/r/partition_mgm_lc0_memory.result +++ b/mysql-test/suite/parts/r/partition_mgm_lc0_memory.result @@ -55,7 +55,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = MEMORY, PARTITION partB ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY, PARTITION PartD ENGINE = MEMORY, PARTITION partE ENGINE = MEMORY, PARTITION Partf ENGINE = MEMORY, PARTITION PartG ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = MEMORY, + PARTITION partB ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY, + PARTITION PartD ENGINE = MEMORY, + PARTITION partE ENGINE = MEMORY, + PARTITION Partf ENGINE = MEMORY, + PARTITION PartG ENGINE = MEMORY) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -75,7 +83,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = MEMORY, PARTITION partB ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = MEMORY, + PARTITION partB ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -107,7 +119,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MEMORY, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MEMORY, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -182,7 +198,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = MEMORY, PARTITION partB ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY, PARTITION PartD ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = MEMORY, + PARTITION partB ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY, + PARTITION PartD ENGINE = MEMORY) */ DROP TABLE tablea; # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; @@ -270,7 +291,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = MEMORY, PARTITION partB ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY, PARTITION PartD ENGINE = MEMORY, PARTITION partE ENGINE = MEMORY, PARTITION Partf ENGINE = MEMORY, PARTITION PartG ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = MEMORY, + PARTITION partB ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY, + PARTITION PartD ENGINE = MEMORY, + PARTITION partE ENGINE = MEMORY, + PARTITION Partf ENGINE = MEMORY, + PARTITION PartG ENGINE = MEMORY) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -290,7 +319,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = MEMORY, PARTITION partB ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = MEMORY, + PARTITION partB ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -322,7 +355,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MEMORY, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MEMORY, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -397,7 +434,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = MEMORY, PARTITION partB ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY, PARTITION PartD ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = MEMORY, + PARTITION partB ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY, + PARTITION PartD ENGINE = MEMORY) */ DROP TABLE tablea; # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; @@ -474,7 +516,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, PARTITION partB VALUES LESS THAN (7) ENGINE = MEMORY, PARTITION Partc VALUES LESS THAN (10) ENGINE = MEMORY, PARTITION PartD VALUES LESS THAN (13) ENGINE = MEMORY, PARTITION partE VALUES LESS THAN (16) ENGINE = MEMORY, PARTITION Partf VALUES LESS THAN (19) ENGINE = MEMORY, PARTITION PartG VALUES LESS THAN (22) ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, + PARTITION partB VALUES LESS THAN (7) ENGINE = MEMORY, + PARTITION Partc VALUES LESS THAN (10) ENGINE = MEMORY, + PARTITION PartD VALUES LESS THAN (13) ENGINE = MEMORY, + PARTITION partE VALUES LESS THAN (16) ENGINE = MEMORY, + PARTITION Partf VALUES LESS THAN (19) ENGINE = MEMORY, + PARTITION PartG VALUES LESS THAN (22) ENGINE = MEMORY) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -497,7 +547,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, PARTITION partB VALUES LESS THAN (7) ENGINE = MEMORY, PARTITION Partc VALUES LESS THAN (10) ENGINE = MEMORY, PARTITION PartD VALUES LESS THAN (13) ENGINE = MEMORY, PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, + PARTITION partB VALUES LESS THAN (7) ENGINE = MEMORY, + PARTITION Partc VALUES LESS THAN (10) ENGINE = MEMORY, + PARTITION PartD VALUES LESS THAN (13) ENGINE = MEMORY, + PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = MEMORY) */ # Test of REORGANIZE PARTITIONS # Error since it must reorganize a consecutive range ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO @@ -529,7 +585,12 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MEMORY, PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MEMORY, PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, + PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MEMORY, + PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MEMORY, + PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MEMORY) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -604,7 +665,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, PARTITION partB VALUES LESS THAN (7) ENGINE = MEMORY, PARTITION Partc VALUES LESS THAN (10) ENGINE = MEMORY, PARTITION PartD VALUES LESS THAN (13) ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, + PARTITION partB VALUES LESS THAN (7) ENGINE = MEMORY, + PARTITION Partc VALUES LESS THAN (10) ENGINE = MEMORY, + PARTITION PartD VALUES LESS THAN (13) ENGINE = MEMORY) */ DROP TABLE tablea; # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; @@ -681,7 +747,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = MEMORY, PARTITION partB VALUES IN (2,10,11) ENGINE = MEMORY, PARTITION Partc VALUES IN (3,4,7) ENGINE = MEMORY, PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, PARTITION partE VALUES IN (16) ENGINE = MEMORY, PARTITION Partf VALUES IN (19) ENGINE = MEMORY, PARTITION PartG VALUES IN (22) ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = MEMORY, + PARTITION partB VALUES IN (2,10,11) ENGINE = MEMORY, + PARTITION Partc VALUES IN (3,4,7) ENGINE = MEMORY, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, + PARTITION partE VALUES IN (16) ENGINE = MEMORY, + PARTITION Partf VALUES IN (19) ENGINE = MEMORY, + PARTITION PartG VALUES IN (22) ENGINE = MEMORY) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -704,7 +778,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = MEMORY, PARTITION partB VALUES IN (2,10,11) ENGINE = MEMORY, PARTITION Partc VALUES IN (3,4,7) ENGINE = MEMORY, PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, PARTITION PartE VALUES IN (13) ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = MEMORY, + PARTITION partB VALUES IN (2,10,11) ENGINE = MEMORY, + PARTITION Partc VALUES IN (3,4,7) ENGINE = MEMORY, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, + PARTITION PartE VALUES IN (13) ENGINE = MEMORY) */ # Test of REORGANIZE PARTITIONS ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO (PARTITION Partc VALUES IN (1,7) @@ -736,7 +816,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MEMORY, PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MEMORY, PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MEMORY, PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, PARTITION PartE VALUES IN (13) ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MEMORY, + PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MEMORY, + PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MEMORY, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, + PARTITION PartE VALUES IN (13) ENGINE = MEMORY) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -802,7 +888,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = MEMORY, PARTITION partB VALUES IN (2,10,11) ENGINE = MEMORY, PARTITION Partc VALUES IN (3,4,7) ENGINE = MEMORY, PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = MEMORY, + PARTITION partB VALUES IN (2,10,11) ENGINE = MEMORY, + PARTITION Partc VALUES IN (3,4,7) ENGINE = MEMORY, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY) */ DROP TABLE tablea; # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; diff --git a/mysql-test/suite/parts/r/partition_mgm_lc0_myisam.result b/mysql-test/suite/parts/r/partition_mgm_lc0_myisam.result index 046fb40ab35..cb5228bd78e 100644 --- a/mysql-test/suite/parts/r/partition_mgm_lc0_myisam.result +++ b/mysql-test/suite/parts/r/partition_mgm_lc0_myisam.result @@ -55,7 +55,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = MyISAM, PARTITION partB ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM, PARTITION PartD ENGINE = MyISAM, PARTITION partE ENGINE = MyISAM, PARTITION Partf ENGINE = MyISAM, PARTITION PartG ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = MyISAM, + PARTITION partB ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM, + PARTITION PartD ENGINE = MyISAM, + PARTITION partE ENGINE = MyISAM, + PARTITION Partf ENGINE = MyISAM, + PARTITION PartG ENGINE = MyISAM) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -75,7 +83,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = MyISAM, PARTITION partB ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = MyISAM, + PARTITION partB ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -107,7 +119,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MyISAM, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MyISAM, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -182,7 +198,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = MyISAM, PARTITION partB ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM, PARTITION PartD ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = MyISAM, + PARTITION partB ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM, + PARTITION PartD ENGINE = MyISAM) */ DROP TABLE tablea; # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; @@ -270,7 +291,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = MyISAM, PARTITION partB ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM, PARTITION PartD ENGINE = MyISAM, PARTITION partE ENGINE = MyISAM, PARTITION Partf ENGINE = MyISAM, PARTITION PartG ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = MyISAM, + PARTITION partB ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM, + PARTITION PartD ENGINE = MyISAM, + PARTITION partE ENGINE = MyISAM, + PARTITION Partf ENGINE = MyISAM, + PARTITION PartG ENGINE = MyISAM) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -290,7 +319,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = MyISAM, PARTITION partB ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = MyISAM, + PARTITION partB ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -322,7 +355,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MyISAM, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MyISAM, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -397,7 +434,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = MyISAM, PARTITION partB ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM, PARTITION PartD ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = MyISAM, + PARTITION partB ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM, + PARTITION PartD ENGINE = MyISAM) */ DROP TABLE tablea; # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; @@ -474,7 +516,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION partB VALUES LESS THAN (7) ENGINE = MyISAM, PARTITION Partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION PartD VALUES LESS THAN (13) ENGINE = MyISAM, PARTITION partE VALUES LESS THAN (16) ENGINE = MyISAM, PARTITION Partf VALUES LESS THAN (19) ENGINE = MyISAM, PARTITION PartG VALUES LESS THAN (22) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, + PARTITION partB VALUES LESS THAN (7) ENGINE = MyISAM, + PARTITION Partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION PartD VALUES LESS THAN (13) ENGINE = MyISAM, + PARTITION partE VALUES LESS THAN (16) ENGINE = MyISAM, + PARTITION Partf VALUES LESS THAN (19) ENGINE = MyISAM, + PARTITION PartG VALUES LESS THAN (22) ENGINE = MyISAM) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -497,7 +547,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION partB VALUES LESS THAN (7) ENGINE = MyISAM, PARTITION Partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION PartD VALUES LESS THAN (13) ENGINE = MyISAM, PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, + PARTITION partB VALUES LESS THAN (7) ENGINE = MyISAM, + PARTITION Partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION PartD VALUES LESS THAN (13) ENGINE = MyISAM, + PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ # Test of REORGANIZE PARTITIONS # Error since it must reorganize a consecutive range ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO @@ -529,7 +585,12 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MyISAM, PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MyISAM, PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, + PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MyISAM, + PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MyISAM, + PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MyISAM) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -604,7 +665,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION partB VALUES LESS THAN (7) ENGINE = MyISAM, PARTITION Partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION PartD VALUES LESS THAN (13) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, + PARTITION partB VALUES LESS THAN (7) ENGINE = MyISAM, + PARTITION Partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION PartD VALUES LESS THAN (13) ENGINE = MyISAM) */ DROP TABLE tablea; # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; @@ -681,7 +747,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = MyISAM, PARTITION partB VALUES IN (2,10,11) ENGINE = MyISAM, PARTITION Partc VALUES IN (3,4,7) ENGINE = MyISAM, PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, PARTITION partE VALUES IN (16) ENGINE = MyISAM, PARTITION Partf VALUES IN (19) ENGINE = MyISAM, PARTITION PartG VALUES IN (22) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = MyISAM, + PARTITION partB VALUES IN (2,10,11) ENGINE = MyISAM, + PARTITION Partc VALUES IN (3,4,7) ENGINE = MyISAM, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, + PARTITION partE VALUES IN (16) ENGINE = MyISAM, + PARTITION Partf VALUES IN (19) ENGINE = MyISAM, + PARTITION PartG VALUES IN (22) ENGINE = MyISAM) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -704,7 +778,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = MyISAM, PARTITION partB VALUES IN (2,10,11) ENGINE = MyISAM, PARTITION Partc VALUES IN (3,4,7) ENGINE = MyISAM, PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, PARTITION PartE VALUES IN (13) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = MyISAM, + PARTITION partB VALUES IN (2,10,11) ENGINE = MyISAM, + PARTITION Partc VALUES IN (3,4,7) ENGINE = MyISAM, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, + PARTITION PartE VALUES IN (13) ENGINE = MyISAM) */ # Test of REORGANIZE PARTITIONS ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO (PARTITION Partc VALUES IN (1,7) @@ -736,7 +816,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MyISAM, PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MyISAM, PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MyISAM, PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, PARTITION PartE VALUES IN (13) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MyISAM, + PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MyISAM, + PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MyISAM, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, + PARTITION PartE VALUES IN (13) ENGINE = MyISAM) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -802,7 +888,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = MyISAM, PARTITION partB VALUES IN (2,10,11) ENGINE = MyISAM, PARTITION Partc VALUES IN (3,4,7) ENGINE = MyISAM, PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = MyISAM, + PARTITION partB VALUES IN (2,10,11) ENGINE = MyISAM, + PARTITION Partc VALUES IN (3,4,7) ENGINE = MyISAM, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM) */ DROP TABLE tablea; # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; diff --git a/mysql-test/suite/parts/r/partition_mgm_lc0_ndb.result b/mysql-test/suite/parts/r/partition_mgm_lc0_ndb.result index 3d28cedf3bd..a1d0b78aac4 100644 --- a/mysql-test/suite/parts/r/partition_mgm_lc0_ndb.result +++ b/mysql-test/suite/parts/r/partition_mgm_lc0_ndb.result @@ -55,7 +55,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = ndbcluster, PARTITION partB ENGINE = ndbcluster, PARTITION Partc ENGINE = ndbcluster, PARTITION PartD ENGINE = ndbcluster, PARTITION partE ENGINE = ndbcluster, PARTITION Partf ENGINE = ndbcluster, PARTITION PartG ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = ndbcluster, + PARTITION partB ENGINE = ndbcluster, + PARTITION Partc ENGINE = ndbcluster, + PARTITION PartD ENGINE = ndbcluster, + PARTITION partE ENGINE = ndbcluster, + PARTITION Partf ENGINE = ndbcluster, + PARTITION PartG ENGINE = ndbcluster) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -75,7 +83,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = ndbcluster, PARTITION partB ENGINE = ndbcluster, PARTITION Partc ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = ndbcluster, + PARTITION partB ENGINE = ndbcluster, + PARTITION Partc ENGINE = ndbcluster) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -107,7 +119,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ndbcluster, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ndbcluster, PARTITION Partc ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ndbcluster, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ndbcluster, + PARTITION Partc ENGINE = ndbcluster) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; diff --git a/mysql-test/suite/parts/r/partition_mgm_lc1_archive.result b/mysql-test/suite/parts/r/partition_mgm_lc1_archive.result index b1eeed58ffb..f8238bb9382 100644 --- a/mysql-test/suite/parts/r/partition_mgm_lc1_archive.result +++ b/mysql-test/suite/parts/r/partition_mgm_lc1_archive.result @@ -55,7 +55,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = ARCHIVE, PARTITION partB ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE, PARTITION PartD ENGINE = ARCHIVE, PARTITION partE ENGINE = ARCHIVE, PARTITION Partf ENGINE = ARCHIVE, PARTITION PartG ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = ARCHIVE, + PARTITION partB ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE, + PARTITION PartD ENGINE = ARCHIVE, + PARTITION partE ENGINE = ARCHIVE, + PARTITION Partf ENGINE = ARCHIVE, + PARTITION PartG ENGINE = ARCHIVE) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -75,7 +83,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = ARCHIVE, PARTITION partB ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = ARCHIVE, + PARTITION partB ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -107,7 +119,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -175,7 +191,11 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -262,7 +282,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = ARCHIVE, PARTITION partB ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE, PARTITION PartD ENGINE = ARCHIVE, PARTITION partE ENGINE = ARCHIVE, PARTITION Partf ENGINE = ARCHIVE, PARTITION PartG ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = ARCHIVE, + PARTITION partB ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE, + PARTITION PartD ENGINE = ARCHIVE, + PARTITION partE ENGINE = ARCHIVE, + PARTITION Partf ENGINE = ARCHIVE, + PARTITION PartG ENGINE = ARCHIVE) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -282,7 +310,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = ARCHIVE, PARTITION partB ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = ARCHIVE, + PARTITION partB ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -314,7 +346,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -382,7 +418,11 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -458,7 +498,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, PARTITION partB VALUES LESS THAN (7) ENGINE = ARCHIVE, PARTITION Partc VALUES LESS THAN (10) ENGINE = ARCHIVE, PARTITION PartD VALUES LESS THAN (13) ENGINE = ARCHIVE, PARTITION partE VALUES LESS THAN (16) ENGINE = ARCHIVE, PARTITION Partf VALUES LESS THAN (19) ENGINE = ARCHIVE, PARTITION PartG VALUES LESS THAN (22) ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, + PARTITION partB VALUES LESS THAN (7) ENGINE = ARCHIVE, + PARTITION Partc VALUES LESS THAN (10) ENGINE = ARCHIVE, + PARTITION PartD VALUES LESS THAN (13) ENGINE = ARCHIVE, + PARTITION partE VALUES LESS THAN (16) ENGINE = ARCHIVE, + PARTITION Partf VALUES LESS THAN (19) ENGINE = ARCHIVE, + PARTITION PartG VALUES LESS THAN (22) ENGINE = ARCHIVE) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -481,7 +529,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, PARTITION partB VALUES LESS THAN (7) ENGINE = ARCHIVE, PARTITION Partc VALUES LESS THAN (10) ENGINE = ARCHIVE, PARTITION PartD VALUES LESS THAN (13) ENGINE = ARCHIVE, PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, + PARTITION partB VALUES LESS THAN (7) ENGINE = ARCHIVE, + PARTITION Partc VALUES LESS THAN (10) ENGINE = ARCHIVE, + PARTITION PartD VALUES LESS THAN (13) ENGINE = ARCHIVE, + PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = ARCHIVE) */ # Test of REORGANIZE PARTITIONS # Error since it must reorganize a consecutive range ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO @@ -513,7 +567,12 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = ARCHIVE, PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = ARCHIVE, PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, + PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = ARCHIVE, + PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = ARCHIVE, + PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = ARCHIVE) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -581,7 +640,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = ARCHIVE, PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = ARCHIVE, PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, + PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = ARCHIVE, + PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = ARCHIVE, + PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = ARCHIVE) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -657,7 +721,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = ARCHIVE, PARTITION partB VALUES IN (2,10,11) ENGINE = ARCHIVE, PARTITION Partc VALUES IN (3,4,7) ENGINE = ARCHIVE, PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, PARTITION partE VALUES IN (16) ENGINE = ARCHIVE, PARTITION Partf VALUES IN (19) ENGINE = ARCHIVE, PARTITION PartG VALUES IN (22) ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = ARCHIVE, + PARTITION partB VALUES IN (2,10,11) ENGINE = ARCHIVE, + PARTITION Partc VALUES IN (3,4,7) ENGINE = ARCHIVE, + PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, + PARTITION partE VALUES IN (16) ENGINE = ARCHIVE, + PARTITION Partf VALUES IN (19) ENGINE = ARCHIVE, + PARTITION PartG VALUES IN (22) ENGINE = ARCHIVE) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -680,7 +752,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = ARCHIVE, PARTITION partB VALUES IN (2,10,11) ENGINE = ARCHIVE, PARTITION Partc VALUES IN (3,4,7) ENGINE = ARCHIVE, PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, PARTITION PartE VALUES IN (13) ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = ARCHIVE, + PARTITION partB VALUES IN (2,10,11) ENGINE = ARCHIVE, + PARTITION Partc VALUES IN (3,4,7) ENGINE = ARCHIVE, + PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, + PARTITION PartE VALUES IN (13) ENGINE = ARCHIVE) */ # Test of REORGANIZE PARTITIONS ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO (PARTITION Partc VALUES IN (1,7) @@ -712,7 +790,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = ARCHIVE, PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = ARCHIVE, PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = ARCHIVE, PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, PARTITION PartE VALUES IN (13) ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = ARCHIVE, + PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = ARCHIVE, + PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = ARCHIVE, + PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, + PARTITION PartE VALUES IN (13) ENGINE = ARCHIVE) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -771,7 +855,13 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = ARCHIVE, PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = ARCHIVE, PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = ARCHIVE, PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, PARTITION PartE VALUES IN (13) ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = ARCHIVE, + PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = ARCHIVE, + PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = ARCHIVE, + PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, + PARTITION PartE VALUES IN (13) ENGINE = ARCHIVE) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; diff --git a/mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result b/mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result index 910d985c0ea..5f7ccc3ed51 100644 --- a/mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result +++ b/mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result @@ -55,7 +55,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = InnoDB, PARTITION partB ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB, PARTITION PartD ENGINE = InnoDB, PARTITION partE ENGINE = InnoDB, PARTITION Partf ENGINE = InnoDB, PARTITION PartG ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = InnoDB, + PARTITION partB ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB, + PARTITION PartD ENGINE = InnoDB, + PARTITION partE ENGINE = InnoDB, + PARTITION Partf ENGINE = InnoDB, + PARTITION PartG ENGINE = InnoDB) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -75,7 +83,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = InnoDB, PARTITION partB ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = InnoDB, + PARTITION partB ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -107,7 +119,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = InnoDB, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = InnoDB, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -175,7 +191,11 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = InnoDB, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = InnoDB, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -262,7 +282,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = InnoDB, PARTITION partB ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB, PARTITION PartD ENGINE = InnoDB, PARTITION partE ENGINE = InnoDB, PARTITION Partf ENGINE = InnoDB, PARTITION PartG ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = InnoDB, + PARTITION partB ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB, + PARTITION PartD ENGINE = InnoDB, + PARTITION partE ENGINE = InnoDB, + PARTITION Partf ENGINE = InnoDB, + PARTITION PartG ENGINE = InnoDB) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -282,7 +310,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = InnoDB, PARTITION partB ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = InnoDB, + PARTITION partB ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -314,7 +346,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = InnoDB, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = InnoDB, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -382,7 +418,11 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = InnoDB, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = InnoDB, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -458,7 +498,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION partB VALUES LESS THAN (7) ENGINE = InnoDB, PARTITION Partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION PartD VALUES LESS THAN (13) ENGINE = InnoDB, PARTITION partE VALUES LESS THAN (16) ENGINE = InnoDB, PARTITION Partf VALUES LESS THAN (19) ENGINE = InnoDB, PARTITION PartG VALUES LESS THAN (22) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, + PARTITION partB VALUES LESS THAN (7) ENGINE = InnoDB, + PARTITION Partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION PartD VALUES LESS THAN (13) ENGINE = InnoDB, + PARTITION partE VALUES LESS THAN (16) ENGINE = InnoDB, + PARTITION Partf VALUES LESS THAN (19) ENGINE = InnoDB, + PARTITION PartG VALUES LESS THAN (22) ENGINE = InnoDB) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -481,7 +529,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION partB VALUES LESS THAN (7) ENGINE = InnoDB, PARTITION Partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION PartD VALUES LESS THAN (13) ENGINE = InnoDB, PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, + PARTITION partB VALUES LESS THAN (7) ENGINE = InnoDB, + PARTITION Partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION PartD VALUES LESS THAN (13) ENGINE = InnoDB, + PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */ # Test of REORGANIZE PARTITIONS # Error since it must reorganize a consecutive range ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO @@ -513,7 +567,12 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = InnoDB, PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = InnoDB, PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, + PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = InnoDB, + PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = InnoDB, + PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = InnoDB) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -581,7 +640,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = InnoDB, PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = InnoDB, PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, + PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = InnoDB, + PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = InnoDB, + PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = InnoDB) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -657,7 +721,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = InnoDB, PARTITION partB VALUES IN (2,10,11) ENGINE = InnoDB, PARTITION Partc VALUES IN (3,4,7) ENGINE = InnoDB, PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, PARTITION partE VALUES IN (16) ENGINE = InnoDB, PARTITION Partf VALUES IN (19) ENGINE = InnoDB, PARTITION PartG VALUES IN (22) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = InnoDB, + PARTITION partB VALUES IN (2,10,11) ENGINE = InnoDB, + PARTITION Partc VALUES IN (3,4,7) ENGINE = InnoDB, + PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, + PARTITION partE VALUES IN (16) ENGINE = InnoDB, + PARTITION Partf VALUES IN (19) ENGINE = InnoDB, + PARTITION PartG VALUES IN (22) ENGINE = InnoDB) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -680,7 +752,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = InnoDB, PARTITION partB VALUES IN (2,10,11) ENGINE = InnoDB, PARTITION Partc VALUES IN (3,4,7) ENGINE = InnoDB, PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, PARTITION PartE VALUES IN (13) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = InnoDB, + PARTITION partB VALUES IN (2,10,11) ENGINE = InnoDB, + PARTITION Partc VALUES IN (3,4,7) ENGINE = InnoDB, + PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, + PARTITION PartE VALUES IN (13) ENGINE = InnoDB) */ # Test of REORGANIZE PARTITIONS ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO (PARTITION Partc VALUES IN (1,7) @@ -712,7 +790,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = InnoDB, PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = InnoDB, PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = InnoDB, PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, PARTITION PartE VALUES IN (13) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = InnoDB, + PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = InnoDB, + PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = InnoDB, + PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, + PARTITION PartE VALUES IN (13) ENGINE = InnoDB) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -771,7 +855,13 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = InnoDB, PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = InnoDB, PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = InnoDB, PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, PARTITION PartE VALUES IN (13) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = InnoDB, + PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = InnoDB, + PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = InnoDB, + PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, + PARTITION PartE VALUES IN (13) ENGINE = InnoDB) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; diff --git a/mysql-test/suite/parts/r/partition_mgm_lc1_memory.result b/mysql-test/suite/parts/r/partition_mgm_lc1_memory.result index 0c6dfbeff94..c72666f7717 100644 --- a/mysql-test/suite/parts/r/partition_mgm_lc1_memory.result +++ b/mysql-test/suite/parts/r/partition_mgm_lc1_memory.result @@ -55,7 +55,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = MEMORY, PARTITION partB ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY, PARTITION PartD ENGINE = MEMORY, PARTITION partE ENGINE = MEMORY, PARTITION Partf ENGINE = MEMORY, PARTITION PartG ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = MEMORY, + PARTITION partB ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY, + PARTITION PartD ENGINE = MEMORY, + PARTITION partE ENGINE = MEMORY, + PARTITION Partf ENGINE = MEMORY, + PARTITION PartG ENGINE = MEMORY) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -75,7 +83,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = MEMORY, PARTITION partB ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = MEMORY, + PARTITION partB ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -107,7 +119,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MEMORY, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MEMORY, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -175,7 +191,11 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MEMORY, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MEMORY, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -262,7 +282,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = MEMORY, PARTITION partB ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY, PARTITION PartD ENGINE = MEMORY, PARTITION partE ENGINE = MEMORY, PARTITION Partf ENGINE = MEMORY, PARTITION PartG ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = MEMORY, + PARTITION partB ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY, + PARTITION PartD ENGINE = MEMORY, + PARTITION partE ENGINE = MEMORY, + PARTITION Partf ENGINE = MEMORY, + PARTITION PartG ENGINE = MEMORY) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -282,7 +310,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = MEMORY, PARTITION partB ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = MEMORY, + PARTITION partB ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -314,7 +346,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MEMORY, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MEMORY, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -382,7 +418,11 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MEMORY, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MEMORY, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -458,7 +498,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, PARTITION partB VALUES LESS THAN (7) ENGINE = MEMORY, PARTITION Partc VALUES LESS THAN (10) ENGINE = MEMORY, PARTITION PartD VALUES LESS THAN (13) ENGINE = MEMORY, PARTITION partE VALUES LESS THAN (16) ENGINE = MEMORY, PARTITION Partf VALUES LESS THAN (19) ENGINE = MEMORY, PARTITION PartG VALUES LESS THAN (22) ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, + PARTITION partB VALUES LESS THAN (7) ENGINE = MEMORY, + PARTITION Partc VALUES LESS THAN (10) ENGINE = MEMORY, + PARTITION PartD VALUES LESS THAN (13) ENGINE = MEMORY, + PARTITION partE VALUES LESS THAN (16) ENGINE = MEMORY, + PARTITION Partf VALUES LESS THAN (19) ENGINE = MEMORY, + PARTITION PartG VALUES LESS THAN (22) ENGINE = MEMORY) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -481,7 +529,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, PARTITION partB VALUES LESS THAN (7) ENGINE = MEMORY, PARTITION Partc VALUES LESS THAN (10) ENGINE = MEMORY, PARTITION PartD VALUES LESS THAN (13) ENGINE = MEMORY, PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, + PARTITION partB VALUES LESS THAN (7) ENGINE = MEMORY, + PARTITION Partc VALUES LESS THAN (10) ENGINE = MEMORY, + PARTITION PartD VALUES LESS THAN (13) ENGINE = MEMORY, + PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = MEMORY) */ # Test of REORGANIZE PARTITIONS # Error since it must reorganize a consecutive range ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO @@ -513,7 +567,12 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MEMORY, PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MEMORY, PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, + PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MEMORY, + PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MEMORY, + PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MEMORY) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -581,7 +640,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MEMORY, PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MEMORY, PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, + PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MEMORY, + PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MEMORY, + PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MEMORY) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -657,7 +721,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = MEMORY, PARTITION partB VALUES IN (2,10,11) ENGINE = MEMORY, PARTITION Partc VALUES IN (3,4,7) ENGINE = MEMORY, PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, PARTITION partE VALUES IN (16) ENGINE = MEMORY, PARTITION Partf VALUES IN (19) ENGINE = MEMORY, PARTITION PartG VALUES IN (22) ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = MEMORY, + PARTITION partB VALUES IN (2,10,11) ENGINE = MEMORY, + PARTITION Partc VALUES IN (3,4,7) ENGINE = MEMORY, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, + PARTITION partE VALUES IN (16) ENGINE = MEMORY, + PARTITION Partf VALUES IN (19) ENGINE = MEMORY, + PARTITION PartG VALUES IN (22) ENGINE = MEMORY) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -680,7 +752,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = MEMORY, PARTITION partB VALUES IN (2,10,11) ENGINE = MEMORY, PARTITION Partc VALUES IN (3,4,7) ENGINE = MEMORY, PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, PARTITION PartE VALUES IN (13) ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = MEMORY, + PARTITION partB VALUES IN (2,10,11) ENGINE = MEMORY, + PARTITION Partc VALUES IN (3,4,7) ENGINE = MEMORY, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, + PARTITION PartE VALUES IN (13) ENGINE = MEMORY) */ # Test of REORGANIZE PARTITIONS ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO (PARTITION Partc VALUES IN (1,7) @@ -712,7 +790,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MEMORY, PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MEMORY, PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MEMORY, PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, PARTITION PartE VALUES IN (13) ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MEMORY, + PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MEMORY, + PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MEMORY, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, + PARTITION PartE VALUES IN (13) ENGINE = MEMORY) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -771,7 +855,13 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MEMORY, PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MEMORY, PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MEMORY, PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, PARTITION PartE VALUES IN (13) ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MEMORY, + PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MEMORY, + PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MEMORY, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, + PARTITION PartE VALUES IN (13) ENGINE = MEMORY) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; diff --git a/mysql-test/suite/parts/r/partition_mgm_lc1_myisam.result b/mysql-test/suite/parts/r/partition_mgm_lc1_myisam.result index 714ae639e95..66f9f852108 100644 --- a/mysql-test/suite/parts/r/partition_mgm_lc1_myisam.result +++ b/mysql-test/suite/parts/r/partition_mgm_lc1_myisam.result @@ -55,7 +55,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = MyISAM, PARTITION partB ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM, PARTITION PartD ENGINE = MyISAM, PARTITION partE ENGINE = MyISAM, PARTITION Partf ENGINE = MyISAM, PARTITION PartG ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = MyISAM, + PARTITION partB ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM, + PARTITION PartD ENGINE = MyISAM, + PARTITION partE ENGINE = MyISAM, + PARTITION Partf ENGINE = MyISAM, + PARTITION PartG ENGINE = MyISAM) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -75,7 +83,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = MyISAM, PARTITION partB ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = MyISAM, + PARTITION partB ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -107,7 +119,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MyISAM, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MyISAM, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -175,7 +191,11 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MyISAM, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MyISAM, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -262,7 +282,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = MyISAM, PARTITION partB ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM, PARTITION PartD ENGINE = MyISAM, PARTITION partE ENGINE = MyISAM, PARTITION Partf ENGINE = MyISAM, PARTITION PartG ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = MyISAM, + PARTITION partB ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM, + PARTITION PartD ENGINE = MyISAM, + PARTITION partE ENGINE = MyISAM, + PARTITION Partf ENGINE = MyISAM, + PARTITION PartG ENGINE = MyISAM) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -282,7 +310,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = MyISAM, PARTITION partB ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = MyISAM, + PARTITION partB ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -314,7 +346,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MyISAM, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MyISAM, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -382,7 +418,11 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MyISAM, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MyISAM, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -458,7 +498,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION partB VALUES LESS THAN (7) ENGINE = MyISAM, PARTITION Partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION PartD VALUES LESS THAN (13) ENGINE = MyISAM, PARTITION partE VALUES LESS THAN (16) ENGINE = MyISAM, PARTITION Partf VALUES LESS THAN (19) ENGINE = MyISAM, PARTITION PartG VALUES LESS THAN (22) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, + PARTITION partB VALUES LESS THAN (7) ENGINE = MyISAM, + PARTITION Partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION PartD VALUES LESS THAN (13) ENGINE = MyISAM, + PARTITION partE VALUES LESS THAN (16) ENGINE = MyISAM, + PARTITION Partf VALUES LESS THAN (19) ENGINE = MyISAM, + PARTITION PartG VALUES LESS THAN (22) ENGINE = MyISAM) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -481,7 +529,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION partB VALUES LESS THAN (7) ENGINE = MyISAM, PARTITION Partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION PartD VALUES LESS THAN (13) ENGINE = MyISAM, PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, + PARTITION partB VALUES LESS THAN (7) ENGINE = MyISAM, + PARTITION Partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION PartD VALUES LESS THAN (13) ENGINE = MyISAM, + PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ # Test of REORGANIZE PARTITIONS # Error since it must reorganize a consecutive range ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO @@ -513,7 +567,12 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MyISAM, PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MyISAM, PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, + PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MyISAM, + PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MyISAM, + PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MyISAM) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -581,7 +640,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MyISAM, PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MyISAM, PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, + PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MyISAM, + PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MyISAM, + PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MyISAM) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -657,7 +721,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = MyISAM, PARTITION partB VALUES IN (2,10,11) ENGINE = MyISAM, PARTITION Partc VALUES IN (3,4,7) ENGINE = MyISAM, PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, PARTITION partE VALUES IN (16) ENGINE = MyISAM, PARTITION Partf VALUES IN (19) ENGINE = MyISAM, PARTITION PartG VALUES IN (22) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = MyISAM, + PARTITION partB VALUES IN (2,10,11) ENGINE = MyISAM, + PARTITION Partc VALUES IN (3,4,7) ENGINE = MyISAM, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, + PARTITION partE VALUES IN (16) ENGINE = MyISAM, + PARTITION Partf VALUES IN (19) ENGINE = MyISAM, + PARTITION PartG VALUES IN (22) ENGINE = MyISAM) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -680,7 +752,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = MyISAM, PARTITION partB VALUES IN (2,10,11) ENGINE = MyISAM, PARTITION Partc VALUES IN (3,4,7) ENGINE = MyISAM, PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, PARTITION PartE VALUES IN (13) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = MyISAM, + PARTITION partB VALUES IN (2,10,11) ENGINE = MyISAM, + PARTITION Partc VALUES IN (3,4,7) ENGINE = MyISAM, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, + PARTITION PartE VALUES IN (13) ENGINE = MyISAM) */ # Test of REORGANIZE PARTITIONS ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO (PARTITION Partc VALUES IN (1,7) @@ -712,7 +790,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MyISAM, PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MyISAM, PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MyISAM, PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, PARTITION PartE VALUES IN (13) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MyISAM, + PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MyISAM, + PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MyISAM, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, + PARTITION PartE VALUES IN (13) ENGINE = MyISAM) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -771,7 +855,13 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MyISAM, PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MyISAM, PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MyISAM, PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, PARTITION PartE VALUES IN (13) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MyISAM, + PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MyISAM, + PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MyISAM, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, + PARTITION PartE VALUES IN (13) ENGINE = MyISAM) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; diff --git a/mysql-test/suite/parts/r/partition_mgm_lc1_ndb.result b/mysql-test/suite/parts/r/partition_mgm_lc1_ndb.result index 3bf9b073c80..c27f769ad72 100644 --- a/mysql-test/suite/parts/r/partition_mgm_lc1_ndb.result +++ b/mysql-test/suite/parts/r/partition_mgm_lc1_ndb.result @@ -55,7 +55,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = ndbcluster, PARTITION partB ENGINE = ndbcluster, PARTITION Partc ENGINE = ndbcluster, PARTITION PartD ENGINE = ndbcluster, PARTITION partE ENGINE = ndbcluster, PARTITION Partf ENGINE = ndbcluster, PARTITION PartG ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = ndbcluster, + PARTITION partB ENGINE = ndbcluster, + PARTITION Partc ENGINE = ndbcluster, + PARTITION PartD ENGINE = ndbcluster, + PARTITION partE ENGINE = ndbcluster, + PARTITION Partf ENGINE = ndbcluster, + PARTITION PartG ENGINE = ndbcluster) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -75,7 +83,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = ndbcluster, PARTITION partB ENGINE = ndbcluster, PARTITION Partc ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = ndbcluster, + PARTITION partB ENGINE = ndbcluster, + PARTITION Partc ENGINE = ndbcluster) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -107,7 +119,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ndbcluster, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ndbcluster, PARTITION Partc ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ndbcluster, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ndbcluster, + PARTITION Partc ENGINE = ndbcluster) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -175,7 +191,11 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ndbcluster, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ndbcluster, PARTITION Partc ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ndbcluster, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ndbcluster, + PARTITION Partc ENGINE = ndbcluster) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; diff --git a/mysql-test/suite/parts/r/partition_mgm_lc2_archive.result b/mysql-test/suite/parts/r/partition_mgm_lc2_archive.result index cdc278f36cd..70020ee54a6 100644 --- a/mysql-test/suite/parts/r/partition_mgm_lc2_archive.result +++ b/mysql-test/suite/parts/r/partition_mgm_lc2_archive.result @@ -55,7 +55,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = ARCHIVE, PARTITION partB ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE, PARTITION PartD ENGINE = ARCHIVE, PARTITION partE ENGINE = ARCHIVE, PARTITION Partf ENGINE = ARCHIVE, PARTITION PartG ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = ARCHIVE, + PARTITION partB ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE, + PARTITION PartD ENGINE = ARCHIVE, + PARTITION partE ENGINE = ARCHIVE, + PARTITION Partf ENGINE = ARCHIVE, + PARTITION PartG ENGINE = ARCHIVE) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -75,7 +83,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = ARCHIVE, PARTITION partB ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = ARCHIVE, + PARTITION partB ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -107,7 +119,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -175,7 +191,11 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -262,7 +282,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = ARCHIVE, PARTITION partB ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE, PARTITION PartD ENGINE = ARCHIVE, PARTITION partE ENGINE = ARCHIVE, PARTITION Partf ENGINE = ARCHIVE, PARTITION PartG ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = ARCHIVE, + PARTITION partB ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE, + PARTITION PartD ENGINE = ARCHIVE, + PARTITION partE ENGINE = ARCHIVE, + PARTITION Partf ENGINE = ARCHIVE, + PARTITION PartG ENGINE = ARCHIVE) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -282,7 +310,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = ARCHIVE, PARTITION partB ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = ARCHIVE, + PARTITION partB ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -314,7 +346,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -382,7 +418,11 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE, PARTITION Partc ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE, + PARTITION Partc ENGINE = ARCHIVE) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -458,7 +498,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, PARTITION partB VALUES LESS THAN (7) ENGINE = ARCHIVE, PARTITION Partc VALUES LESS THAN (10) ENGINE = ARCHIVE, PARTITION PartD VALUES LESS THAN (13) ENGINE = ARCHIVE, PARTITION partE VALUES LESS THAN (16) ENGINE = ARCHIVE, PARTITION Partf VALUES LESS THAN (19) ENGINE = ARCHIVE, PARTITION PartG VALUES LESS THAN (22) ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, + PARTITION partB VALUES LESS THAN (7) ENGINE = ARCHIVE, + PARTITION Partc VALUES LESS THAN (10) ENGINE = ARCHIVE, + PARTITION PartD VALUES LESS THAN (13) ENGINE = ARCHIVE, + PARTITION partE VALUES LESS THAN (16) ENGINE = ARCHIVE, + PARTITION Partf VALUES LESS THAN (19) ENGINE = ARCHIVE, + PARTITION PartG VALUES LESS THAN (22) ENGINE = ARCHIVE) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -481,7 +529,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, PARTITION partB VALUES LESS THAN (7) ENGINE = ARCHIVE, PARTITION Partc VALUES LESS THAN (10) ENGINE = ARCHIVE, PARTITION PartD VALUES LESS THAN (13) ENGINE = ARCHIVE, PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, + PARTITION partB VALUES LESS THAN (7) ENGINE = ARCHIVE, + PARTITION Partc VALUES LESS THAN (10) ENGINE = ARCHIVE, + PARTITION PartD VALUES LESS THAN (13) ENGINE = ARCHIVE, + PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = ARCHIVE) */ # Test of REORGANIZE PARTITIONS # Error since it must reorganize a consecutive range ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO @@ -513,7 +567,12 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = ARCHIVE, PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = ARCHIVE, PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, + PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = ARCHIVE, + PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = ARCHIVE, + PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = ARCHIVE) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -581,7 +640,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = ARCHIVE, PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = ARCHIVE, PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE, + PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = ARCHIVE, + PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = ARCHIVE, + PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = ARCHIVE) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -657,7 +721,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = ARCHIVE, PARTITION partB VALUES IN (2,10,11) ENGINE = ARCHIVE, PARTITION Partc VALUES IN (3,4,7) ENGINE = ARCHIVE, PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, PARTITION partE VALUES IN (16) ENGINE = ARCHIVE, PARTITION Partf VALUES IN (19) ENGINE = ARCHIVE, PARTITION PartG VALUES IN (22) ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = ARCHIVE, + PARTITION partB VALUES IN (2,10,11) ENGINE = ARCHIVE, + PARTITION Partc VALUES IN (3,4,7) ENGINE = ARCHIVE, + PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, + PARTITION partE VALUES IN (16) ENGINE = ARCHIVE, + PARTITION Partf VALUES IN (19) ENGINE = ARCHIVE, + PARTITION PartG VALUES IN (22) ENGINE = ARCHIVE) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -680,7 +752,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = ARCHIVE, PARTITION partB VALUES IN (2,10,11) ENGINE = ARCHIVE, PARTITION Partc VALUES IN (3,4,7) ENGINE = ARCHIVE, PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, PARTITION PartE VALUES IN (13) ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = ARCHIVE, + PARTITION partB VALUES IN (2,10,11) ENGINE = ARCHIVE, + PARTITION Partc VALUES IN (3,4,7) ENGINE = ARCHIVE, + PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, + PARTITION PartE VALUES IN (13) ENGINE = ARCHIVE) */ # Test of REORGANIZE PARTITIONS ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO (PARTITION Partc VALUES IN (1,7) @@ -712,7 +790,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = ARCHIVE, PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = ARCHIVE, PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = ARCHIVE, PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, PARTITION PartE VALUES IN (13) ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = ARCHIVE, + PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = ARCHIVE, + PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = ARCHIVE, + PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, + PARTITION PartE VALUES IN (13) ENGINE = ARCHIVE) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -771,7 +855,13 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = ARCHIVE, PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = ARCHIVE, PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = ARCHIVE, PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, PARTITION PartE VALUES IN (13) ENGINE = ARCHIVE) */ +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = ARCHIVE, + PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = ARCHIVE, + PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = ARCHIVE, + PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE, + PARTITION PartE VALUES IN (13) ENGINE = ARCHIVE) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; diff --git a/mysql-test/suite/parts/r/partition_mgm_lc2_innodb.result b/mysql-test/suite/parts/r/partition_mgm_lc2_innodb.result index 6a71a2e2f44..7392056b7a5 100644 --- a/mysql-test/suite/parts/r/partition_mgm_lc2_innodb.result +++ b/mysql-test/suite/parts/r/partition_mgm_lc2_innodb.result @@ -55,7 +55,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = InnoDB, PARTITION partB ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB, PARTITION PartD ENGINE = InnoDB, PARTITION partE ENGINE = InnoDB, PARTITION Partf ENGINE = InnoDB, PARTITION PartG ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = InnoDB, + PARTITION partB ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB, + PARTITION PartD ENGINE = InnoDB, + PARTITION partE ENGINE = InnoDB, + PARTITION Partf ENGINE = InnoDB, + PARTITION PartG ENGINE = InnoDB) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -75,7 +83,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = InnoDB, PARTITION partB ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = InnoDB, + PARTITION partB ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -107,7 +119,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = InnoDB, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = InnoDB, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -175,7 +191,11 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = InnoDB, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = InnoDB, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -262,7 +282,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = InnoDB, PARTITION partB ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB, PARTITION PartD ENGINE = InnoDB, PARTITION partE ENGINE = InnoDB, PARTITION Partf ENGINE = InnoDB, PARTITION PartG ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = InnoDB, + PARTITION partB ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB, + PARTITION PartD ENGINE = InnoDB, + PARTITION partE ENGINE = InnoDB, + PARTITION Partf ENGINE = InnoDB, + PARTITION PartG ENGINE = InnoDB) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -282,7 +310,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = InnoDB, PARTITION partB ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = InnoDB, + PARTITION partB ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -314,7 +346,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = InnoDB, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = InnoDB, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -382,7 +418,11 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = InnoDB, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = InnoDB, PARTITION Partc ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = InnoDB, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = InnoDB, + PARTITION Partc ENGINE = InnoDB) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -458,7 +498,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION partB VALUES LESS THAN (7) ENGINE = InnoDB, PARTITION Partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION PartD VALUES LESS THAN (13) ENGINE = InnoDB, PARTITION partE VALUES LESS THAN (16) ENGINE = InnoDB, PARTITION Partf VALUES LESS THAN (19) ENGINE = InnoDB, PARTITION PartG VALUES LESS THAN (22) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, + PARTITION partB VALUES LESS THAN (7) ENGINE = InnoDB, + PARTITION Partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION PartD VALUES LESS THAN (13) ENGINE = InnoDB, + PARTITION partE VALUES LESS THAN (16) ENGINE = InnoDB, + PARTITION Partf VALUES LESS THAN (19) ENGINE = InnoDB, + PARTITION PartG VALUES LESS THAN (22) ENGINE = InnoDB) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -481,7 +529,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION partB VALUES LESS THAN (7) ENGINE = InnoDB, PARTITION Partc VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION PartD VALUES LESS THAN (13) ENGINE = InnoDB, PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, + PARTITION partB VALUES LESS THAN (7) ENGINE = InnoDB, + PARTITION Partc VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION PartD VALUES LESS THAN (13) ENGINE = InnoDB, + PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */ # Test of REORGANIZE PARTITIONS # Error since it must reorganize a consecutive range ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO @@ -513,7 +567,12 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = InnoDB, PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = InnoDB, PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, + PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = InnoDB, + PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = InnoDB, + PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = InnoDB) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -581,7 +640,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = InnoDB, PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = InnoDB, PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = InnoDB, + PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = InnoDB, + PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = InnoDB, + PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = InnoDB) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -657,7 +721,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = InnoDB, PARTITION partB VALUES IN (2,10,11) ENGINE = InnoDB, PARTITION Partc VALUES IN (3,4,7) ENGINE = InnoDB, PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, PARTITION partE VALUES IN (16) ENGINE = InnoDB, PARTITION Partf VALUES IN (19) ENGINE = InnoDB, PARTITION PartG VALUES IN (22) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = InnoDB, + PARTITION partB VALUES IN (2,10,11) ENGINE = InnoDB, + PARTITION Partc VALUES IN (3,4,7) ENGINE = InnoDB, + PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, + PARTITION partE VALUES IN (16) ENGINE = InnoDB, + PARTITION Partf VALUES IN (19) ENGINE = InnoDB, + PARTITION PartG VALUES IN (22) ENGINE = InnoDB) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -680,7 +752,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = InnoDB, PARTITION partB VALUES IN (2,10,11) ENGINE = InnoDB, PARTITION Partc VALUES IN (3,4,7) ENGINE = InnoDB, PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, PARTITION PartE VALUES IN (13) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = InnoDB, + PARTITION partB VALUES IN (2,10,11) ENGINE = InnoDB, + PARTITION Partc VALUES IN (3,4,7) ENGINE = InnoDB, + PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, + PARTITION PartE VALUES IN (13) ENGINE = InnoDB) */ # Test of REORGANIZE PARTITIONS ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO (PARTITION Partc VALUES IN (1,7) @@ -712,7 +790,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = InnoDB, PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = InnoDB, PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = InnoDB, PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, PARTITION PartE VALUES IN (13) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = InnoDB, + PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = InnoDB, + PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = InnoDB, + PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, + PARTITION PartE VALUES IN (13) ENGINE = InnoDB) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -771,7 +855,13 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = InnoDB, PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = InnoDB, PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = InnoDB, PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, PARTITION PartE VALUES IN (13) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = InnoDB, + PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = InnoDB, + PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = InnoDB, + PARTITION PartD VALUES IN (5,6,12) ENGINE = InnoDB, + PARTITION PartE VALUES IN (13) ENGINE = InnoDB) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; diff --git a/mysql-test/suite/parts/r/partition_mgm_lc2_memory.result b/mysql-test/suite/parts/r/partition_mgm_lc2_memory.result index 988f60042e5..a71bbfea5e3 100644 --- a/mysql-test/suite/parts/r/partition_mgm_lc2_memory.result +++ b/mysql-test/suite/parts/r/partition_mgm_lc2_memory.result @@ -55,7 +55,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = MEMORY, PARTITION partB ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY, PARTITION PartD ENGINE = MEMORY, PARTITION partE ENGINE = MEMORY, PARTITION Partf ENGINE = MEMORY, PARTITION PartG ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = MEMORY, + PARTITION partB ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY, + PARTITION PartD ENGINE = MEMORY, + PARTITION partE ENGINE = MEMORY, + PARTITION Partf ENGINE = MEMORY, + PARTITION PartG ENGINE = MEMORY) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -75,7 +83,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = MEMORY, PARTITION partB ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = MEMORY, + PARTITION partB ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -107,7 +119,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MEMORY, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MEMORY, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -175,7 +191,11 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MEMORY, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MEMORY, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -262,7 +282,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = MEMORY, PARTITION partB ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY, PARTITION PartD ENGINE = MEMORY, PARTITION partE ENGINE = MEMORY, PARTITION Partf ENGINE = MEMORY, PARTITION PartG ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = MEMORY, + PARTITION partB ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY, + PARTITION PartD ENGINE = MEMORY, + PARTITION partE ENGINE = MEMORY, + PARTITION Partf ENGINE = MEMORY, + PARTITION PartG ENGINE = MEMORY) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -282,7 +310,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = MEMORY, PARTITION partB ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = MEMORY, + PARTITION partB ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -314,7 +346,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MEMORY, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MEMORY, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -382,7 +418,11 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MEMORY, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MEMORY, PARTITION Partc ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MEMORY, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MEMORY, + PARTITION Partc ENGINE = MEMORY) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -458,7 +498,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, PARTITION partB VALUES LESS THAN (7) ENGINE = MEMORY, PARTITION Partc VALUES LESS THAN (10) ENGINE = MEMORY, PARTITION PartD VALUES LESS THAN (13) ENGINE = MEMORY, PARTITION partE VALUES LESS THAN (16) ENGINE = MEMORY, PARTITION Partf VALUES LESS THAN (19) ENGINE = MEMORY, PARTITION PartG VALUES LESS THAN (22) ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, + PARTITION partB VALUES LESS THAN (7) ENGINE = MEMORY, + PARTITION Partc VALUES LESS THAN (10) ENGINE = MEMORY, + PARTITION PartD VALUES LESS THAN (13) ENGINE = MEMORY, + PARTITION partE VALUES LESS THAN (16) ENGINE = MEMORY, + PARTITION Partf VALUES LESS THAN (19) ENGINE = MEMORY, + PARTITION PartG VALUES LESS THAN (22) ENGINE = MEMORY) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -481,7 +529,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, PARTITION partB VALUES LESS THAN (7) ENGINE = MEMORY, PARTITION Partc VALUES LESS THAN (10) ENGINE = MEMORY, PARTITION PartD VALUES LESS THAN (13) ENGINE = MEMORY, PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, + PARTITION partB VALUES LESS THAN (7) ENGINE = MEMORY, + PARTITION Partc VALUES LESS THAN (10) ENGINE = MEMORY, + PARTITION PartD VALUES LESS THAN (13) ENGINE = MEMORY, + PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = MEMORY) */ # Test of REORGANIZE PARTITIONS # Error since it must reorganize a consecutive range ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO @@ -513,7 +567,12 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MEMORY, PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MEMORY, PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, + PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MEMORY, + PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MEMORY, + PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MEMORY) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -581,7 +640,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MEMORY, PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MEMORY, PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MEMORY, + PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MEMORY, + PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MEMORY, + PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MEMORY) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -657,7 +721,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = MEMORY, PARTITION partB VALUES IN (2,10,11) ENGINE = MEMORY, PARTITION Partc VALUES IN (3,4,7) ENGINE = MEMORY, PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, PARTITION partE VALUES IN (16) ENGINE = MEMORY, PARTITION Partf VALUES IN (19) ENGINE = MEMORY, PARTITION PartG VALUES IN (22) ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = MEMORY, + PARTITION partB VALUES IN (2,10,11) ENGINE = MEMORY, + PARTITION Partc VALUES IN (3,4,7) ENGINE = MEMORY, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, + PARTITION partE VALUES IN (16) ENGINE = MEMORY, + PARTITION Partf VALUES IN (19) ENGINE = MEMORY, + PARTITION PartG VALUES IN (22) ENGINE = MEMORY) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -680,7 +752,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = MEMORY, PARTITION partB VALUES IN (2,10,11) ENGINE = MEMORY, PARTITION Partc VALUES IN (3,4,7) ENGINE = MEMORY, PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, PARTITION PartE VALUES IN (13) ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = MEMORY, + PARTITION partB VALUES IN (2,10,11) ENGINE = MEMORY, + PARTITION Partc VALUES IN (3,4,7) ENGINE = MEMORY, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, + PARTITION PartE VALUES IN (13) ENGINE = MEMORY) */ # Test of REORGANIZE PARTITIONS ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO (PARTITION Partc VALUES IN (1,7) @@ -712,7 +790,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MEMORY, PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MEMORY, PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MEMORY, PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, PARTITION PartE VALUES IN (13) ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MEMORY, + PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MEMORY, + PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MEMORY, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, + PARTITION PartE VALUES IN (13) ENGINE = MEMORY) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -771,7 +855,13 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MEMORY, PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MEMORY, PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MEMORY, PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, PARTITION PartE VALUES IN (13) ENGINE = MEMORY) */ +) ENGINE=MEMORY DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MEMORY, + PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MEMORY, + PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MEMORY, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MEMORY, + PARTITION PartE VALUES IN (13) ENGINE = MEMORY) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; diff --git a/mysql-test/suite/parts/r/partition_mgm_lc2_myisam.result b/mysql-test/suite/parts/r/partition_mgm_lc2_myisam.result index c586347f23c..92b64e4d26c 100644 --- a/mysql-test/suite/parts/r/partition_mgm_lc2_myisam.result +++ b/mysql-test/suite/parts/r/partition_mgm_lc2_myisam.result @@ -55,7 +55,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = MyISAM, PARTITION partB ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM, PARTITION PartD ENGINE = MyISAM, PARTITION partE ENGINE = MyISAM, PARTITION Partf ENGINE = MyISAM, PARTITION PartG ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = MyISAM, + PARTITION partB ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM, + PARTITION PartD ENGINE = MyISAM, + PARTITION partE ENGINE = MyISAM, + PARTITION Partf ENGINE = MyISAM, + PARTITION PartG ENGINE = MyISAM) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -75,7 +83,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = MyISAM, PARTITION partB ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = MyISAM, + PARTITION partB ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -107,7 +119,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MyISAM, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MyISAM, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -175,7 +191,11 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MyISAM, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MyISAM, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -262,7 +282,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = MyISAM, PARTITION partB ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM, PARTITION PartD ENGINE = MyISAM, PARTITION partE ENGINE = MyISAM, PARTITION Partf ENGINE = MyISAM, PARTITION PartG ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = MyISAM, + PARTITION partB ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM, + PARTITION PartD ENGINE = MyISAM, + PARTITION partE ENGINE = MyISAM, + PARTITION Partf ENGINE = MyISAM, + PARTITION PartG ENGINE = MyISAM) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -282,7 +310,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION parta ENGINE = MyISAM, PARTITION partB ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION parta ENGINE = MyISAM, + PARTITION partB ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -314,7 +346,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MyISAM, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MyISAM, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -382,7 +418,11 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MyISAM, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MyISAM, PARTITION Partc ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = MyISAM, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = MyISAM, + PARTITION Partc ENGINE = MyISAM) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -458,7 +498,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION partB VALUES LESS THAN (7) ENGINE = MyISAM, PARTITION Partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION PartD VALUES LESS THAN (13) ENGINE = MyISAM, PARTITION partE VALUES LESS THAN (16) ENGINE = MyISAM, PARTITION Partf VALUES LESS THAN (19) ENGINE = MyISAM, PARTITION PartG VALUES LESS THAN (22) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, + PARTITION partB VALUES LESS THAN (7) ENGINE = MyISAM, + PARTITION Partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION PartD VALUES LESS THAN (13) ENGINE = MyISAM, + PARTITION partE VALUES LESS THAN (16) ENGINE = MyISAM, + PARTITION Partf VALUES LESS THAN (19) ENGINE = MyISAM, + PARTITION PartG VALUES LESS THAN (22) ENGINE = MyISAM) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -481,7 +529,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION partB VALUES LESS THAN (7) ENGINE = MyISAM, PARTITION Partc VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION PartD VALUES LESS THAN (13) ENGINE = MyISAM, PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, + PARTITION partB VALUES LESS THAN (7) ENGINE = MyISAM, + PARTITION Partc VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION PartD VALUES LESS THAN (13) ENGINE = MyISAM, + PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ # Test of REORGANIZE PARTITIONS # Error since it must reorganize a consecutive range ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO @@ -513,7 +567,12 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MyISAM, PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MyISAM, PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, + PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MyISAM, + PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MyISAM, + PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MyISAM) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -581,7 +640,12 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (a) (PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MyISAM, PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MyISAM, PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (a) +(PARTITION parta VALUES LESS THAN (4) ENGINE = MyISAM, + PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MyISAM, + PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MyISAM, + PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MyISAM) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; @@ -657,7 +721,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = MyISAM, PARTITION partB VALUES IN (2,10,11) ENGINE = MyISAM, PARTITION Partc VALUES IN (3,4,7) ENGINE = MyISAM, PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, PARTITION partE VALUES IN (16) ENGINE = MyISAM, PARTITION Partf VALUES IN (19) ENGINE = MyISAM, PARTITION PartG VALUES IN (22) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = MyISAM, + PARTITION partB VALUES IN (2,10,11) ENGINE = MyISAM, + PARTITION Partc VALUES IN (3,4,7) ENGINE = MyISAM, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, + PARTITION partE VALUES IN (16) ENGINE = MyISAM, + PARTITION Partf VALUES IN (19) ENGINE = MyISAM, + PARTITION PartG VALUES IN (22) ENGINE = MyISAM) */ ALTER TABLE TableA DROP PARTITION partE, PartG; ALTER TABLE TableA DROP PARTITION Partf; ALTER TABLE TableA ADD PARTITION @@ -680,7 +752,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION parta VALUES IN (1,8,9) ENGINE = MyISAM, PARTITION partB VALUES IN (2,10,11) ENGINE = MyISAM, PARTITION Partc VALUES IN (3,4,7) ENGINE = MyISAM, PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, PARTITION PartE VALUES IN (13) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION parta VALUES IN (1,8,9) ENGINE = MyISAM, + PARTITION partB VALUES IN (2,10,11) ENGINE = MyISAM, + PARTITION Partc VALUES IN (3,4,7) ENGINE = MyISAM, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, + PARTITION PartE VALUES IN (13) ENGINE = MyISAM) */ # Test of REORGANIZE PARTITIONS ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO (PARTITION Partc VALUES IN (1,7) @@ -712,7 +790,13 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MyISAM, PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MyISAM, PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MyISAM, PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, PARTITION PartE VALUES IN (13) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MyISAM, + PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MyISAM, + PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MyISAM, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, + PARTITION PartE VALUES IN (13) ENGINE = MyISAM) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -771,7 +855,13 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MyISAM, PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MyISAM, PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MyISAM, PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, PARTITION PartE VALUES IN (13) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (a) +(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MyISAM, + PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MyISAM, + PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MyISAM, + PARTITION PartD VALUES IN (5,6,12) ENGINE = MyISAM, + PARTITION PartE VALUES IN (13) ENGINE = MyISAM) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; diff --git a/mysql-test/suite/parts/r/partition_mgm_lc2_ndb.result b/mysql-test/suite/parts/r/partition_mgm_lc2_ndb.result index 1c9952370f0..b234de0efdb 100644 --- a/mysql-test/suite/parts/r/partition_mgm_lc2_ndb.result +++ b/mysql-test/suite/parts/r/partition_mgm_lc2_ndb.result @@ -55,7 +55,15 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = ndbcluster, PARTITION partB ENGINE = ndbcluster, PARTITION Partc ENGINE = ndbcluster, PARTITION PartD ENGINE = ndbcluster, PARTITION partE ENGINE = ndbcluster, PARTITION Partf ENGINE = ndbcluster, PARTITION PartG ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = ndbcluster, + PARTITION partB ENGINE = ndbcluster, + PARTITION Partc ENGINE = ndbcluster, + PARTITION PartD ENGINE = ndbcluster, + PARTITION partE ENGINE = ndbcluster, + PARTITION Partf ENGINE = ndbcluster, + PARTITION PartG ENGINE = ndbcluster) */ ALTER TABLE TableA COALESCE PARTITION 4; SELECT * FROM TableA; a @@ -75,7 +83,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION parta ENGINE = ndbcluster, PARTITION partB ENGINE = ndbcluster, PARTITION Partc ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION parta ENGINE = ndbcluster, + PARTITION partB ENGINE = ndbcluster, + PARTITION Partc ENGINE = ndbcluster) */ # Test of REORGANIZE PARTITIONS # Should not work on HASH/KEY ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO @@ -107,7 +119,11 @@ SHOW CREATE TABLE TableA; Table Create Table TableA CREATE TABLE `TableA` ( `a` int(11) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ndbcluster, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ndbcluster, PARTITION Partc ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ndbcluster, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ndbcluster, + PARTITION Partc ENGINE = ndbcluster) */ # Test of RENAME TABLE RENAME TABLE TableA to TableB; SELECT * FROM TableB; @@ -175,7 +191,11 @@ SHOW CREATE TABLE tablea; Table Create Table tablea CREATE TABLE `tablea` ( `a` int(11) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ndbcluster, PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ndbcluster, PARTITION Partc ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a) +(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ndbcluster, + PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ndbcluster, + PARTITION Partc ENGINE = ndbcluster) */ # Test of REMOVE PARTITIONING ALTER TABLE TableA REMOVE PARTITIONING; SELECT * FROM TableA; diff --git a/mysql-test/suite/parts/r/partition_special_innodb.result b/mysql-test/suite/parts/r/partition_special_innodb.result index 35954c0f66a..5eab78de8c2 100644 --- a/mysql-test/suite/parts/r/partition_special_innodb.result +++ b/mysql-test/suite/parts/r/partition_special_innodb.result @@ -12,7 +12,12 @@ t1 CREATE TABLE `t1` ( `c` varchar(50) NOT NULL, `d` enum('m','w') NOT NULL DEFAULT 'm', PRIMARY KEY (`a`,`b`,`c`,`d`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a,b,c,d) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a,b,c,d) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values ('1975-01-01', 'abcde', 'abcde','m'), ('1983-12-31', 'cdef', 'srtbvsr', 'w'), @@ -49,7 +54,12 @@ t1 CREATE TABLE `t1` ( `h` tinyint(4) NOT NULL, `i` char(255) DEFAULT NULL, PRIMARY KEY (`a`,`b`,`c`,`d`,`e`,`f`,`g`,`h`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values ('1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, 'tbhth nrzh ztfghgfh fzh ftzhj fztjh'), ('1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127, 'liuugbzvdmrlti b itiortudirtfgtibm dfi'), @@ -94,7 +104,12 @@ t1 CREATE TABLE `t1` ( `h1` tinyint(4) NOT NULL, `i` char(255) DEFAULT NULL, PRIMARY KEY (`a`,`b`,`c`,`d`,`e`,`f`,`g`,`h`,`a1`,`b1`,`c1`,`d1`,`e1`,`f1`,`g1`,`h1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values ('1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113,'1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, 'tbhth nrzh ztfghgfh fzh ftzhj fztjh'), ('1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127,'1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127, 'liuugbzvdmrlti b itiortudirtfgtibm dfi'), @@ -162,7 +177,12 @@ t1 CREATE TABLE `t1` ( `h3` tinyint(4) NOT NULL, `i` char(255) DEFAULT NULL, PRIMARY KEY (`a`,`b`,`c`,`d`,`e`,`f`,`g`,`h`,`a1`,`b1`,`c1`,`d1`,`e1`,`f1`,`g1`,`h1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = InnoDB, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = InnoDB, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = InnoDB, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = InnoDB) */ insert into t1 values ('1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113,'1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113,'1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, '1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, 'tbhth nrzh ztfghgfh fzh ftzhj fztjh'), ('1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127,'1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127, '1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127, '1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127, 'liuugbzvdmrlti b itiortudirtfgtibm dfi'), diff --git a/mysql-test/suite/parts/r/partition_special_myisam.result b/mysql-test/suite/parts/r/partition_special_myisam.result index f0a66ac847f..7167d6af39e 100644 --- a/mysql-test/suite/parts/r/partition_special_myisam.result +++ b/mysql-test/suite/parts/r/partition_special_myisam.result @@ -12,7 +12,12 @@ t1 CREATE TABLE `t1` ( `c` varchar(50) NOT NULL, `d` enum('m','w') NOT NULL DEFAULT 'm', PRIMARY KEY (`a`,`b`,`c`,`d`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a,b,c,d) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a,b,c,d) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values ('1975-01-01', 'abcde', 'abcde','m'), ('1983-12-31', 'cdef', 'srtbvsr', 'w'), @@ -49,7 +54,12 @@ t1 CREATE TABLE `t1` ( `h` tinyint(4) NOT NULL, `i` char(255) DEFAULT NULL, PRIMARY KEY (`a`,`b`,`c`,`d`,`e`,`f`,`g`,`h`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values ('1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, 'tbhth nrzh ztfghgfh fzh ftzhj fztjh'), ('1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127, 'liuugbzvdmrlti b itiortudirtfgtibm dfi'), @@ -94,7 +104,12 @@ t1 CREATE TABLE `t1` ( `h1` tinyint(4) NOT NULL, `i` char(255) DEFAULT NULL, PRIMARY KEY (`a`,`b`,`c`,`d`,`e`,`f`,`g`,`h`,`a1`,`b1`,`c1`,`d1`,`e1`,`f1`,`g1`,`h1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values ('1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113,'1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, 'tbhth nrzh ztfghgfh fzh ftzhj fztjh'), ('1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127,'1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127, 'liuugbzvdmrlti b itiortudirtfgtibm dfi'), @@ -162,7 +177,12 @@ t1 CREATE TABLE `t1` ( `h3` tinyint(4) NOT NULL, `i` char(255) DEFAULT NULL, PRIMARY KEY (`a`,`b`,`c`,`d`,`e`,`f`,`g`,`h`,`a1`,`b1`,`c1`,`d1`,`e1`,`f1`,`g1`,`h1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h) (PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (a,b,c,d,e,f,g,h) +(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, + PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, + PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, + PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */ insert into t1 values ('1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113,'1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113,'1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, '1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, 'tbhth nrzh ztfghgfh fzh ftzhj fztjh'), ('1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127,'1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127, '1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127, '1983-12-31', 'cdef', 'srtbvsr', 'w', 45634, 13452.56, 3452346456, 127, 'liuugbzvdmrlti b itiortudirtfgtibm dfi'), diff --git a/mysql-test/suite/parts/r/partition_syntax_innodb.result b/mysql-test/suite/parts/r/partition_syntax_innodb.result index a26d2ec65b9..ef5d27cfc36 100644 --- a/mysql-test/suite/parts/r/partition_syntax_innodb.result +++ b/mysql-test/suite/parts/r/partition_syntax_innodb.result @@ -659,7 +659,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,2)) (PARTITION part1 VALUES IN (NULL) ENGINE = InnoDB, PARTITION part3 VALUES IN (1) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,2)) +(PARTITION part1 VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part3 VALUES IN (1) ENGINE = InnoDB) */ DROP TABLE t1; # 3.5.3 Reveal that IN (...NULL) is not mapped to IN(0) @@ -683,7 +686,11 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,2)) (PARTITION part1 VALUES IN (NULL) ENGINE = InnoDB, PARTITION part2 VALUES IN (0) ENGINE = InnoDB, PARTITION part3 VALUES IN (1) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,2)) +(PARTITION part1 VALUES IN (NULL) ENGINE = InnoDB, + PARTITION part2 VALUES IN (0) ENGINE = InnoDB, + PARTITION part3 VALUES IN (1) ENGINE = InnoDB) */ DROP TABLE t1; @@ -713,7 +720,8 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) */ DROP TABLE t1; # 4.1.2 no partition number, named partitions @@ -734,7 +742,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part1 ENGINE = InnoDB, + PARTITION part2 ENGINE = InnoDB) */ DROP TABLE t1; # 4.1.3 variations on no partition/subpartition number, named partitions, @@ -817,7 +828,18 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (20) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB), PARTITION part3 VALUES LESS THAN (2147483646) (SUBPARTITION subpart31 ENGINE = InnoDB, SUBPARTITION subpart32 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (10) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (20) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB), + PARTITION part3 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart31 ENGINE = InnoDB, + SUBPARTITION subpart32 ENGINE = InnoDB)) */ DROP TABLE t1; #------------------------------------------------------------------------ @@ -842,7 +864,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ DROP TABLE t1; CREATE TABLE t1 ( @@ -865,7 +889,12 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part1 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part2 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part1 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part2 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ DROP TABLE t1; CREATE TABLE t1 ( @@ -885,7 +914,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 1 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 1 */ DROP TABLE t1; CREATE TABLE t1 ( @@ -908,7 +939,12 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 1 (PARTITION part1 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION part2 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 1 +(PARTITION part1 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION part2 VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ DROP TABLE t1; CREATE TABLE t1 ( @@ -1647,7 +1683,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = InnoDB, PARTITION part2 ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part1 ENGINE = InnoDB, + PARTITION part2 ENGINE = InnoDB) */ DROP TABLE t1; CREATE TABLE t1 ( @@ -1673,7 +1712,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (1000) (SUBPARTITION subpart11 ENGINE = InnoDB, SUBPARTITION subpart12 ENGINE = InnoDB), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = InnoDB, SUBPARTITION subpart22 ENGINE = InnoDB)) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (1000) + (SUBPARTITION subpart11 ENGINE = InnoDB, + SUBPARTITION subpart12 ENGINE = InnoDB), + PARTITION part2 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart21 ENGINE = InnoDB, + SUBPARTITION subpart22 ENGINE = InnoDB)) */ DROP TABLE t1; # 4.3.2 (positive) number of partition/subpartition , diff --git a/mysql-test/suite/parts/r/partition_syntax_myisam.result b/mysql-test/suite/parts/r/partition_syntax_myisam.result index ab2a5797cd7..1461534e1a3 100644 --- a/mysql-test/suite/parts/r/partition_syntax_myisam.result +++ b/mysql-test/suite/parts/r/partition_syntax_myisam.result @@ -659,7 +659,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,2)) (PARTITION part1 VALUES IN (NULL) ENGINE = MyISAM, PARTITION part3 VALUES IN (1) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,2)) +(PARTITION part1 VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part3 VALUES IN (1) ENGINE = MyISAM) */ unified filelist t1#P#part1.MYD @@ -691,7 +694,11 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (MOD(f_int1,2)) (PARTITION part1 VALUES IN (NULL) ENGINE = MyISAM, PARTITION part2 VALUES IN (0) ENGINE = MyISAM, PARTITION part3 VALUES IN (1) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (MOD(f_int1,2)) +(PARTITION part1 VALUES IN (NULL) ENGINE = MyISAM, + PARTITION part2 VALUES IN (0) ENGINE = MyISAM, + PARTITION part3 VALUES IN (1) ENGINE = MyISAM) */ unified filelist t1#P#part1.MYD @@ -731,7 +738,8 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) */ unified filelist t1#P#p0.MYD @@ -758,7 +766,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part1 ENGINE = MyISAM, + PARTITION part2 ENGINE = MyISAM) */ unified filelist t1#P#part1.MYD @@ -849,7 +860,18 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (20) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM), PARTITION part3 VALUES LESS THAN (2147483646) (SUBPARTITION subpart31 ENGINE = MyISAM, SUBPARTITION subpart32 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (10) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (20) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM), + PARTITION part3 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart31 ENGINE = MyISAM, + SUBPARTITION subpart32 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD @@ -890,7 +912,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 2 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 2 */ unified filelist t1#P#p0.MYD @@ -921,7 +945,12 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part1 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part2 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 2 +(PARTITION part1 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part2 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -953,7 +982,9 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) PARTITIONS 1 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +PARTITIONS 1 */ unified filelist t1#P#p0.MYD @@ -982,7 +1013,12 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 1 (PARTITION part1 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION part2 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +SUBPARTITIONS 1 +(PARTITION part1 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION part2 VALUES LESS THAN (2147483646) ENGINE = MyISAM) */ unified filelist t1#P#part1#SP#part1sp0.MYD @@ -1729,7 +1765,10 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = MyISAM, PARTITION part2 ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH (f_int1) +(PARTITION part1 ENGINE = MyISAM, + PARTITION part2 ENGINE = MyISAM) */ unified filelist t1#P#part1.MYD @@ -1763,7 +1802,15 @@ t1 CREATE TABLE `t1` ( `f_char1` char(20) DEFAULT NULL, `f_char2` char(20) DEFAULT NULL, `f_charbig` varchar(1000) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (1000) (SUBPARTITION subpart11 ENGINE = MyISAM, SUBPARTITION subpart12 ENGINE = MyISAM), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = MyISAM, SUBPARTITION subpart22 ENGINE = MyISAM)) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (f_int1) +SUBPARTITION BY HASH (f_int1) +(PARTITION part1 VALUES LESS THAN (1000) + (SUBPARTITION subpart11 ENGINE = MyISAM, + SUBPARTITION subpart12 ENGINE = MyISAM), + PARTITION part2 VALUES LESS THAN (2147483646) + (SUBPARTITION subpart21 ENGINE = MyISAM, + SUBPARTITION subpart22 ENGINE = MyISAM)) */ unified filelist t1#P#part1#SP#subpart11.MYD diff --git a/mysql-test/suite/parts/r/rpl_partition.result b/mysql-test/suite/parts/r/rpl_partition.result index bd77d4317bd..e330175bc0c 100644 --- a/mysql-test/suite/parts/r/rpl_partition.result +++ b/mysql-test/suite/parts/r/rpl_partition.result @@ -121,7 +121,21 @@ Create Table CREATE TABLE `t3` ( `fkid` mediumint(9) DEFAULT NULL, `filler` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=1001 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (id) SUBPARTITION BY HASH (id) SUBPARTITIONS 2 (PARTITION pa1 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION pa2 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION pa3 VALUES LESS THAN (30) ENGINE = MyISAM, PARTITION pa4 VALUES LESS THAN (40) ENGINE = MyISAM, PARTITION pa5 VALUES LESS THAN (50) ENGINE = MyISAM, PARTITION pa6 VALUES LESS THAN (60) ENGINE = MyISAM, PARTITION pa7 VALUES LESS THAN (70) ENGINE = MyISAM, PARTITION pa8 VALUES LESS THAN (80) ENGINE = MyISAM, PARTITION pa9 VALUES LESS THAN (90) ENGINE = MyISAM, PARTITION pa10 VALUES LESS THAN (100) ENGINE = MyISAM, PARTITION pa11 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ +) ENGINE=MyISAM AUTO_INCREMENT=1001 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (id) +SUBPARTITION BY HASH (id) +SUBPARTITIONS 2 +(PARTITION pa1 VALUES LESS THAN (10) ENGINE = MyISAM, + PARTITION pa2 VALUES LESS THAN (20) ENGINE = MyISAM, + PARTITION pa3 VALUES LESS THAN (30) ENGINE = MyISAM, + PARTITION pa4 VALUES LESS THAN (40) ENGINE = MyISAM, + PARTITION pa5 VALUES LESS THAN (50) ENGINE = MyISAM, + PARTITION pa6 VALUES LESS THAN (60) ENGINE = MyISAM, + PARTITION pa7 VALUES LESS THAN (70) ENGINE = MyISAM, + PARTITION pa8 VALUES LESS THAN (80) ENGINE = MyISAM, + PARTITION pa9 VALUES LESS THAN (90) ENGINE = MyISAM, + PARTITION pa10 VALUES LESS THAN (100) ENGINE = MyISAM, + PARTITION pa11 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ show slave status; Slave_IO_State # Master_Host 127.0.0.1 diff --git a/mysql-test/suite/rpl/r/rpl_extraCol_innodb.result b/mysql-test/suite/rpl/r/rpl_extraCol_innodb.result index f0f41c02a84..e57daad3342 100644 --- a/mysql-test/suite/rpl/r/rpl_extraCol_innodb.result +++ b/mysql-test/suite/rpl/r/rpl_extraCol_innodb.result @@ -885,7 +885,9 @@ t16 CREATE TABLE `t16` ( `c4` blob, `c5` char(5) DEFAULT NULL, PRIMARY KEY (`c1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (c1) PARTITIONS 4 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (c1) +PARTITIONS 4 */ *** Show table on Slave **** SHOW CREATE TABLE t16; Table Create Table @@ -898,7 +900,9 @@ t16 CREATE TABLE `t16` ( `c6` int(11) DEFAULT '1', `c7` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`c1`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (c1) PARTITIONS 4 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (c1) +PARTITIONS 4 */ *** DROP TABLE t16 *** DROP TABLE t16; *** Alter Master End *** diff --git a/mysql-test/suite/rpl/r/rpl_extraCol_myisam.result b/mysql-test/suite/rpl/r/rpl_extraCol_myisam.result index da8151262d1..6696ddc7789 100644 --- a/mysql-test/suite/rpl/r/rpl_extraCol_myisam.result +++ b/mysql-test/suite/rpl/r/rpl_extraCol_myisam.result @@ -885,7 +885,9 @@ t16 CREATE TABLE `t16` ( `c4` blob, `c5` char(5) DEFAULT NULL, PRIMARY KEY (`c1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (c1) PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (c1) +PARTITIONS 4 */ *** Show table on Slave **** SHOW CREATE TABLE t16; Table Create Table @@ -898,7 +900,9 @@ t16 CREATE TABLE `t16` ( `c6` int(11) DEFAULT '1', `c7` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`c1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (c1) PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (c1) +PARTITIONS 4 */ *** DROP TABLE t16 *** DROP TABLE t16; *** Alter Master End *** diff --git a/mysql-test/suite/rpl/r/rpl_innodb_bug28430.result b/mysql-test/suite/rpl/r/rpl_innodb_bug28430.result index aadeccdb632..6ad22c368b4 100644 --- a/mysql-test/suite/rpl/r/rpl_innodb_bug28430.result +++ b/mysql-test/suite/rpl/r/rpl_innodb_bug28430.result @@ -113,7 +113,21 @@ Create Table CREATE TABLE `byrange_tbl` ( `fkid` mediumint(9) DEFAULT NULL, `filler` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=1001 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (id) SUBPARTITION BY HASH (id) SUBPARTITIONS 2 (PARTITION pa1 VALUES LESS THAN (10) ENGINE = InnoDB, PARTITION pa2 VALUES LESS THAN (20) ENGINE = InnoDB, PARTITION pa3 VALUES LESS THAN (30) ENGINE = InnoDB, PARTITION pa4 VALUES LESS THAN (40) ENGINE = InnoDB, PARTITION pa5 VALUES LESS THAN (50) ENGINE = InnoDB, PARTITION pa6 VALUES LESS THAN (60) ENGINE = InnoDB, PARTITION pa7 VALUES LESS THAN (70) ENGINE = InnoDB, PARTITION pa8 VALUES LESS THAN (80) ENGINE = InnoDB, PARTITION pa9 VALUES LESS THAN (90) ENGINE = InnoDB, PARTITION pa10 VALUES LESS THAN (100) ENGINE = InnoDB, PARTITION pa11 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */ +) ENGINE=InnoDB AUTO_INCREMENT=1001 DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (id) +SUBPARTITION BY HASH (id) +SUBPARTITIONS 2 +(PARTITION pa1 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION pa2 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION pa3 VALUES LESS THAN (30) ENGINE = InnoDB, + PARTITION pa4 VALUES LESS THAN (40) ENGINE = InnoDB, + PARTITION pa5 VALUES LESS THAN (50) ENGINE = InnoDB, + PARTITION pa6 VALUES LESS THAN (60) ENGINE = InnoDB, + PARTITION pa7 VALUES LESS THAN (70) ENGINE = InnoDB, + PARTITION pa8 VALUES LESS THAN (80) ENGINE = InnoDB, + PARTITION pa9 VALUES LESS THAN (90) ENGINE = InnoDB, + PARTITION pa10 VALUES LESS THAN (100) ENGINE = InnoDB, + PARTITION pa11 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */ SELECT count(*) "Slave norm" FROM test.regular_tbl; Slave norm 500 SELECT count(*) "Slave bykey" FROM test.bykey_tbl; diff --git a/mysql-test/suite/rpl/r/rpl_row_basic_8partition.result b/mysql-test/suite/rpl/r/rpl_row_basic_8partition.result index dedd5d044e0..3443e704031 100644 --- a/mysql-test/suite/rpl/r/rpl_row_basic_8partition.result +++ b/mysql-test/suite/rpl/r/rpl_row_basic_8partition.result @@ -34,7 +34,14 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (1946) ENGINE = MyISAM, PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM, PARTITION p3 VALUES LESS THAN (1986) ENGINE = MyISAM, PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = MyISAM, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = MyISAM, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = MyISAM, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ --- On slave -- SHOW CREATE TABLE t1; Table Create Table @@ -48,7 +55,14 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (1946) ENGINE = MyISAM, PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM, PARTITION p3 VALUES LESS THAN (1986) ENGINE = MyISAM, PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = MyISAM, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = MyISAM, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = MyISAM, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ "--- Insert into t1 --" as ""; --- Select from t1 on master --- select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id; @@ -101,7 +115,14 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (1946) ENGINE = MyISAM, PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM, PARTITION p3 VALUES LESS THAN (1986) ENGINE = MyISAM, PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = MyISAM, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = MyISAM, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = MyISAM, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ --- On slave --- SHOW CREATE TABLE t1; Table Create Table @@ -115,7 +136,14 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (1946) ENGINE = MyISAM, PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM, PARTITION p3 VALUES LESS THAN (1986) ENGINE = MyISAM, PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = MyISAM, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = MyISAM, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = MyISAM, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ "--- Insert into t1 --" as ""; --- Select from t1 on master --- select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id; @@ -177,7 +205,11 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = MyISAM, PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM, PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = MyISAM, + PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM, + PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */ --- On slave --- SHOW CREATE TABLE t1; Table Create Table @@ -191,7 +223,11 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = MyISAM, PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM, PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = MyISAM, + PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM, + PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */ "--- Insert into t1 --" as ""; --- Select from t1 on master --- select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id; @@ -244,7 +280,11 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = MyISAM, PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM, PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = MyISAM, + PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM, + PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */ --- On slave --- SHOW CREATE TABLE t1; Table Create Table @@ -258,7 +298,11 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = MyISAM, PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM, PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = MyISAM, + PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM, + PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */ "--- Insert into t1 --" as ""; --- Select from t1 on master --- select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id; @@ -318,7 +362,9 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ --- On slave --- SHOW CREATE TABLE t1; Table Create Table @@ -332,7 +378,9 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ "--- Insert into t1 --" as ""; --- Select from t1 on master --- select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id; @@ -385,7 +433,9 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ --- On slave --- SHOW CREATE TABLE t1; Table Create Table @@ -399,7 +449,9 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ "--- Insert into t1 --" as ""; --- Select from t1 on master --- select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id; @@ -460,7 +512,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- On slave --- SHOW CREATE TABLE t1; Table Create Table @@ -475,7 +529,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ "--- Insert into t1 --" as ""; --- Select from t1 on master --- select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id; @@ -529,7 +585,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- On slave --- SHOW CREATE TABLE t1; Table Create Table @@ -544,7 +602,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ "--- Insert into t1 --" as ""; --- Select from t1 on master --- select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id; @@ -598,7 +658,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- On slave --- SHOW CREATE TABLE t1; Table Create Table @@ -613,7 +675,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ "--- Insert into t1 --" as ""; --- Select from t1 on master --- select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id; diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_2innodb.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_2innodb.result index c5e9ff2721b..9857f621bbe 100644 --- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_2innodb.result +++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_2innodb.result @@ -193,7 +193,14 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ --- Show table on slave -- SHOW CREATE TABLE t1; Table Create Table @@ -207,7 +214,14 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = InnoDB, PARTITION p1 VALUES LESS THAN (1946) ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN (1966) ENGINE = InnoDB, PARTITION p3 VALUES LESS THAN (1986) ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (2005) ENGINE = InnoDB, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = InnoDB, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = InnoDB, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = InnoDB, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = InnoDB, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = InnoDB, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -265,7 +279,14 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date NOT NULL DEFAULT '0000-00-00', PRIMARY KEY (`t`,`id`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -281,7 +302,14 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date NOT NULL DEFAULT '0000-00-00', PRIMARY KEY (`t`,`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = InnoDB, PARTITION p1 VALUES LESS THAN (1946) ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN (1966) ENGINE = InnoDB, PARTITION p3 VALUES LESS THAN (1986) ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (2005) ENGINE = InnoDB, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = InnoDB, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = InnoDB, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = InnoDB, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = InnoDB, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = InnoDB, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -349,7 +377,11 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, + PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ --- Show table on slave --- SHOW CREATE TABLE t1; Table Create Table @@ -363,7 +395,11 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = InnoDB, PARTITION p1 VALUES IN (42,142) ENGINE = InnoDB, PARTITION p2 VALUES IN (412) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = InnoDB, + PARTITION p1 VALUES IN (42,142) ENGINE = InnoDB, + PARTITION p2 VALUES IN (412) ENGINE = InnoDB) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -421,7 +457,11 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, + PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -437,7 +477,11 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = InnoDB, PARTITION p1 VALUES IN (42,142) ENGINE = InnoDB, PARTITION p2 VALUES IN (412) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = InnoDB, + PARTITION p1 VALUES IN (42,142) ENGINE = InnoDB, + PARTITION p2 VALUES IN (412) ENGINE = InnoDB) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -502,7 +546,9 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( @@ -515,7 +561,9 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -573,7 +621,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date NOT NULL DEFAULT '0000-00-00', PRIMARY KEY (`t`,`id`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -589,7 +639,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date NOT NULL DEFAULT '0000-00-00', PRIMARY KEY (`t`,`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -655,7 +707,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Show that tables on slave --- SHOW CREATE TABLE t1; Table Create Table @@ -670,7 +724,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -727,7 +783,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Make sure that our tables on slave are still right type --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -743,7 +801,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -800,7 +860,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -816,7 +878,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_2myisam.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_2myisam.result index 824df733fa9..44ee9d01709 100644 --- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_2myisam.result +++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_2myisam.result @@ -193,7 +193,14 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ --- Show table on slave -- SHOW CREATE TABLE t1; Table Create Table @@ -207,7 +214,14 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (1946) ENGINE = MyISAM, PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM, PARTITION p3 VALUES LESS THAN (1986) ENGINE = MyISAM, PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = MyISAM, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = MyISAM, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = MyISAM, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -265,7 +279,14 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date NOT NULL DEFAULT '0000-00-00', PRIMARY KEY (`t`,`id`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -281,7 +302,14 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date NOT NULL DEFAULT '0000-00-00', PRIMARY KEY (`t`,`id`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (1946) ENGINE = MyISAM, PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM, PARTITION p3 VALUES LESS THAN (1986) ENGINE = MyISAM, PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = MyISAM, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = MyISAM, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = MyISAM, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -349,7 +377,11 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, + PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ --- Show table on slave --- SHOW CREATE TABLE t1; Table Create Table @@ -363,7 +395,11 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = MyISAM, PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM, PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = MyISAM, + PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM, + PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -421,7 +457,11 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, + PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -437,7 +477,11 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = MyISAM, PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM, PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = MyISAM, + PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM, + PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -502,7 +546,9 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( @@ -515,7 +561,9 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -573,7 +621,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date NOT NULL DEFAULT '0000-00-00', PRIMARY KEY (`t`,`id`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -589,7 +639,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date NOT NULL DEFAULT '0000-00-00', PRIMARY KEY (`t`,`id`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -655,7 +707,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Show that tables on slave --- SHOW CREATE TABLE t1; Table Create Table @@ -670,7 +724,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -727,7 +783,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Make sure that our tables on slave are still right type --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -743,7 +801,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -800,7 +860,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -816,7 +878,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result index 298f45b5cee..c906f00bd40 100644 --- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result +++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result @@ -52,7 +52,14 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ --- Show table on slave -- SHOW CREATE TABLE t1; Table Create Table @@ -66,7 +73,14 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -122,7 +136,14 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -137,7 +158,14 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -207,7 +235,11 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, + PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ --- Show table on slave --- SHOW CREATE TABLE t1; Table Create Table @@ -221,7 +253,11 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, + PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -277,7 +313,11 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, + PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -292,7 +332,11 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, + PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -359,7 +403,9 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( @@ -372,7 +418,9 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -428,7 +476,9 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -443,7 +493,9 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -511,7 +563,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Show that tables on slave --- SHOW CREATE TABLE t1; Table Create Table @@ -526,7 +580,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -583,7 +639,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Make sure that our tables on slave are still right type --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -599,7 +657,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -656,7 +716,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -672,7 +734,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result index 3ab515806e7..d51599fd18b 100644 --- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result +++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result @@ -885,7 +885,9 @@ t16 CREATE TABLE `t16` ( `c4` blob, `c5` char(5) DEFAULT NULL, PRIMARY KEY (`c1`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (c1) PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (c1) +PARTITIONS 4 */ *** Show table on Slave **** SHOW CREATE TABLE t16; Table Create Table @@ -898,7 +900,9 @@ t16 CREATE TABLE `t16` ( `c6` int(11) DEFAULT '1', `c7` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`c1`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (c1) PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY (c1) +PARTITIONS 4 */ *** DROP TABLE t16 *** DROP TABLE t16; *** Alter Master End *** diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result index cf4c67f063b..4c96ccf85ee 100644 --- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result +++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result @@ -186,7 +186,14 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = InnoDB, PARTITION p1 VALUES LESS THAN (1946) ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN (1966) ENGINE = InnoDB, PARTITION p3 VALUES LESS THAN (1986) ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (2005) ENGINE = InnoDB, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = InnoDB, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = InnoDB, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = InnoDB, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = InnoDB, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = InnoDB, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */ --- Show table on slave -- SHOW CREATE TABLE t1; Table Create Table @@ -200,7 +207,14 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -258,7 +272,14 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date NOT NULL DEFAULT '0000-00-00', PRIMARY KEY (`t`,`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = InnoDB, PARTITION p1 VALUES LESS THAN (1946) ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN (1966) ENGINE = InnoDB, PARTITION p3 VALUES LESS THAN (1986) ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (2005) ENGINE = InnoDB, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = InnoDB, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = InnoDB, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = InnoDB, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = InnoDB, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = InnoDB, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -274,7 +295,14 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date NOT NULL DEFAULT '0000-00-00', PRIMARY KEY (`t`,`id`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -342,7 +370,11 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = InnoDB, PARTITION p1 VALUES IN (42,142) ENGINE = InnoDB, PARTITION p2 VALUES IN (412) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = InnoDB, + PARTITION p1 VALUES IN (42,142) ENGINE = InnoDB, + PARTITION p2 VALUES IN (412) ENGINE = InnoDB) */ --- Show table on slave --- SHOW CREATE TABLE t1; Table Create Table @@ -356,7 +388,11 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, + PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -414,7 +450,11 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = InnoDB, PARTITION p1 VALUES IN (42,142) ENGINE = InnoDB, PARTITION p2 VALUES IN (412) ENGINE = InnoDB) */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = InnoDB, + PARTITION p1 VALUES IN (42,142) ENGINE = InnoDB, + PARTITION p2 VALUES IN (412) ENGINE = InnoDB) */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -430,7 +470,11 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, + PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -495,7 +539,9 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( @@ -508,7 +554,9 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -566,7 +614,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date NOT NULL DEFAULT '0000-00-00', PRIMARY KEY (`t`,`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -582,7 +632,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date NOT NULL DEFAULT '0000-00-00', PRIMARY KEY (`t`,`id`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -648,7 +700,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Show that tables on slave --- SHOW CREATE TABLE t1; Table Create Table @@ -663,7 +717,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -720,7 +776,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Make sure that our tables on slave are still right type --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -736,7 +794,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -793,7 +853,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -809,7 +871,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result index 35fc778a693..eb7d88c812b 100644 --- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result +++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result @@ -186,7 +186,14 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (1946) ENGINE = MyISAM, PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM, PARTITION p3 VALUES LESS THAN (1986) ENGINE = MyISAM, PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = MyISAM, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = MyISAM, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = MyISAM, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ --- Show table on slave -- SHOW CREATE TABLE t1; Table Create Table @@ -200,7 +207,14 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -258,7 +272,14 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date NOT NULL DEFAULT '0000-00-00', PRIMARY KEY (`t`,`id`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (1946) ENGINE = MyISAM, PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM, PARTITION p3 VALUES LESS THAN (1986) ENGINE = MyISAM, PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = MyISAM, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = MyISAM, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = MyISAM, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -274,7 +295,14 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date NOT NULL DEFAULT '0000-00-00', PRIMARY KEY (`t`,`id`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (YEAR(t)) +(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, + PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, + PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, + PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, + PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, + PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -342,7 +370,11 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = MyISAM, PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM, PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = MyISAM, + PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM, + PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */ --- Show table on slave --- SHOW CREATE TABLE t1; Table Create Table @@ -356,7 +388,11 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, + PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -414,7 +450,11 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = MyISAM, PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM, PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = MyISAM, + PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM, + PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -430,7 +470,11 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY LIST (id) +(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, + PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, + PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -495,7 +539,9 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( @@ -508,7 +554,9 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -566,7 +614,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date NOT NULL DEFAULT '0000-00-00', PRIMARY KEY (`t`,`id`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -582,7 +632,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date NOT NULL DEFAULT '0000-00-00', PRIMARY KEY (`t`,`id`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY HASH ( YEAR(t)) +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -648,7 +700,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Show that tables on slave --- SHOW CREATE TABLE t1; Table Create Table @@ -663,7 +717,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -720,7 +776,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Make sure that our tables on slave are still right type --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -736,7 +794,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -793,7 +853,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -809,7 +871,9 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY KEY () +PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; diff --git a/mysql-test/t/partition.test b/mysql-test/t/partition.test index 83e0cde8991..83177af012d 100644 --- a/mysql-test/t/partition.test +++ b/mysql-test/t/partition.test @@ -120,7 +120,10 @@ CREATE TABLE `t1` ( CREATE TABLE `t2` ( `c1` int(11) DEFAULT NULL, KEY `c1` (`c1`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (c1) (PARTITION a VALUES LESS THAN (100) ENGINE = MyISAM, PARTITION b VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */; +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +/*!50100 PARTITION BY RANGE (c1) +(PARTITION a VALUES LESS THAN (100) ENGINE = MyISAM, + PARTITION b VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */; INSERT INTO `t1` VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20); INSERT INTO `t2` VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20); diff --git a/mysql-test/t/partition_mgm.test b/mysql-test/t/partition_mgm.test index 68da4a5b390..524a2e04b25 100644 --- a/mysql-test/t/partition_mgm.test +++ b/mysql-test/t/partition_mgm.test @@ -52,3 +52,27 @@ alter table t1 REORGANIZE partition p1 INTO partition p12 values in (3,4)); drop table t1; +# +# Verification tests for bug#14326 +# +--error ER_PARSE_ERROR +CREATE TABLE t1 (a INT) +/*!50100 PARTITION BY HASH (a) +/* Test + of multi-line + comment */ +PARTITIONS 5 */; +CREATE TABLE t1 (a INT) +/*!50100 PARTITION BY HASH (a) +-- with a single line comment embedded +PARTITIONS 5 */; +SHOW CREATE TABLE t1; +DROP TABLE t1; +CREATE TABLE t1 (a INT) +/*!50100 PARTITION BY HASH (a) +PARTITIONS 5 */; +SHOW CREATE TABLE t1; +DROP TABLE t1; +CREATE TABLE t1 (a INT) /*!50100 PARTITION BY HASH (a) PARTITIONS 5 */; +SHOW CREATE TABLE t1; +DROP TABLE t1; diff --git a/sql/sql_partition.cc b/sql/sql_partition.cc index da80a2125e9..2f7ccaf5c31 100644 --- a/sql/sql_partition.cc +++ b/sql/sql_partition.cc @@ -2078,16 +2078,16 @@ char *generate_partition_syntax(partition_info *part_info, err+= add_string_len(fptr, part_info->part_func_string, part_info->part_func_len); err+= add_end_parenthesis(fptr); - err+= add_space(fptr); if ((!part_info->use_default_no_partitions) && part_info->use_default_partitions) { + err+= add_string(fptr, "\n"); err+= add_string(fptr, "PARTITIONS "); err+= add_int(fptr, part_info->no_parts); - err+= add_space(fptr); } if (part_info->is_sub_partitioned()) { + err+= add_string(fptr, "\n"); err+= add_subpartition_by(fptr); /* Must be hash partitioning for subpartitioning */ if (part_info->linear_hash_ind) @@ -2100,13 +2100,12 @@ char *generate_partition_syntax(partition_info *part_info, err+= add_string_len(fptr, part_info->subpart_func_string, part_info->subpart_func_len); err+= add_end_parenthesis(fptr); - err+= add_space(fptr); if ((!part_info->use_default_no_subpartitions) && part_info->use_default_subpartitions) { + err+= add_string(fptr, "\n"); err+= add_string(fptr, "SUBPARTITIONS "); err+= add_int(fptr, part_info->no_subparts); - err+= add_space(fptr); } } tot_no_parts= part_info->partitions.elements; @@ -2115,6 +2114,7 @@ char *generate_partition_syntax(partition_info *part_info, if (!part_info->use_default_partitions) { bool first= TRUE; + err+= add_string(fptr, "\n"); err+= add_begin_parenthesis(fptr); i= 0; do @@ -2126,6 +2126,7 @@ char *generate_partition_syntax(partition_info *part_info, if (!first) { err+= add_comma(fptr); + err+= add_string(fptr, "\n"); err+= add_space(fptr); } first= FALSE; @@ -2140,6 +2141,7 @@ char *generate_partition_syntax(partition_info *part_info, } else { + err+= add_string(fptr, "\n"); err+= add_space(fptr); err+= add_begin_parenthesis(fptr); List_iterator sub_it(part_elem->subpartitions); @@ -2154,6 +2156,8 @@ char *generate_partition_syntax(partition_info *part_info, if (j != (no_subparts-1)) { err+= add_comma(fptr); + err+= add_string(fptr, "\n"); + err+= add_space(fptr); err+= add_space(fptr); } else diff --git a/sql/sql_show.cc b/sql/sql_show.cc index ca7e222e18d..1b6f5131c48 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -1453,7 +1453,7 @@ int store_create_info(THD *thd, TABLE_LIST *table_list, String *packet, FALSE, show_table_options)))) { - packet->append(STRING_WITH_LEN(" /*!50100")); + packet->append(STRING_WITH_LEN("\n/*!50100")); packet->append(part_syntax, part_syntax_len); packet->append(STRING_WITH_LEN(" */")); my_free(part_syntax, MYF(0)); From 3b50efc34b3e21a6119f29c0cd720d33d28894ba Mon Sep 17 00:00:00 2001 From: "Tatiana A. Nurnberg" Date: Tue, 4 Nov 2008 11:00:26 +0100 Subject: [PATCH 061/141] Bug#39117 "plugin_load" option not documented correct text describing the --plugin-load option to mysqld sql/mysqld.cc: correct text describing the --plugin-load option to mysqld --- sql/mysqld.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sql/mysqld.cc b/sql/mysqld.cc index abb778394e6..c0a1b2e5306 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -6666,9 +6666,10 @@ The minimum value for this variable is 4096.", "Directory for plugins.", (uchar**) &opt_plugin_dir_ptr, (uchar**) &opt_plugin_dir_ptr, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, - {"plugin_load", OPT_PLUGIN_LOAD, - "Optional colon separated list of plugins to load, where each plugin is " - "identified by name and path to library seperated by an equals.", + {"plugin-load", OPT_PLUGIN_LOAD, + "Optional colon-separated list of plugins to load, where each plugin is " + "identified as name=library, where name is the plugin name and library " + "is the plugin library in plugin_dir.", (uchar**) &opt_plugin_load, (uchar**) &opt_plugin_load, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"preload_buffer_size", OPT_PRELOAD_BUFFER_SIZE, From c618c31223a49adfaf6afed3e3d918b6c4336ce5 Mon Sep 17 00:00:00 2001 From: Andrei Elkin Date: Tue, 4 Nov 2008 13:03:21 +0200 Subject: [PATCH 062/141] bug#38230 updating two test results. mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result: results changed. mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result: results changed. --- .../suite/rpl/r/rpl_row_basic_2myisam.result | 61 +++++++++++++++++++ .../suite/rpl_ndb/r/rpl_row_basic_7ndb.result | 61 +++++++++++++++++++ 2 files changed, 122 insertions(+) diff --git a/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result b/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result index d9d96cf7eda..97f58da1ccb 100644 --- a/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result +++ b/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result @@ -527,3 +527,64 @@ ERROR 23000: Duplicate entry '10' for key 'PRIMARY' INSERT INTO t1 VALUES (4); Comparing tables master:test.t1 and slave:test.t1 drop table t1; +DROP TABLE IF EXISTS t1, t2; +CREATE TABLE t1 ( +`pk` int(11) NOT NULL AUTO_INCREMENT, +`int_nokey` int(11) NOT NULL, +`int_key` int(11) NOT NULL, +`date_key` date NOT NULL, +`date_nokey` date NOT NULL, +`time_key` time NOT NULL, +`time_nokey` time NOT NULL, +`datetime_key` datetime NOT NULL, +`datetime_nokey` datetime NOT NULL, +`varchar_key` varchar(1) NOT NULL, +`varchar_nokey` varchar(1) NOT NULL, +PRIMARY KEY (`pk`), +KEY `int_key` (`int_key`), +KEY `date_key` (`date_key`), +KEY `time_key` (`time_key`), +KEY `datetime_key` (`datetime_key`), +KEY `varchar_key` (`varchar_key`) +) ENGINE=InnoDB; +Warnings: +Warning 1286 Unknown table engine 'InnoDB' +Warning 1266 Using storage engine MyISAM for table 't1' +INSERT INTO t1 VALUES (1,8,5,'0000-00-00','0000-00-00','10:37:38','10:37:38','0000-00-00 00:00:00','0000-00-00 00:00:00','p','p'),(2,0,9,'0000-00-00','0000-00-00','00:00:00','00:00:00','2007-10-14 00:00:00','2007-10-14 00:00:00','d','d'); +CREATE TABLE t2 ( +`pk` int(11) NOT NULL AUTO_INCREMENT, +`int_nokey` int(11) NOT NULL, +`int_key` int(11) NOT NULL, +`date_key` date NOT NULL, +`date_nokey` date NOT NULL, +`time_key` time NOT NULL, +`time_nokey` time NOT NULL, +`datetime_key` datetime NOT NULL, +`datetime_nokey` datetime NOT NULL, +`varchar_key` varchar(1) NOT NULL, +`varchar_nokey` varchar(1) NOT NULL, +PRIMARY KEY (`pk`), +KEY `int_key` (`int_key`), +KEY `date_key` (`date_key`), +KEY `time_key` (`time_key`), +KEY `datetime_key` (`datetime_key`), +KEY `varchar_key` (`varchar_key`) +) ENGINE=InnoDB; +Warnings: +Warning 1286 Unknown table engine 'InnoDB' +Warning 1266 Using storage engine MyISAM for table 't2' +INSERT INTO t2 VALUES (1,1,6,'2005-12-23','2005-12-23','02:24:28','02:24:28','0000-00-00 00:00:00','0000-00-00 00:00:00','g','g'),(2,0,3,'2009-09-14','2009-09-14','00:00:00','00:00:00','2000-01-30 16:39:40','2000-01-30 16:39:40','q','q'),(3,0,3,'0000-00-00','0000-00-00','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','c','c'),(4,1,6,'2007-03-29','2007-03-29','15:49:00','15:49:00','0000-00-00 00:00:00','0000-00-00 00:00:00','m','m'),(5,4,0,'2002-12-04','2002-12-04','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','o','o'),(6,9,0,'2005-01-28','2005-01-28','00:00:00','00:00:00','2001-05-18 00:00:00','2001-05-18 00:00:00','w','w'),(7,6,0,'0000-00-00','0000-00-00','06:57:25','06:57:25','0000-00-00 00:00:00','0000-00-00 00:00:00','m','m'),(8,0,0,'0000-00-00','0000-00-00','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','z','z'),(9,4,6,'2006-08-15','2006-08-15','00:00:00','00:00:00','2002-04-12 14:44:25','2002-04-12 14:44:25','j','j'),(10,0,5,'2006-12-20','2006-12-20','10:13:53','10:13:53','2008-07-22 00:00:00','2008-07-22 00:00:00','y','y'),(11,9,7,'0000-00-00','0000-00-00','00:00:00','00:00:00','2004-07-05 00:00:00','2004-07-05 00:00:00','{','{'),(12,4,3,'2007-01-26','2007-01-26','23:00:51','23:00:51','2001-05-16 00:00:00','2001-05-16 00:00:00','f','f'),(13,7,0,'2004-03-27','2004-03-27','00:00:00','00:00:00','2005-01-24 03:30:37','2005-01-24 03:30:37','',''),(14,6,0,'2006-07-26','2006-07-26','18:43:57','18:43:57','0000-00-00 00:00:00','0000-00-00 00:00:00','{','{'),(15,0,6,'2000-01-14','2000-01-14','00:00:00','00:00:00','2000-09-21 00:00:00','2000-09-21 00:00:00','o','o'),(16,9,8,'0000-00-00','0000-00-00','21:15:08','21:15:08','0000-00-00 00:00:00','0000-00-00 00:00:00','a','a'),(17,2,0,'2004-10-27','2004-10-27','00:00:00','00:00:00','2004-03-24 22:13:43','2004-03-24 22:13:43','',''),(18,7,4,'0000-00-00','0000-00-00','08:38:27','08:38:27','2002-03-18 19:51:44','2002-03-18 19:51:44','t','t'),(19,5,3,'2008-03-07','2008-03-07','03:29:07','03:29:07','2007-12-01 18:44:44','2007-12-01 18:44:44','t','t'),(20,0,0,'2002-04-09','2002-04-09','16:06:03','16:06:03','2009-04-22 00:00:00','2009-04-22 00:00:00','n','n'); +DELETE FROM t2 WHERE `int_key` < 3 LIMIT 1; +UPDATE t1 SET `int_key` = 3 ORDER BY `pk` LIMIT 4; +DELETE FROM t2 WHERE `int_key` < 3 LIMIT 1; +DELETE FROM t2 WHERE `pk` < 6 LIMIT 1; +UPDATE t1 SET `int_key` = 6 ORDER BY `pk` LIMIT 3; +DELETE FROM t2 WHERE `pk` < 6 LIMIT 1; +UPDATE t1 SET `pk` = 6 ORDER BY `int_key` LIMIT 6; +ERROR 23000: Duplicate entry '6' for key 'PRIMARY' +DELETE FROM t2 WHERE `pk` < 7 LIMIT 1; +UPDATE t1 SET `int_key` = 4 ORDER BY `pk` LIMIT 6; +*** results: t2 must be consistent **** +Comparing tables master:test.t2 and master:test.t2 +DROP TABLE t1, t2; +EOF OF TESTS diff --git a/mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result b/mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result index 2538358b4d3..c477500a85f 100644 --- a/mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result +++ b/mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result @@ -527,3 +527,64 @@ ERROR 23000: Duplicate entry '10' for key 'PRIMARY' INSERT INTO t1 VALUES (4); Comparing tables master:test.t1 and slave:test.t1 drop table t1; +DROP TABLE IF EXISTS t1, t2; +CREATE TABLE t1 ( +`pk` int(11) NOT NULL AUTO_INCREMENT, +`int_nokey` int(11) NOT NULL, +`int_key` int(11) NOT NULL, +`date_key` date NOT NULL, +`date_nokey` date NOT NULL, +`time_key` time NOT NULL, +`time_nokey` time NOT NULL, +`datetime_key` datetime NOT NULL, +`datetime_nokey` datetime NOT NULL, +`varchar_key` varchar(1) NOT NULL, +`varchar_nokey` varchar(1) NOT NULL, +PRIMARY KEY (`pk`), +KEY `int_key` (`int_key`), +KEY `date_key` (`date_key`), +KEY `time_key` (`time_key`), +KEY `datetime_key` (`datetime_key`), +KEY `varchar_key` (`varchar_key`) +) ENGINE=InnoDB; +Warnings: +Warning 1286 Unknown table engine 'InnoDB' +Warning 1266 Using storage engine MyISAM for table 't1' +INSERT INTO t1 VALUES (1,8,5,'0000-00-00','0000-00-00','10:37:38','10:37:38','0000-00-00 00:00:00','0000-00-00 00:00:00','p','p'),(2,0,9,'0000-00-00','0000-00-00','00:00:00','00:00:00','2007-10-14 00:00:00','2007-10-14 00:00:00','d','d'); +CREATE TABLE t2 ( +`pk` int(11) NOT NULL AUTO_INCREMENT, +`int_nokey` int(11) NOT NULL, +`int_key` int(11) NOT NULL, +`date_key` date NOT NULL, +`date_nokey` date NOT NULL, +`time_key` time NOT NULL, +`time_nokey` time NOT NULL, +`datetime_key` datetime NOT NULL, +`datetime_nokey` datetime NOT NULL, +`varchar_key` varchar(1) NOT NULL, +`varchar_nokey` varchar(1) NOT NULL, +PRIMARY KEY (`pk`), +KEY `int_key` (`int_key`), +KEY `date_key` (`date_key`), +KEY `time_key` (`time_key`), +KEY `datetime_key` (`datetime_key`), +KEY `varchar_key` (`varchar_key`) +) ENGINE=InnoDB; +Warnings: +Warning 1286 Unknown table engine 'InnoDB' +Warning 1266 Using storage engine MyISAM for table 't2' +INSERT INTO t2 VALUES (1,1,6,'2005-12-23','2005-12-23','02:24:28','02:24:28','0000-00-00 00:00:00','0000-00-00 00:00:00','g','g'),(2,0,3,'2009-09-14','2009-09-14','00:00:00','00:00:00','2000-01-30 16:39:40','2000-01-30 16:39:40','q','q'),(3,0,3,'0000-00-00','0000-00-00','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','c','c'),(4,1,6,'2007-03-29','2007-03-29','15:49:00','15:49:00','0000-00-00 00:00:00','0000-00-00 00:00:00','m','m'),(5,4,0,'2002-12-04','2002-12-04','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','o','o'),(6,9,0,'2005-01-28','2005-01-28','00:00:00','00:00:00','2001-05-18 00:00:00','2001-05-18 00:00:00','w','w'),(7,6,0,'0000-00-00','0000-00-00','06:57:25','06:57:25','0000-00-00 00:00:00','0000-00-00 00:00:00','m','m'),(8,0,0,'0000-00-00','0000-00-00','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','z','z'),(9,4,6,'2006-08-15','2006-08-15','00:00:00','00:00:00','2002-04-12 14:44:25','2002-04-12 14:44:25','j','j'),(10,0,5,'2006-12-20','2006-12-20','10:13:53','10:13:53','2008-07-22 00:00:00','2008-07-22 00:00:00','y','y'),(11,9,7,'0000-00-00','0000-00-00','00:00:00','00:00:00','2004-07-05 00:00:00','2004-07-05 00:00:00','{','{'),(12,4,3,'2007-01-26','2007-01-26','23:00:51','23:00:51','2001-05-16 00:00:00','2001-05-16 00:00:00','f','f'),(13,7,0,'2004-03-27','2004-03-27','00:00:00','00:00:00','2005-01-24 03:30:37','2005-01-24 03:30:37','',''),(14,6,0,'2006-07-26','2006-07-26','18:43:57','18:43:57','0000-00-00 00:00:00','0000-00-00 00:00:00','{','{'),(15,0,6,'2000-01-14','2000-01-14','00:00:00','00:00:00','2000-09-21 00:00:00','2000-09-21 00:00:00','o','o'),(16,9,8,'0000-00-00','0000-00-00','21:15:08','21:15:08','0000-00-00 00:00:00','0000-00-00 00:00:00','a','a'),(17,2,0,'2004-10-27','2004-10-27','00:00:00','00:00:00','2004-03-24 22:13:43','2004-03-24 22:13:43','',''),(18,7,4,'0000-00-00','0000-00-00','08:38:27','08:38:27','2002-03-18 19:51:44','2002-03-18 19:51:44','t','t'),(19,5,3,'2008-03-07','2008-03-07','03:29:07','03:29:07','2007-12-01 18:44:44','2007-12-01 18:44:44','t','t'),(20,0,0,'2002-04-09','2002-04-09','16:06:03','16:06:03','2009-04-22 00:00:00','2009-04-22 00:00:00','n','n'); +DELETE FROM t2 WHERE `int_key` < 3 LIMIT 1; +UPDATE t1 SET `int_key` = 3 ORDER BY `pk` LIMIT 4; +DELETE FROM t2 WHERE `int_key` < 3 LIMIT 1; +DELETE FROM t2 WHERE `pk` < 6 LIMIT 1; +UPDATE t1 SET `int_key` = 6 ORDER BY `pk` LIMIT 3; +DELETE FROM t2 WHERE `pk` < 6 LIMIT 1; +UPDATE t1 SET `pk` = 6 ORDER BY `int_key` LIMIT 6; +ERROR 23000: Duplicate entry '6' for key 'PRIMARY' +DELETE FROM t2 WHERE `pk` < 7 LIMIT 1; +UPDATE t1 SET `int_key` = 4 ORDER BY `pk` LIMIT 6; +*** results: t2 must be consistent **** +Comparing tables master:test.t2 and master:test.t2 +DROP TABLE t1, t2; +EOF OF TESTS From d2603f9aedaa36e0d8e8bb4e9e257d7eecbb1b96 Mon Sep 17 00:00:00 2001 From: Matthias Leich Date: Tue, 4 Nov 2008 12:27:21 +0100 Subject: [PATCH 063/141] - Fix for Bug #39848, #39863, #39978, #39569 Bug#39848 events_bugs fails sporadically on pushbuild (missing rows in table event_log) Details: Reimplement the subtest for BUG 28924 - check if the number of rows within the table event_log changes but don't print rows because the number varies depending on load on testing box - shift DROP USER befor DROP EVENT = Subtest fits again to old bug - remove no more needed comments + variables Bug#39863 events_bugs fails sporadically on pushbuild (extra processes in I_S.PROCESSLIST) Details: Abort with appropriate message to the protocol if release_lock() does not has the intended effect. This cannot prevent problems caused by the probably buggy release_lock() but it reveals if we had a problem in this area. Bug#39978 main.events_bugs does not clean up Detail: Restore global.event_scheduler = ON at end of test Bug#39569 events_bugs fails sporadically on pushbuild (should have failed with errno 1539) Detail: Set $wait_timeout to 4 instead of 2 - Fix two instabilities (result sets pulled from processlist in subtest for bug 16407) which were found during tests with high parallel I/O load - Minor improvements of formatting Details: - Add comments - Remove tabs and trailing blanks - Add line breaks for better readability --- mysql-test/r/events_bugs.result | 62 ++++----- mysql-test/t/disabled.def | 1 - mysql-test/t/events_bugs.test | 217 +++++++++++++++++++++++--------- 3 files changed, 189 insertions(+), 91 deletions(-) diff --git a/mysql-test/r/events_bugs.result b/mysql-test/r/events_bugs.result index 814cf42d16c..c698531dfec 100644 --- a/mysql-test/r/events_bugs.result +++ b/mysql-test/r/events_bugs.result @@ -59,7 +59,8 @@ begin select get_lock('test_bug16407', 60); end| "Now if everything is fine the event has compiled and is locked" -select /*1*/ user, host, db, info from information_schema.processlist where command!='Daemon' and (info is null or info not like '%processlist%') order by info; +select /*1*/ user, host, db, info from information_schema.processlist +where info = 'select get_lock(\'test_bug16407\', 60)'; user host db info root localhost events_test select get_lock('test_bug16407', 60) select release_lock('test_bug16407'); @@ -114,18 +115,18 @@ event_schema event_name sql_mode events_test ee_16407_2 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER events_test ee_16407_3 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER events_test ee_16407_4 -select /*2*/ user, host, db, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info; +select /*2*/ user, host, db, info from information_schema.processlist +where info = 'select get_lock(\'ee_16407_2\', 60)'; user host db info -event_scheduler localhost NULL NULL root localhost events_test select get_lock('ee_16407_2', 60) root localhost events_test select get_lock('ee_16407_2', 60) root localhost events_test select get_lock('ee_16407_2', 60) select release_lock('ee_16407_2'); release_lock('ee_16407_2') 1 -select /*3*/ user, host, db, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info; +select /*3*/ user, host, db, info from information_schema.processlist +where info = 'select get_lock(\'ee_16407_2\', 60)'; user host db info -event_scheduler localhost NULL NULL set global event_scheduler= off; select * from events_smode_test order by ev_name, a; ev_name a @@ -164,7 +165,9 @@ select release_lock('ee_16407_5'); call events_test.ee_16407_6_pendant(); end| "Should have 2 locked processes" -select /*4*/ user, host, db, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info; +select /*4*/ user, host, db, info from information_schema.processlist +where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') +order by info; user host db info event_scheduler localhost NULL NULL root localhost events_test select get_lock('ee_16407_5', 60) @@ -173,7 +176,9 @@ select release_lock('ee_16407_5'); release_lock('ee_16407_5') 1 "Should have 0 processes locked" -select /*5*/ user, host, db, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info; +select /*5*/ user, host, db, info from information_schema.processlist +where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') +order by info; user host db info event_scheduler localhost NULL NULL select * from events_smode_test order by ev_name, a; @@ -566,10 +571,9 @@ SHOW GRANTS FOR CURRENT_USER; Grants for root@localhost GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION SET GLOBAL event_scheduler = ON; -CREATE TABLE event_log (id int KEY AUTO_INCREMENT, -ev_nm char(40), ev_cnt int, -ev_tm timestamp) ENGINE=MyISAM; -SET @ev_base_date = 20281224180000; +CREATE TABLE events_test.event_log +(id int KEY AUTO_INCREMENT, ev_nm char(40), ev_cnt int, ev_tm timestamp) +ENGINE=MyISAM; SET autocommit=0; CREATE USER evtest1@localhost; SET PASSWORD FOR evtest1@localhost = password('ev1'); @@ -582,41 +586,40 @@ GRANT USAGE ON *.* TO 'evtest1'@'localhost' IDENTIFIED BY PASSWORD '*3170F3644E3 GRANT SELECT, INSERT ON `test`.* TO 'evtest1'@'localhost' GRANT SELECT, INSERT, CREATE, EVENT ON `events_test`.* TO 'evtest1'@'localhost' connection e1; -USE events_test; CREATE EVENT ev_sched_1823 ON SCHEDULE EVERY 2 SECOND DO BEGIN SET AUTOCOMMIT = 0; SET @evname = 'ev_sched_1823'; SET @cnt = 0; -SELECT COUNT(*) INTO @cnt FROM test.event_log WHERE ev_nm = @evname; +SELECT COUNT(*) INTO @cnt FROM events_test.event_log WHERE ev_nm = @evname; IF @cnt < 6 THEN -INSERT INTO test.event_log VALUES (NULL,@evname,@cnt+1,current_timestamp()); +INSERT INTO events_test.event_log VALUES (NULL,@evname,@cnt+1,current_timestamp()); COMMIT; END IF; -SELECT COUNT(*) INTO @cnt FROM test.event_log WHERE ev_nm = @evname; +SELECT COUNT(*) INTO @cnt FROM events_test.event_log WHERE ev_nm = @evname; IF @cnt < 6 THEN -INSERT INTO test.event_log VALUES (NULL,@evname,@cnt+1,current_timestamp()); +INSERT INTO events_test.event_log VALUES (NULL,@evname,@cnt+1,current_timestamp()); ROLLBACK; END IF; END;| +Sleep till the first INSERT into events_test.event_log occured +SELECT COUNT(*) > 0 AS "Expect 1" FROM events_test.event_log; +Expect 1 +1 connection default; -DROP EVENT ev_sched_1823; DROP USER evtest1@localhost; -USE test; -===================================================================================== -select id,ev_nm,ev_cnt from event_log order by id; -id ev_nm ev_cnt -1 ev_sched_1823 1 -2 ev_sched_1823 2 -3 ev_sched_1823 3 -4 ev_sched_1823 4 -5 ev_sched_1823 5 -6 ev_sched_1823 6 -DROP TABLE event_log; +Sleep 4 seconds +SELECT COUNT(*) INTO @row_cnt FROM events_test.event_log; +Sleep 4 seconds +SELECT COUNT(*) > @row_cnt AS "Expect 0" FROM events_test.event_log; +Expect 0 +0 +DROP EVENT events_test.ev_sched_1823; +DROP TABLE events_test.event_log; SET GLOBAL event_scheduler = OFF; SET GLOBAL event_scheduler= ON; CREATE EVENT bug28641 ON SCHEDULE AT '2038.01.18 03:00:00' - DO BEGIN +DO BEGIN SELECT 1; END;| SET GLOBAL event_scheduler= OFF; @@ -736,3 +739,4 @@ select name from mysql.event where name = 'p' and sql_mode = @full_mode; name drop event e1; DROP DATABASE events_test; +SET GLOBAL event_scheduler = 'ON'; diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index a2c875301f8..8c89d01f0f8 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -13,4 +13,3 @@ federated_transactions : Bug#29523 Transactions do not work csv_alter_table : Bug#33696 2008-01-21 pcrews no .result file - bug allows NULL columns in CSV tables log_tables.test : Bug #37798: main.log_tables fails randomly on powermacg5 and windows slow_query_log_func.test : Bug #37962: *_func tests containing sleeps/race conditions -events-bugs.test : Bug #39848, Bug #39863, Bug #39569, Bug #37774 diff --git a/mysql-test/t/events_bugs.test b/mysql-test/t/events_bugs.test index b3b2f37e36f..e86734c167c 100644 --- a/mysql-test/t/events_bugs.test +++ b/mysql-test/t/events_bugs.test @@ -1,3 +1,42 @@ +#### t/events_bugs.test +# +# Last change: +# 2008-10-16 mleich +# - Fix for +# Bug#39848 events_bugs fails sporadically on pushbuild +# (missing rows in table event_log) +# Bug#39863 events_bugs fails sporadically on pushbuild (extra processes +# in I_S.PROCESSLIST) +# Bug#39978 main.events_bugs does not clean up +# Bug#39569 events_bugs fails sporadically on pushbuild (should have +# failed with errno 1539) +# - Minor improvements of formatting +# +# +# Outcome of some experiments (mleich): +# 1. SET GLOBAL event_scheduler = 'ON'; +# Immediate observation of the processlist. +# Effects: +# 1. There is no guarantee to find immediate the user 'event_scheduler' +# within information_schema.processlist. +# 2. Some states of the user 'event_scheduler' found in PROCESSLIST: +# USER HOST DB COMMAND TIME STATE INFO +# event_scheduler localhost NULL Daemon 0 Waiting on empty queue NULL +# event_scheduler localhost NULL Daemon 0 Initialized NULL +# 2. SET GLOBAL event_scheduler = 'OFF'; +# Immediate observation of the processlist. +# Effects: +# 1. I never found the user 'event_scheduler' within the processlist. +# 2. Events just during execution could be found within the processlist +# = It does not look like "SET GLOBAL event_scheduler = 'OFF'" stops them. +# 3. An event gets executed +# USER evtest1 (Definer of event) +# DB events_test (DB during time of event creation) +# COMMAND Connect +# STATE NULL +# INFO SET @evname = 'ev_sched_1823' (Part of the event code) +# + # Can't test with embedded server that doesn't support grants -- source include/not_embedded.inc @@ -105,14 +144,39 @@ begin end| delimiter ;| +# The default session has the user lock. +# We wait till one event runs and hangs when trying to get the user lock. let $wait_condition= - select count(*) = 1 from information_schema.processlist + select count(*) > 0 from information_schema.processlist where info = 'select get_lock(\'test_bug16407\', 60)'; --source include/wait_condition.inc --echo "Now if everything is fine the event has compiled and is locked" -select /*1*/ user, host, db, info from information_schema.processlist where command!='Daemon' and (info is null or info not like '%processlist%') order by info; +# Expect to see one session in events_test waiting for the user lock. +select /*1*/ user, host, db, info from information_schema.processlist +where info = 'select get_lock(\'test_bug16407\', 60)'; select release_lock('test_bug16407'); +# Try to avoid +# Bug#39863 events_bugs fails sporadically on pushbuild (extra processes in I_S.PROCESSLIST) +# which is most probably caused by +# Bug#32782 User lock hash fails to find lock +# "various issues related to missing or incorrect return results +# from release_lock()." +# Therefore we check here if the event executing session disappeared or +# we waited >= 5 seconds for this to happen. +let $wait_timeout= 5; +let $wait_condition= + select count(*) = 0 from information_schema.processlist + where info = 'select get_lock(\'test_bug16407\', 60)'; +--source include/wait_condition.inc +if (!`$wait_condition`) +{ + --echo ERROR: There must be no session with info = 'select get_lock('test_bug16407', 60) within the processlist. + --echo We probably hit Bug#32782 User lock hash fails to find lock + eval select * from information_schema.processlist; + --echo Abort + exit; +} set global event_scheduler= off; @@ -164,17 +228,27 @@ let $wait_condition= where info = 'select get_lock(\'ee_16407_2\', 60)'; --source include/wait_condition.inc -select /*2*/ user, host, db, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info; +select /*2*/ user, host, db, info from information_schema.processlist +where info = 'select get_lock(\'ee_16407_2\', 60)'; select release_lock('ee_16407_2'); +# Try to avoid +# Bug#39863 events_bugs fails sporadically on pushbuild (extra processes in I_S.PROCESSLIST) +# which is most probably caused by +# Bug#32782 User lock hash fails to find lock +# "various issues related to missing or incorrect return results +# from release_lock()." +# Therefore we check here if the event executing sessions disappeared or +# we waited >= 5 seconds for this to happen. +let $wait_timeout= 5; let $wait_condition= - select count(*) = 1 and user = 'event_scheduler' and info is null + select count(*) = 0 from information_schema.processlist - where (command!='Daemon' || user='event_scheduler') - and (info is null or info not like '%processlist%'); + where info = 'select get_lock(\'ee_16407_2\', 60)'; --source include/wait_condition.inc -select /*3*/ user, host, db, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info; +select /*3*/ user, host, db, info from information_schema.processlist +where info = 'select get_lock(\'ee_16407_2\', 60)'; set global event_scheduler= off; select * from events_smode_test order by ev_name, a; --echo "OK, last check before we drop them" @@ -216,7 +290,9 @@ let $wait_condition= --source include/wait_condition.inc --echo "Should have 2 locked processes" -select /*4*/ user, host, db, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info; +select /*4*/ user, host, db, info from information_schema.processlist +where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') +order by info; select release_lock('ee_16407_5'); let $wait_condition= @@ -227,7 +303,9 @@ let $wait_condition= --source include/wait_condition.inc --echo "Should have 0 processes locked" -select /*5*/ user, host, db, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info; +select /*5*/ user, host, db, info from information_schema.processlist +where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') +order by info; select * from events_smode_test order by ev_name, a; --echo "And here we check one more time before we drop the events" select event_schema, event_name, sql_mode from information_schema.events order by event_schema, event_name; @@ -239,7 +317,7 @@ set global event_scheduler= off; drop table events_smode_test; set sql_mode=@old_sql_mode; # -# End - 16407: Events: Changes in sql_mode won't be taken into account +# End - 16407: Events: Changes in sql_mode won't be taken into account # # @@ -401,39 +479,39 @@ CREATE USER mysqltest_u1@localhost; GRANT EVENT ON events_test.* TO mysqltest_u1@localhost; CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1; -SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS; +SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS; DROP EVENT e1; CREATE DEFINER=CURRENT_USER EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1; -SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS; +SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS; ALTER DEFINER=mysqltest_u1@localhost EVENT e1 ON SCHEDULE EVERY 1 HOUR; -SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS; +SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS; DROP EVENT e1; CREATE DEFINER=CURRENT_USER() EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1; -SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS; +SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS; DROP EVENT e1; CREATE DEFINER=mysqltest_u1@localhost EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1; -SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS; +SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS; DROP EVENT e1; connect (conn1, localhost, mysqltest_u1, , events_test); CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1; -SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS; +SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS; DROP EVENT e1; CREATE DEFINER=CURRENT_USER EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1; -SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS; +SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS; --error ER_SPECIFIC_ACCESS_DENIED_ERROR ALTER DEFINER=root@localhost EVENT e1 ON SCHEDULE EVERY 1 HOUR; -SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS; +SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS; DROP EVENT e1; CREATE DEFINER=CURRENT_USER() EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1; -SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS; +SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS; DROP EVENT e1; --error ER_SPECIFIC_ACCESS_DENIED_ERROR @@ -664,21 +742,18 @@ CREATE EVENT new_event ON SCHEDULE AT NOW() ENDS NOW() DO SELECT 1; CREATE EVENT new_event ON SCHEDULE AT NOW() STARTS NOW() ENDS NOW() DO SELECT 1; # -# START - BUG#28924 If I drop the user who is the definer of an active event then server cores +# START - BUG#28924 If I drop the user who is the definer of an active event +# then server cores # let $engine=MyISAM; USE test; SHOW GRANTS FOR CURRENT_USER; SET GLOBAL event_scheduler = ON; -eval CREATE TABLE event_log (id int KEY AUTO_INCREMENT, - ev_nm char(40), ev_cnt int, - ev_tm timestamp) ENGINE=$engine; -SET @ev_base_date = 20281224180000; ---disable_warnings +eval +CREATE TABLE events_test.event_log +(id int KEY AUTO_INCREMENT, ev_nm char(40), ev_cnt int, ev_tm timestamp) +ENGINE=$engine; SET autocommit=0; -#DROP DATABASE IF EXISTS ev_db_1; -#CREATE DATABASE ev_db_1; ---enable_warnings CREATE USER evtest1@localhost; SET PASSWORD FOR evtest1@localhost = password('ev1'); REVOKE ALL PRIVILEGES, GRANT OPTION FROM evtest1@localhost; @@ -689,53 +764,70 @@ SHOW GRANTS FOR evtest1@localhost; --echo connection e1; --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK connect (e1,localhost,evtest1,ev1,events_test,$MASTER_MYPORT,$MASTER_MYSOCK); -USE events_test; - DELIMITER |; CREATE EVENT ev_sched_1823 ON SCHEDULE EVERY 2 SECOND DO BEGIN - SET AUTOCOMMIT = 0; - SET @evname = 'ev_sched_1823'; - SET @cnt = 0; - SELECT COUNT(*) INTO @cnt FROM test.event_log WHERE ev_nm = @evname; - IF @cnt < 6 THEN - INSERT INTO test.event_log VALUES (NULL,@evname,@cnt+1,current_timestamp()); - COMMIT; - END IF; - SELECT COUNT(*) INTO @cnt FROM test.event_log WHERE ev_nm = @evname; - IF @cnt < 6 THEN - INSERT INTO test.event_log VALUES (NULL,@evname,@cnt+1,current_timestamp()); - ROLLBACK; - END IF; + SET AUTOCOMMIT = 0; + SET @evname = 'ev_sched_1823'; + SET @cnt = 0; + SELECT COUNT(*) INTO @cnt FROM events_test.event_log WHERE ev_nm = @evname; + IF @cnt < 6 THEN + INSERT INTO events_test.event_log VALUES (NULL,@evname,@cnt+1,current_timestamp()); + COMMIT; + END IF; + SELECT COUNT(*) INTO @cnt FROM events_test.event_log WHERE ev_nm = @evname; + IF @cnt < 6 THEN + INSERT INTO events_test.event_log VALUES (NULL,@evname,@cnt+1,current_timestamp()); + ROLLBACK; + END IF; END;| DELIMITER ;| - ---sleep 6 +# 1. Show that the new created event is runnable and gets executed within a +# reasonable time like 4 seconds. Till ~ 2 seconds could pass on a heavy +# loaded testing box before something gets executed). +# Detection of execution is via the records inserted by the event. +--echo Sleep till the first INSERT into events_test.event_log occured +let $wait_timeout= 4; +let $wait_condition= +SELECT COUNT(*) > 0 FROM events_test.event_log; +--source include/wait_condition.inc +SELECT COUNT(*) > 0 AS "Expect 1" FROM events_test.event_log; +# --echo connection default; -DROP EVENT ev_sched_1823; connection default; DROP USER evtest1@localhost; - ---sleep 6 -USE test; ---echo ===================================================================================== ---sleep 5 -#--disable_result_log -select id,ev_nm,ev_cnt from event_log order by id; -#--enable_result_log -DROP TABLE event_log; -#DROP DATABASE ev_db_1; +# 2. If we meet BUG#28924 again than a server crash happens within the next +# few seconds +# 3. Check that the event is never executed again +# It could be that an event execution was running before the DROP USER +# and all implicite actions belonging to this are completed. +# Lets assume that ~ 4 seconds waiting are enough for the event +# scheduler to detect that +--echo Sleep 4 seconds +sleep 4; +SELECT COUNT(*) INTO @row_cnt FROM events_test.event_log; +# Give the event mechanism ~ 4 seconds to do something wrong +# (execute the event of the dropped user -> inser rows). +--echo Sleep 4 seconds +sleep 4; +SELECT COUNT(*) > @row_cnt AS "Expect 0" FROM events_test.event_log; +# +# Cleanup +disconnect e1; +DROP EVENT events_test.ev_sched_1823; +DROP TABLE events_test.event_log; SET GLOBAL event_scheduler = OFF; + # # Bug#28641 CREATE EVENT with '2038.01.18 03:00:00' let server crash. # SET GLOBAL event_scheduler= ON; DELIMITER |; CREATE EVENT bug28641 ON SCHEDULE AT '2038.01.18 03:00:00' - DO BEGIN - SELECT 1; - END;| +DO BEGIN + SELECT 1; +END;| DELIMITER ;| SET GLOBAL event_scheduler= OFF; @@ -868,7 +960,7 @@ SET GLOBAL EVENT_SCHEDULER = ON; --echo # Waiting for the event scheduler to execute and drop event e1... -let $wait_timeout = 2; +let $wait_timeout = 4; let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.EVENTS @@ -957,7 +1049,7 @@ select name from mysql.event where name = 'p' and sql_mode = @full_mode; drop event e1; ########################################################################### -# +# # End of tests # # !!! KEEP this section AT THE END of this file !!! @@ -970,5 +1062,8 @@ let $wait_condition= --source include/wait_condition.inc DROP DATABASE events_test; +# Restore the original state (option with no argument in events_bugs-master.opt +# turns the scheduler on). +SET GLOBAL event_scheduler = 'ON'; # THIS MUST BE THE LAST LINE in this file. From bcd88c9f9e617c4a9c426cbd0902f93a486e6b81 Mon Sep 17 00:00:00 2001 From: Mattias Jonsson Date: Wed, 5 Nov 2008 15:53:28 +0100 Subject: [PATCH 064/141] Bug#40494: MYSQL server crashes on range access with partitioning and order by Problem was that the first index read was unordered, and the next was ordered, resulting in use of uninitialized data. Solution was to use the correct variable to see if the 'next' call should be ordered or not. mysql-test/r/partition.result: Bug#40494: MYSQL server crashes on range access with partitioning and order by Added test case for the bug. mysql-test/t/partition.test: Bug#40494: MYSQL server crashes on range access with partitioning and order by Added test case for the bug. sql/ha_partition.cc: Bug#40494: MYSQL server crashes on range access with partitioning and order by Used the wrong variable to decide to continue with ordered or unordered scan. --- mysql-test/r/partition.result | 74 +++++++++++++++++++++++++++++++++++ mysql-test/t/partition.test | 29 ++++++++++++++ sql/ha_partition.cc | 2 +- 3 files changed, 104 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/partition.result b/mysql-test/r/partition.result index e76c874324e..289a24685ff 100644 --- a/mysql-test/r/partition.result +++ b/mysql-test/r/partition.result @@ -1,4 +1,78 @@ drop table if exists t1, t2; +CREATE TABLE t1 (a INT NOT NULL, KEY(a)) +PARTITION BY RANGE(a) +(PARTITION p1 VALUES LESS THAN (200), PARTITION pmax VALUES LESS THAN MAXVALUE); +INSERT INTO t1 VALUES (2), (40), (40), (70), (60), (90), (199); +SELECT a FROM t1 WHERE a BETWEEN 60 AND 95 ORDER BY a ASC; +a +60 +70 +90 +SELECT a FROM t1 WHERE a BETWEEN 60 AND 95; +a +60 +70 +90 +INSERT INTO t1 VALUES (200), (250), (210); +SELECT a FROM t1 WHERE a BETWEEN 60 AND 220 ORDER BY a ASC; +a +60 +70 +90 +199 +200 +210 +SELECT a FROM t1 WHERE a BETWEEN 200 AND 220 ORDER BY a ASC; +a +200 +210 +SELECT a FROM t1 WHERE a BETWEEN 60 AND 95 ORDER BY a DESC; +a +90 +70 +60 +SELECT a FROM t1 WHERE a BETWEEN 60 AND 220 ORDER BY a DESC; +a +210 +200 +199 +90 +70 +60 +SELECT a FROM t1 WHERE a BETWEEN 200 AND 220 ORDER BY a DESC; +a +210 +200 +SELECT a FROM t1 WHERE a BETWEEN 60 AND 220; +a +199 +200 +210 +60 +70 +90 +SELECT a FROM t1 WHERE a BETWEEN 200 AND 220; +a +200 +210 +SELECT a FROM t1 WHERE a BETWEEN 60 AND 95; +a +60 +70 +90 +SELECT a FROM t1 WHERE a BETWEEN 60 AND 220; +a +199 +200 +210 +60 +70 +90 +SELECT a FROM t1 WHERE a BETWEEN 200 AND 220; +a +200 +210 +DROP TABLE t1; CREATE TABLE t1 ( a INT NOT NULL, b MEDIUMINT NOT NULL, diff --git a/mysql-test/t/partition.test b/mysql-test/t/partition.test index 83e0cde8991..e016f72e75b 100644 --- a/mysql-test/t/partition.test +++ b/mysql-test/t/partition.test @@ -14,6 +14,35 @@ drop table if exists t1, t2; --enable_warnings +# +# Bug#40494: Crash MYSQL server crashes on range access with partitioning +# and order by +# +CREATE TABLE t1 (a INT NOT NULL, KEY(a)) +PARTITION BY RANGE(a) +(PARTITION p1 VALUES LESS THAN (200), PARTITION pmax VALUES LESS THAN MAXVALUE); +INSERT INTO t1 VALUES (2), (40), (40), (70), (60), (90), (199); +SELECT a FROM t1 WHERE a BETWEEN 60 AND 95 ORDER BY a ASC; +--sorted_result +SELECT a FROM t1 WHERE a BETWEEN 60 AND 95; +INSERT INTO t1 VALUES (200), (250), (210); +SELECT a FROM t1 WHERE a BETWEEN 60 AND 220 ORDER BY a ASC; +SELECT a FROM t1 WHERE a BETWEEN 200 AND 220 ORDER BY a ASC; +SELECT a FROM t1 WHERE a BETWEEN 60 AND 95 ORDER BY a DESC; +SELECT a FROM t1 WHERE a BETWEEN 60 AND 220 ORDER BY a DESC; +SELECT a FROM t1 WHERE a BETWEEN 200 AND 220 ORDER BY a DESC; +--sorted_result +SELECT a FROM t1 WHERE a BETWEEN 60 AND 220; +--sorted_result +SELECT a FROM t1 WHERE a BETWEEN 200 AND 220; +--sorted_result +SELECT a FROM t1 WHERE a BETWEEN 60 AND 95; +--sorted_result +SELECT a FROM t1 WHERE a BETWEEN 60 AND 220; +--sorted_result +SELECT a FROM t1 WHERE a BETWEEN 200 AND 220; +DROP TABLE t1; + # # Bug35931: Index search may return duplicates # diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc index 14e321218ca..303a2c152fb 100644 --- a/sql/ha_partition.cc +++ b/sql/ha_partition.cc @@ -4084,7 +4084,7 @@ int ha_partition::read_range_next() { DBUG_ENTER("ha_partition::read_range_next"); - if (m_ordered) + if (m_ordered_scan_ongoing) { DBUG_RETURN(handle_ordered_next(table->record[0], eq_range)); } From 3c49cb0795fae5c43d00a499b1d4f71365bb9ba9 Mon Sep 17 00:00:00 2001 From: Evgeny Potemkin Date: Wed, 5 Nov 2008 18:40:23 +0300 Subject: [PATCH 065/141] Bug#37870: Usage of uninitialized value caused failed assertion. The convert_constant_item function converts a constant to integer using field for condition like 'field = a_constant'. In some cases the convert_constant_item is called for a subquery when outer select is already being executed, so convert_constant_item saves field's value to prevent its corruption. For EXPLAIN and at the prepare phase field's value isn't initialized yet, thus when convert_constant_item tries to restore saved value it fails assertion. Now the convert_constant_item doesn't save/restore field's value if it's haven't been read yet. Outer constant values are always saved. mysql-test/r/explain.result: Added a test case for the bug#37870. mysql-test/t/explain.test: Added a test case for the bug#37870. sql/item_cmpfunc.cc: Bug#37870: Usage of uninitialized value caused failed assertion. Now the convert_constant_item doesn't save/restore field's value if it's haven't been read yet. Outer constant values are always saved. --- BUILD/SETUP.sh | 4 ++-- mysql-test/r/explain.result | 16 ++++++++++++++-- mysql-test/t/explain.test | 10 ++++++++-- sql/item_cmpfunc.cc | 14 +++++++++----- 4 files changed, 33 insertions(+), 11 deletions(-) diff --git a/BUILD/SETUP.sh b/BUILD/SETUP.sh index ef8aefca710..3655d3eae67 100755 --- a/BUILD/SETUP.sh +++ b/BUILD/SETUP.sh @@ -80,7 +80,7 @@ path=`dirname $0` . "$path/check-cpu" export AM_MAKEFLAGS -AM_MAKEFLAGS="-j 4" +AM_MAKEFLAGS="-j 6" # SSL library to use.--with-ssl will select our bundled yaSSL # implementation of SSL. To use openSSl you will nee too point out @@ -105,7 +105,7 @@ if [ "x$warning_mode" != "xpedantic" ]; then cxx_warnings="$cxx_warnings -Wreorder" cxx_warnings="$cxx_warnings -Wctor-dtor-privacy -Wnon-virtual-dtor" # Added unless --with-debug=full - debug_extra_cflags="-O1 -Wuninitialized" + debug_extra_cflags="-O0 -g3 -gdwarf-2" #1 -Wuninitialized" else warnings="-W -Wall -ansi -pedantic -Wno-long-long -Wno-unused -D_POSIX_SOURCE" c_warnings="$warnings" diff --git a/mysql-test/r/explain.result b/mysql-test/r/explain.result index ee3a4ba3387..3de741b5efb 100644 --- a/mysql-test/r/explain.result +++ b/mysql-test/r/explain.result @@ -158,15 +158,27 @@ DROP TABLE t1,t2; # # Bug#37870: Usage of uninitialized value caused failed assertion. # -create table t1 (dt datetime not null); +create table t1 (dt datetime not null, t time not null); create table t2 (dt datetime not null); -insert into t1 values ('2001-01-01 1:1:1'), ('2001-01-01 1:1:1'); +insert into t1 values ('2001-01-01 1:1:1', '1:1:1'), +('2001-01-01 1:1:1', '1:1:1'); insert into t2 values ('2001-01-01 1:1:1'), ('2001-01-01 1:1:1'); flush tables; EXPLAIN SELECT OUTR.dt FROM t1 AS OUTR WHERE OUTR.dt IN (SELECT INNR.dt FROM t2 AS INNR WHERE OUTR.dt IS NULL ); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY OUTR ALL NULL NULL NULL NULL 2 Using where 2 DEPENDENT SUBQUERY INNR ALL NULL NULL NULL NULL 2 Using where +flush tables; SELECT OUTR.dt FROM t1 AS OUTR WHERE OUTR.dt IN (SELECT INNR.dt FROM t2 AS INNR WHERE OUTR.dt IS NULL ); dt +flush tables; +EXPLAIN SELECT OUTR.dt FROM t1 AS OUTR WHERE OUTR.dt IN ( SELECT INNR.dt FROM t2 AS INNR WHERE OUTR.t < '2005-11-13 7:41:31' ); +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY OUTR ALL NULL NULL NULL NULL 2 Using where +2 DEPENDENT SUBQUERY INNR ALL NULL NULL NULL NULL 2 Using where +flush tables; +SELECT OUTR.dt FROM t1 AS OUTR WHERE OUTR.dt IN ( SELECT INNR.dt FROM t2 AS INNR WHERE OUTR.t < '2005-11-13 7:41:31' ); +dt +2001-01-01 01:01:01 +2001-01-01 01:01:01 drop tables t1, t2; diff --git a/mysql-test/t/explain.test b/mysql-test/t/explain.test index e94f6d4d87d..3a71fde4421 100644 --- a/mysql-test/t/explain.test +++ b/mysql-test/t/explain.test @@ -126,13 +126,19 @@ DROP TABLE t1,t2; --echo # --echo # Bug#37870: Usage of uninitialized value caused failed assertion. --echo # -create table t1 (dt datetime not null); +create table t1 (dt datetime not null, t time not null); create table t2 (dt datetime not null); -insert into t1 values ('2001-01-01 1:1:1'), ('2001-01-01 1:1:1'); +insert into t1 values ('2001-01-01 1:1:1', '1:1:1'), +('2001-01-01 1:1:1', '1:1:1'); insert into t2 values ('2001-01-01 1:1:1'), ('2001-01-01 1:1:1'); flush tables; EXPLAIN SELECT OUTR.dt FROM t1 AS OUTR WHERE OUTR.dt IN (SELECT INNR.dt FROM t2 AS INNR WHERE OUTR.dt IS NULL ); +flush tables; SELECT OUTR.dt FROM t1 AS OUTR WHERE OUTR.dt IN (SELECT INNR.dt FROM t2 AS INNR WHERE OUTR.dt IS NULL ); +flush tables; +EXPLAIN SELECT OUTR.dt FROM t1 AS OUTR WHERE OUTR.dt IN ( SELECT INNR.dt FROM t2 AS INNR WHERE OUTR.t < '2005-11-13 7:41:31' ); +flush tables; +SELECT OUTR.dt FROM t1 AS OUTR WHERE OUTR.dt IN ( SELECT INNR.dt FROM t2 AS INNR WHERE OUTR.t < '2005-11-13 7:41:31' ); drop tables t1, t2; # End of 5.0 tests. diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc index cefa479fea6..3fd925c1182 100644 --- a/sql/item_cmpfunc.cc +++ b/sql/item_cmpfunc.cc @@ -413,11 +413,15 @@ static bool convert_constant_item(THD *thd, Item_field *field_item, thd->count_cuted_fields= CHECK_FIELD_IGNORE; /* - Store the value of the field/constant if it references an outer field because - the call to save_in_field below overrides that value. - Don't save value of the field for EXPLAIN since it's not initialized. + Store the value of the field/constant if it references an outer field + because the call to save_in_field below overrides that value. + Don't save field value if no data has been read yet. + Outer constant values are always saved. */ - if (field_item->depended_from && (!thd->lex->describe || field_item->const_item())) + bool save_field_value= (field_item->depended_from && + (field_item->const_item() || + !(field->table->status & STATUS_NO_RECORD))); + if (save_field_value) orig_field_val= field->val_int(); if (!(*item)->is_null() && !(*item)->save_in_field(field, 1)) { @@ -428,7 +432,7 @@ static bool convert_constant_item(THD *thd, Item_field *field_item, result= 1; // Item was replaced } /* Restore the original field value. */ - if (field_item->depended_from && (!thd->lex->describe || field_item->const_item())) + if (save_field_value) { result= field->store(orig_field_val, TRUE); /* orig_field_val must be a valid value that can be restored back. */ From f40fc60cf233fe3c82aeaf7da4d29fa83e600b00 Mon Sep 17 00:00:00 2001 From: Sven Sandberg Date: Thu, 6 Nov 2008 11:00:55 +0100 Subject: [PATCH 066/141] BUG#36625: Please remove the rpl_probe and rpl_parse features from the server Problem 1: BUG#36625: rpl_redirect doesn't do anything useful. It tests an obsolete feature that was never fully implemented. Fix 1: Remove rpl_redirect. Problem 2: rpl_innodb_bug28430 and rpl_flushlog_loop are disabled despite the bugs for which they were disabled have been fixed. Fix 2: Re-enable rpl_innodb_bug28430 and rpl_flushlog_loop. mysql-test/suite/rpl/r/rpl_redirect.result: Removed result file for obsolete test.\ mysql-test/suite/rpl/t/disabled.def: Re-enabled tests. mysql-test/suite/rpl/t/rpl_redirect.test: Removed obsolete test. --- mysql-test/suite/rpl/r/rpl_redirect.result | 40 ------------------- mysql-test/suite/rpl/t/disabled.def | 3 -- mysql-test/suite/rpl/t/rpl_redirect.test | 45 ---------------------- 3 files changed, 88 deletions(-) delete mode 100644 mysql-test/suite/rpl/r/rpl_redirect.result delete mode 100644 mysql-test/suite/rpl/t/rpl_redirect.test diff --git a/mysql-test/suite/rpl/r/rpl_redirect.result b/mysql-test/suite/rpl/r/rpl_redirect.result deleted file mode 100644 index 39a7cb3ac3b..00000000000 --- a/mysql-test/suite/rpl/r/rpl_redirect.result +++ /dev/null @@ -1,40 +0,0 @@ -stop slave; -drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; -reset master; -reset slave; -drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; -start slave; -SHOW SLAVE STATUS; -SHOW SLAVE HOSTS; -Server_id Host Port Rpl_recovery_rank Master_id -2 127.0.0.1 SLAVE_PORT 2 1 -create table t1 ( n int); -insert into t1 values (1),(2),(3),(4); -insert into t1 values(5); -SELECT * FROM t1 ORDER BY n; -n -1 -2 -3 -4 -5 -SELECT * FROM t1 ORDER BY n; -n -1 -2 -3 -4 -SELECT * FROM t1 ORDER BY n; -n -1 -2 -3 -4 -SELECT * FROM t1 ORDER BY n; -n -1 -2 -3 -4 -5 -drop table t1; diff --git a/mysql-test/suite/rpl/t/disabled.def b/mysql-test/suite/rpl/t/disabled.def index ebdb8014f88..8cae44a3607 100644 --- a/mysql-test/suite/rpl/t/disabled.def +++ b/mysql-test/suite/rpl/t/disabled.def @@ -10,6 +10,3 @@ # ############################################################################## -rpl_redirect : Failure is sporadic and and the test is superfluous (mats) -rpl_innodb_bug28430 : Failure on Solaris Bug #36793 -rpl_flushlog_loop : BUG#37733 2008-07-23 Sven disabled in 5.1-bugteam. the bug has been fixed in 5.1-rpl: please re-enable when that gets pushed to main diff --git a/mysql-test/suite/rpl/t/rpl_redirect.test b/mysql-test/suite/rpl/t/rpl_redirect.test deleted file mode 100644 index 1c6f31a030e..00000000000 --- a/mysql-test/suite/rpl/t/rpl_redirect.test +++ /dev/null @@ -1,45 +0,0 @@ -# -# Test of automatic redirection of queries to master/slave. -# - -source include/master-slave.inc; -# We disable this for now as PS doesn't handle redirection ---disable_ps_protocol - -#first, make sure the slave has had enough time to register -save_master_pos; -connection slave; -sync_with_master; - -#discover slaves -connection master; -source include/show_slave_status.inc; ---replace_result $SLAVE_MYPORT SLAVE_PORT -SHOW SLAVE HOSTS; -rpl_probe; - -#turn on master/slave query direction auto-magic -enable_rpl_parse; -create table t1 ( n int); -insert into t1 values (1),(2),(3),(4); -disable_rpl_parse; -save_master_pos; -connection slave; -sync_with_master; -insert into t1 values(5); -connection master; -enable_rpl_parse; -# The first of the queries will be sent to the slave, the second to the master. -SELECT * FROM t1 ORDER BY n; -SELECT * FROM t1 ORDER BY n; -disable_rpl_parse; -SELECT * FROM t1 ORDER BY n; -connection slave; -SELECT * FROM t1 ORDER BY n; - -# Cleanup -connection master; -drop table t1; -sync_slave_with_master; - -# End of 4.1 tests From e337639daa5ee7dd4f51be8776f30f889d5bd744 Mon Sep 17 00:00:00 2001 From: Mattias Jonsson Date: Thu, 6 Nov 2008 13:47:41 +0100 Subject: [PATCH 067/141] post push fix, removing dbug_print due to compiler warning --- sql/ha_partition.cc | 2 -- 1 file changed, 2 deletions(-) diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc index 49faed36de8..29d0c5a94a6 100644 --- a/sql/ha_partition.cc +++ b/sql/ha_partition.cc @@ -2469,8 +2469,6 @@ int ha_partition::open(const char *name, int mode, uint test_if_locked) ~(PARTITION_DISABLED_TABLE_FLAGS)) | (PARTITION_ENABLED_TABLE_FLAGS))) { - DBUG_PRINT("error", ("check_table_flag 0x%x != 0x%x table_flags()", - check_table_flags, (*file)->ha_table_flags())); error= HA_ERR_INITIALIZATION; goto err_handler; } From 723b92054c20d4bc5b37650b99c74d2136b7aa60 Mon Sep 17 00:00:00 2001 From: Joerg Bruehe Date: Thu, 6 Nov 2008 16:24:58 +0100 Subject: [PATCH 068/141] Bug #40546 Debug server in RPM is built with compiler optimization Prevent this by modifying CFLAGS and CXXFLAGS. support-files/mysql.spec.sh: Bug #40546 Debug server in RPM is built with compiler optimization Modify CFLAGS and CXXFLAGS for the duration of the debug server build (implemented by doing it in a subshell) so that they do not contain any optimization flag. Play it safe and prepare for both gcc and icc. --- support-files/mysql.spec.sh | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh index 2f09ebc61b2..dc80d379b83 100644 --- a/support-files/mysql.spec.sh +++ b/support-files/mysql.spec.sh @@ -240,10 +240,8 @@ BuildMySQL() { sh -c "PATH=\"${MYSQL_BUILD_PATH:-$PATH}\" \ CC=\"${CC:-$MYSQL_BUILD_CC}\" \ CXX=\"${CXX:-$MYSQL_BUILD_CXX}\" \ - CFLAGS=\"${MYSQL_BUILD_CFLAGS:-$RPM_OPT_FLAGS}\" \ - CXXFLAGS=\"${MYSQL_BUILD_CXXFLAGS:-$RPM_OPT_FLAGS \ - -felide-constructors -fno-exceptions -fno-rtti \ - }\" \ + CFLAGS=\"$CFLAGS\" \ + CXXFLAGS=\"$CXXFLAGS\" \ LDFLAGS=\"$MYSQL_BUILD_LDFLAGS\" \ ./configure \ $* \ @@ -307,6 +305,10 @@ then export CXX="gcc" fi +# Prepare compiler flags +CFLAGS=${MYSQL_BUILD_CFLAGS:-$RPM_OPT_FLAGS} +CXXFLAGS=${MYSQL_BUILD_CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-exceptions -fno-rtti } + # # Only link statically on our i386 build host (which has a specially # patched static glibc installed) - ia64 and x86_64 run glibc-2.3 (unpatched) @@ -314,6 +316,14 @@ fi # for servertype in '--with-debug=full' ' ' do + ( + # We are in a subshell, so we can modify variables just for one run. + if test "$servertype" != ' ' + then + CFLAGS=`echo $CFLAGS | sed -e 's/-O[0-9]* //' -e 's/-unroll2 //' -e 's/-ip //'` + CXXFLAGS=`echo $CXXFLAGS | sed -e 's/-O[0-9]* //' -e 's/-unroll2 //' -e 's/-ip //'` + fi + BuildMySQL "\ %if %{STATIC_BUILD} --disable-shared \ @@ -335,6 +345,7 @@ do --with-blackhole-storage-engine \ --with-federated-storage-engine \ --with-big-tables $servertype" + if test "$servertype" != ' ' then # if this is not the regular build, we save the server binary @@ -344,6 +355,7 @@ do make test-bt-debug make clean fi + ) done ./libtool --mode=execute nm --numeric-sort sql/mysqld > sql/mysqld.sym @@ -795,6 +807,11 @@ fi # itself - note that they must be ordered by date (important when # merging BK trees) %changelog +* Thu Nov 06 2008 Joerg Bruehe + +- Modify CFLAGS and CXXFLAGS such that a debug build is not optimized. + This should cover both gcc and icc flags. Fixes bug#40546. + * Mon Aug 18 2008 Joerg Bruehe - Get rid of the "warning: Installed (but unpackaged) file(s) found:" From 72b951ba580844a874be04082b9280b618738ff3 Mon Sep 17 00:00:00 2001 From: Andrei Elkin Date: Thu, 6 Nov 2008 19:10:09 +0200 Subject: [PATCH 069/141] bug#38230 refining the regression test to avoid explicit innodb engine in create. --- mysql-test/extra/rpl_tests/rpl_row_basic.test | 8 ++++---- mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result | 4 ++-- mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result | 4 ++-- mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result | 10 ++-------- 4 files changed, 10 insertions(+), 16 deletions(-) diff --git a/mysql-test/extra/rpl_tests/rpl_row_basic.test b/mysql-test/extra/rpl_tests/rpl_row_basic.test index a2c50279ce7..0ba27c69a55 100644 --- a/mysql-test/extra/rpl_tests/rpl_row_basic.test +++ b/mysql-test/extra/rpl_tests/rpl_row_basic.test @@ -486,7 +486,7 @@ sync_slave_with_master; DROP TABLE IF EXISTS t1, t2; --enable_warnings -CREATE TABLE t1 ( +eval CREATE TABLE t1 ( `pk` int(11) NOT NULL AUTO_INCREMENT, `int_nokey` int(11) NOT NULL, `int_key` int(11) NOT NULL, @@ -504,11 +504,11 @@ CREATE TABLE t1 ( KEY `time_key` (`time_key`), KEY `datetime_key` (`datetime_key`), KEY `varchar_key` (`varchar_key`) -) ENGINE=InnoDB; +) ENGINE=$type; INSERT INTO t1 VALUES (1,8,5,'0000-00-00','0000-00-00','10:37:38','10:37:38','0000-00-00 00:00:00','0000-00-00 00:00:00','p','p'),(2,0,9,'0000-00-00','0000-00-00','00:00:00','00:00:00','2007-10-14 00:00:00','2007-10-14 00:00:00','d','d'); -CREATE TABLE t2 ( +eval CREATE TABLE t2 ( `pk` int(11) NOT NULL AUTO_INCREMENT, `int_nokey` int(11) NOT NULL, `int_key` int(11) NOT NULL, @@ -526,7 +526,7 @@ CREATE TABLE t2 ( KEY `time_key` (`time_key`), KEY `datetime_key` (`datetime_key`), KEY `varchar_key` (`varchar_key`) -) ENGINE=InnoDB; +) ENGINE=$type; INSERT INTO t2 VALUES (1,1,6,'2005-12-23','2005-12-23','02:24:28','02:24:28','0000-00-00 00:00:00','0000-00-00 00:00:00','g','g'),(2,0,3,'2009-09-14','2009-09-14','00:00:00','00:00:00','2000-01-30 16:39:40','2000-01-30 16:39:40','q','q'),(3,0,3,'0000-00-00','0000-00-00','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','c','c'),(4,1,6,'2007-03-29','2007-03-29','15:49:00','15:49:00','0000-00-00 00:00:00','0000-00-00 00:00:00','m','m'),(5,4,0,'2002-12-04','2002-12-04','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','o','o'),(6,9,0,'2005-01-28','2005-01-28','00:00:00','00:00:00','2001-05-18 00:00:00','2001-05-18 00:00:00','w','w'),(7,6,0,'0000-00-00','0000-00-00','06:57:25','06:57:25','0000-00-00 00:00:00','0000-00-00 00:00:00','m','m'),(8,0,0,'0000-00-00','0000-00-00','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','z','z'),(9,4,6,'2006-08-15','2006-08-15','00:00:00','00:00:00','2002-04-12 14:44:25','2002-04-12 14:44:25','j','j'),(10,0,5,'2006-12-20','2006-12-20','10:13:53','10:13:53','2008-07-22 00:00:00','2008-07-22 00:00:00','y','y'),(11,9,7,'0000-00-00','0000-00-00','00:00:00','00:00:00','2004-07-05 00:00:00','2004-07-05 00:00:00','{','{'),(12,4,3,'2007-01-26','2007-01-26','23:00:51','23:00:51','2001-05-16 00:00:00','2001-05-16 00:00:00','f','f'),(13,7,0,'2004-03-27','2004-03-27','00:00:00','00:00:00','2005-01-24 03:30:37','2005-01-24 03:30:37','',''),(14,6,0,'2006-07-26','2006-07-26','18:43:57','18:43:57','0000-00-00 00:00:00','0000-00-00 00:00:00','{','{'),(15,0,6,'2000-01-14','2000-01-14','00:00:00','00:00:00','2000-09-21 00:00:00','2000-09-21 00:00:00','o','o'),(16,9,8,'0000-00-00','0000-00-00','21:15:08','21:15:08','0000-00-00 00:00:00','0000-00-00 00:00:00','a','a'),(17,2,0,'2004-10-27','2004-10-27','00:00:00','00:00:00','2004-03-24 22:13:43','2004-03-24 22:13:43','',''),(18,7,4,'0000-00-00','0000-00-00','08:38:27','08:38:27','2002-03-18 19:51:44','2002-03-18 19:51:44','t','t'),(19,5,3,'2008-03-07','2008-03-07','03:29:07','03:29:07','2007-12-01 18:44:44','2007-12-01 18:44:44','t','t'),(20,0,0,'2002-04-09','2002-04-09','16:06:03','16:06:03','2009-04-22 00:00:00','2009-04-22 00:00:00','n','n'); diff --git a/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result b/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result index 072f3f75b1a..77148fc688c 100644 --- a/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result +++ b/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result @@ -546,7 +546,7 @@ KEY `date_key` (`date_key`), KEY `time_key` (`time_key`), KEY `datetime_key` (`datetime_key`), KEY `varchar_key` (`varchar_key`) -) ENGINE=InnoDB; +) ENGINE='MYISAM' ; INSERT INTO t1 VALUES (1,8,5,'0000-00-00','0000-00-00','10:37:38','10:37:38','0000-00-00 00:00:00','0000-00-00 00:00:00','p','p'),(2,0,9,'0000-00-00','0000-00-00','00:00:00','00:00:00','2007-10-14 00:00:00','2007-10-14 00:00:00','d','d'); CREATE TABLE t2 ( `pk` int(11) NOT NULL AUTO_INCREMENT, @@ -566,7 +566,7 @@ KEY `date_key` (`date_key`), KEY `time_key` (`time_key`), KEY `datetime_key` (`datetime_key`), KEY `varchar_key` (`varchar_key`) -) ENGINE=InnoDB; +) ENGINE='MYISAM' ; INSERT INTO t2 VALUES (1,1,6,'2005-12-23','2005-12-23','02:24:28','02:24:28','0000-00-00 00:00:00','0000-00-00 00:00:00','g','g'),(2,0,3,'2009-09-14','2009-09-14','00:00:00','00:00:00','2000-01-30 16:39:40','2000-01-30 16:39:40','q','q'),(3,0,3,'0000-00-00','0000-00-00','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','c','c'),(4,1,6,'2007-03-29','2007-03-29','15:49:00','15:49:00','0000-00-00 00:00:00','0000-00-00 00:00:00','m','m'),(5,4,0,'2002-12-04','2002-12-04','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','o','o'),(6,9,0,'2005-01-28','2005-01-28','00:00:00','00:00:00','2001-05-18 00:00:00','2001-05-18 00:00:00','w','w'),(7,6,0,'0000-00-00','0000-00-00','06:57:25','06:57:25','0000-00-00 00:00:00','0000-00-00 00:00:00','m','m'),(8,0,0,'0000-00-00','0000-00-00','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','z','z'),(9,4,6,'2006-08-15','2006-08-15','00:00:00','00:00:00','2002-04-12 14:44:25','2002-04-12 14:44:25','j','j'),(10,0,5,'2006-12-20','2006-12-20','10:13:53','10:13:53','2008-07-22 00:00:00','2008-07-22 00:00:00','y','y'),(11,9,7,'0000-00-00','0000-00-00','00:00:00','00:00:00','2004-07-05 00:00:00','2004-07-05 00:00:00','{','{'),(12,4,3,'2007-01-26','2007-01-26','23:00:51','23:00:51','2001-05-16 00:00:00','2001-05-16 00:00:00','f','f'),(13,7,0,'2004-03-27','2004-03-27','00:00:00','00:00:00','2005-01-24 03:30:37','2005-01-24 03:30:37','',''),(14,6,0,'2006-07-26','2006-07-26','18:43:57','18:43:57','0000-00-00 00:00:00','0000-00-00 00:00:00','{','{'),(15,0,6,'2000-01-14','2000-01-14','00:00:00','00:00:00','2000-09-21 00:00:00','2000-09-21 00:00:00','o','o'),(16,9,8,'0000-00-00','0000-00-00','21:15:08','21:15:08','0000-00-00 00:00:00','0000-00-00 00:00:00','a','a'),(17,2,0,'2004-10-27','2004-10-27','00:00:00','00:00:00','2004-03-24 22:13:43','2004-03-24 22:13:43','',''),(18,7,4,'0000-00-00','0000-00-00','08:38:27','08:38:27','2002-03-18 19:51:44','2002-03-18 19:51:44','t','t'),(19,5,3,'2008-03-07','2008-03-07','03:29:07','03:29:07','2007-12-01 18:44:44','2007-12-01 18:44:44','t','t'),(20,0,0,'2002-04-09','2002-04-09','16:06:03','16:06:03','2009-04-22 00:00:00','2009-04-22 00:00:00','n','n'); DELETE FROM t2 WHERE `int_key` < 3 LIMIT 1; UPDATE t1 SET `int_key` = 3 ORDER BY `pk` LIMIT 4; diff --git a/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result b/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result index 52b3200620f..8d071d503bc 100644 --- a/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result +++ b/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result @@ -546,7 +546,7 @@ KEY `date_key` (`date_key`), KEY `time_key` (`time_key`), KEY `datetime_key` (`datetime_key`), KEY `varchar_key` (`varchar_key`) -) ENGINE=InnoDB; +) ENGINE='INNODB' ; INSERT INTO t1 VALUES (1,8,5,'0000-00-00','0000-00-00','10:37:38','10:37:38','0000-00-00 00:00:00','0000-00-00 00:00:00','p','p'),(2,0,9,'0000-00-00','0000-00-00','00:00:00','00:00:00','2007-10-14 00:00:00','2007-10-14 00:00:00','d','d'); CREATE TABLE t2 ( `pk` int(11) NOT NULL AUTO_INCREMENT, @@ -566,7 +566,7 @@ KEY `date_key` (`date_key`), KEY `time_key` (`time_key`), KEY `datetime_key` (`datetime_key`), KEY `varchar_key` (`varchar_key`) -) ENGINE=InnoDB; +) ENGINE='INNODB' ; INSERT INTO t2 VALUES (1,1,6,'2005-12-23','2005-12-23','02:24:28','02:24:28','0000-00-00 00:00:00','0000-00-00 00:00:00','g','g'),(2,0,3,'2009-09-14','2009-09-14','00:00:00','00:00:00','2000-01-30 16:39:40','2000-01-30 16:39:40','q','q'),(3,0,3,'0000-00-00','0000-00-00','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','c','c'),(4,1,6,'2007-03-29','2007-03-29','15:49:00','15:49:00','0000-00-00 00:00:00','0000-00-00 00:00:00','m','m'),(5,4,0,'2002-12-04','2002-12-04','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','o','o'),(6,9,0,'2005-01-28','2005-01-28','00:00:00','00:00:00','2001-05-18 00:00:00','2001-05-18 00:00:00','w','w'),(7,6,0,'0000-00-00','0000-00-00','06:57:25','06:57:25','0000-00-00 00:00:00','0000-00-00 00:00:00','m','m'),(8,0,0,'0000-00-00','0000-00-00','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','z','z'),(9,4,6,'2006-08-15','2006-08-15','00:00:00','00:00:00','2002-04-12 14:44:25','2002-04-12 14:44:25','j','j'),(10,0,5,'2006-12-20','2006-12-20','10:13:53','10:13:53','2008-07-22 00:00:00','2008-07-22 00:00:00','y','y'),(11,9,7,'0000-00-00','0000-00-00','00:00:00','00:00:00','2004-07-05 00:00:00','2004-07-05 00:00:00','{','{'),(12,4,3,'2007-01-26','2007-01-26','23:00:51','23:00:51','2001-05-16 00:00:00','2001-05-16 00:00:00','f','f'),(13,7,0,'2004-03-27','2004-03-27','00:00:00','00:00:00','2005-01-24 03:30:37','2005-01-24 03:30:37','',''),(14,6,0,'2006-07-26','2006-07-26','18:43:57','18:43:57','0000-00-00 00:00:00','0000-00-00 00:00:00','{','{'),(15,0,6,'2000-01-14','2000-01-14','00:00:00','00:00:00','2000-09-21 00:00:00','2000-09-21 00:00:00','o','o'),(16,9,8,'0000-00-00','0000-00-00','21:15:08','21:15:08','0000-00-00 00:00:00','0000-00-00 00:00:00','a','a'),(17,2,0,'2004-10-27','2004-10-27','00:00:00','00:00:00','2004-03-24 22:13:43','2004-03-24 22:13:43','',''),(18,7,4,'0000-00-00','0000-00-00','08:38:27','08:38:27','2002-03-18 19:51:44','2002-03-18 19:51:44','t','t'),(19,5,3,'2008-03-07','2008-03-07','03:29:07','03:29:07','2007-12-01 18:44:44','2007-12-01 18:44:44','t','t'),(20,0,0,'2002-04-09','2002-04-09','16:06:03','16:06:03','2009-04-22 00:00:00','2009-04-22 00:00:00','n','n'); DELETE FROM t2 WHERE `int_key` < 3 LIMIT 1; UPDATE t1 SET `int_key` = 3 ORDER BY `pk` LIMIT 4; diff --git a/mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result b/mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result index 2179cd6b26a..aa9d3132cbb 100644 --- a/mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result +++ b/mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result @@ -546,10 +546,7 @@ KEY `date_key` (`date_key`), KEY `time_key` (`time_key`), KEY `datetime_key` (`datetime_key`), KEY `varchar_key` (`varchar_key`) -) ENGINE=InnoDB; -Warnings: -Warning 1286 Unknown table engine 'InnoDB' -Warning 1266 Using storage engine MyISAM for table 't1' +) ENGINE='NDB' ; INSERT INTO t1 VALUES (1,8,5,'0000-00-00','0000-00-00','10:37:38','10:37:38','0000-00-00 00:00:00','0000-00-00 00:00:00','p','p'),(2,0,9,'0000-00-00','0000-00-00','00:00:00','00:00:00','2007-10-14 00:00:00','2007-10-14 00:00:00','d','d'); CREATE TABLE t2 ( `pk` int(11) NOT NULL AUTO_INCREMENT, @@ -569,10 +566,7 @@ KEY `date_key` (`date_key`), KEY `time_key` (`time_key`), KEY `datetime_key` (`datetime_key`), KEY `varchar_key` (`varchar_key`) -) ENGINE=InnoDB; -Warnings: -Warning 1286 Unknown table engine 'InnoDB' -Warning 1266 Using storage engine MyISAM for table 't2' +) ENGINE='NDB' ; INSERT INTO t2 VALUES (1,1,6,'2005-12-23','2005-12-23','02:24:28','02:24:28','0000-00-00 00:00:00','0000-00-00 00:00:00','g','g'),(2,0,3,'2009-09-14','2009-09-14','00:00:00','00:00:00','2000-01-30 16:39:40','2000-01-30 16:39:40','q','q'),(3,0,3,'0000-00-00','0000-00-00','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','c','c'),(4,1,6,'2007-03-29','2007-03-29','15:49:00','15:49:00','0000-00-00 00:00:00','0000-00-00 00:00:00','m','m'),(5,4,0,'2002-12-04','2002-12-04','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','o','o'),(6,9,0,'2005-01-28','2005-01-28','00:00:00','00:00:00','2001-05-18 00:00:00','2001-05-18 00:00:00','w','w'),(7,6,0,'0000-00-00','0000-00-00','06:57:25','06:57:25','0000-00-00 00:00:00','0000-00-00 00:00:00','m','m'),(8,0,0,'0000-00-00','0000-00-00','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','z','z'),(9,4,6,'2006-08-15','2006-08-15','00:00:00','00:00:00','2002-04-12 14:44:25','2002-04-12 14:44:25','j','j'),(10,0,5,'2006-12-20','2006-12-20','10:13:53','10:13:53','2008-07-22 00:00:00','2008-07-22 00:00:00','y','y'),(11,9,7,'0000-00-00','0000-00-00','00:00:00','00:00:00','2004-07-05 00:00:00','2004-07-05 00:00:00','{','{'),(12,4,3,'2007-01-26','2007-01-26','23:00:51','23:00:51','2001-05-16 00:00:00','2001-05-16 00:00:00','f','f'),(13,7,0,'2004-03-27','2004-03-27','00:00:00','00:00:00','2005-01-24 03:30:37','2005-01-24 03:30:37','',''),(14,6,0,'2006-07-26','2006-07-26','18:43:57','18:43:57','0000-00-00 00:00:00','0000-00-00 00:00:00','{','{'),(15,0,6,'2000-01-14','2000-01-14','00:00:00','00:00:00','2000-09-21 00:00:00','2000-09-21 00:00:00','o','o'),(16,9,8,'0000-00-00','0000-00-00','21:15:08','21:15:08','0000-00-00 00:00:00','0000-00-00 00:00:00','a','a'),(17,2,0,'2004-10-27','2004-10-27','00:00:00','00:00:00','2004-03-24 22:13:43','2004-03-24 22:13:43','',''),(18,7,4,'0000-00-00','0000-00-00','08:38:27','08:38:27','2002-03-18 19:51:44','2002-03-18 19:51:44','t','t'),(19,5,3,'2008-03-07','2008-03-07','03:29:07','03:29:07','2007-12-01 18:44:44','2007-12-01 18:44:44','t','t'),(20,0,0,'2002-04-09','2002-04-09','16:06:03','16:06:03','2009-04-22 00:00:00','2009-04-22 00:00:00','n','n'); DELETE FROM t2 WHERE `int_key` < 3 LIMIT 1; UPDATE t1 SET `int_key` = 3 ORDER BY `pk` LIMIT 4; From 5e9d35d5a82f7f7333ba6c0e2b29738993c41dd8 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 6 Nov 2008 18:21:02 +0100 Subject: [PATCH 070/141] Raise version number after cloning 5.1.30 --- configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.in b/configure.in index 63ab547f70d..762c97602c3 100644 --- a/configure.in +++ b/configure.in @@ -10,7 +10,7 @@ AC_CANONICAL_SYSTEM # # When changing major version number please also check switch statement # in mysqlbinlog::check_master_version(). -AM_INIT_AUTOMAKE(mysql, 5.1.30) +AM_INIT_AUTOMAKE(mysql, 5.1.31) AM_CONFIG_HEADER([include/config.h:config.h.in]) PROTOCOL_VERSION=10 From e6891a87172ccd54da37d773b7ad4202bbb7041f Mon Sep 17 00:00:00 2001 From: Matthias Leich Date: Thu, 6 Nov 2008 18:51:00 +0100 Subject: [PATCH 071/141] Remove files which were created during an upmerge where it was forgotten to remove them. --- mysql-test/include/wait_condition.inc.moved | 59 -- .../funcs_1/r/ndb_trig_0102.result.moved | 371 --------- .../suite/funcs_1/r/ndb_trig_03.result.moved | 702 ------------------ .../funcs_1/r/ndb_trig_0407.result.moved | 482 ------------ .../suite/funcs_1/r/ndb_trig_08.result.moved | 538 -------------- .../suite/funcs_1/r/ndb_trig_09.result.moved | 275 ------- .../funcs_1/r/ndb_trig_1011ext.result.moved | 404 ---------- .../suite/funcs_1/t/ndb_trig_0102.test.moved | 16 - .../suite/funcs_1/t/ndb_trig_03.test.moved | 16 - .../suite/funcs_1/t/ndb_trig_0407.test.moved | 16 - .../suite/funcs_1/t/ndb_trig_08.test.moved | 16 - .../suite/funcs_1/t/ndb_trig_09.test.moved | 16 - .../funcs_1/t/ndb_trig_1011ext.test.moved | 16 - 13 files changed, 2927 deletions(-) delete mode 100644 mysql-test/include/wait_condition.inc.moved delete mode 100644 mysql-test/suite/funcs_1/r/ndb_trig_0102.result.moved delete mode 100644 mysql-test/suite/funcs_1/r/ndb_trig_03.result.moved delete mode 100644 mysql-test/suite/funcs_1/r/ndb_trig_0407.result.moved delete mode 100644 mysql-test/suite/funcs_1/r/ndb_trig_08.result.moved delete mode 100644 mysql-test/suite/funcs_1/r/ndb_trig_09.result.moved delete mode 100644 mysql-test/suite/funcs_1/r/ndb_trig_1011ext.result.moved delete mode 100644 mysql-test/suite/funcs_1/t/ndb_trig_0102.test.moved delete mode 100644 mysql-test/suite/funcs_1/t/ndb_trig_03.test.moved delete mode 100644 mysql-test/suite/funcs_1/t/ndb_trig_0407.test.moved delete mode 100644 mysql-test/suite/funcs_1/t/ndb_trig_08.test.moved delete mode 100644 mysql-test/suite/funcs_1/t/ndb_trig_09.test.moved delete mode 100644 mysql-test/suite/funcs_1/t/ndb_trig_1011ext.test.moved diff --git a/mysql-test/include/wait_condition.inc.moved b/mysql-test/include/wait_condition.inc.moved deleted file mode 100644 index a41d8080c9b..00000000000 --- a/mysql-test/include/wait_condition.inc.moved +++ /dev/null @@ -1,59 +0,0 @@ -# include/wait_condition.inc -# -# SUMMARY -# -# Waits until the passed statement returns true, or the operation -# times out. -# -# USAGE -# -# let $wait_condition= -# SELECT c = 3 FROM t; -# --source include/wait_condition.inc -# -# OR -# -# let $wait_timeout= 60; # Override default 30 seconds with 60. -# let $wait_condition= -# SELECT c = 3 FROM t; -# --source include/wait_condition.inc -# --echo Executed the test condition $wait_condition_reps times -# -# EXAMPLE -# events_bugs.test, events_time_zone.test -# - ---disable_query_log - -let $wait_counter= 300; -if ($wait_timeout) -{ - let $wait_counter= `SELECT $wait_timeout * 10`; -} -# Reset $wait_timeout so that its value won't be used on subsequent -# calls, and default will be used instead. -let $wait_timeout= 0; - -# Keep track of how many times the wait condition is tested -# This is used by some tests (e.g., main.status) -let $wait_condition_reps= 0; -while ($wait_counter) -{ - let $success= `$wait_condition`; - inc $wait_condition_reps; - if ($success) - { - let $wait_counter= 0; - } - if (!$success) - { - real_sleep 0.1; - dec $wait_counter; - } -} -if (!$success) -{ - echo Timeout in wait_condition.inc for $wait_condition; -} - ---enable_query_log diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_0102.result.moved b/mysql-test/suite/funcs_1/r/ndb_trig_0102.result.moved deleted file mode 100644 index 07e219ab738..00000000000 --- a/mysql-test/suite/funcs_1/r/ndb_trig_0102.result.moved +++ /dev/null @@ -1,371 +0,0 @@ -USE test; -drop table if exists tb3 ; -create table tb3 ( -f118 char not null DEFAULT 'a', -f119 char binary not null DEFAULT b'101', -f120 char ascii not null DEFAULT b'101', -f121 tinytext, -f122 text, -f123 mediumtext, -f124 longtext unicode, -f125 tinyblob, -f126 blob, -f127 mediumblob, -f128 longblob, -f129 binary not null DEFAULT b'101', -f130 tinyint not null DEFAULT 99, -f131 tinyint unsigned not null DEFAULT 99, -f132 tinyint zerofill not null DEFAULT 99, -f133 tinyint unsigned zerofill not null DEFAULT 99, -f134 smallint not null DEFAULT 999, -f135 smallint unsigned not null DEFAULT 999, -f136 smallint zerofill not null DEFAULT 999, -f137 smallint unsigned zerofill not null DEFAULT 999, -f138 mediumint not null DEFAULT 9999, -f139 mediumint unsigned not null DEFAULT 9999, -f140 mediumint zerofill not null DEFAULT 9999, -f141 mediumint unsigned zerofill not null DEFAULT 9999, -f142 int not null DEFAULT 99999, -f143 int unsigned not null DEFAULT 99999, -f144 int zerofill not null DEFAULT 99999, -f145 int unsigned zerofill not null DEFAULT 99999, -f146 bigint not null DEFAULT 999999, -f147 bigint unsigned not null DEFAULT 999999, -f148 bigint zerofill not null DEFAULT 999999, -f149 bigint unsigned zerofill not null DEFAULT 999999, -f150 decimal not null DEFAULT 999.999, -f151 decimal unsigned not null DEFAULT 999.17, -f152 decimal zerofill not null DEFAULT 999.999, -f153 decimal unsigned zerofill, -f154 decimal (0), -f155 decimal (64), -f156 decimal (0) unsigned, -f157 decimal (64) unsigned, -f158 decimal (0) zerofill, -f159 decimal (64) zerofill, -f160 decimal (0) unsigned zerofill, -f161 decimal (64) unsigned zerofill, -f162 decimal (0,0), -f163 decimal (63,30), -f164 decimal (0,0) unsigned, -f165 decimal (63,30) unsigned, -f166 decimal (0,0) zerofill, -f167 decimal (63,30) zerofill, -f168 decimal (0,0) unsigned zerofill, -f169 decimal (63,30) unsigned zerofill, -f170 numeric, -f171 numeric unsigned, -f172 numeric zerofill, -f173 numeric unsigned zerofill, -f174 numeric (0), -f175 numeric (64) -) engine = ndb; -Warnings: -Note 1265 Data truncated for column 'f150' at row 1 -Note 1265 Data truncated for column 'f151' at row 1 -Note 1265 Data truncated for column 'f152' at row 1 -Error 1478 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK' -load data infile '/std_data_ln/funcs_1/ndb_tb3.txt' -into table tb3; - -Testcase: 3.5.1.1: ------------------- -use test; -Create trigger trg1_1 BEFORE INSERT -on tb3 for each row set @test_before = 2, new.f142 = @test_before; -Create trigger trg1_2 AFTER INSERT -on tb3 for each row set @test_after = 6; -Create trigger trg1_4 BEFORE UPDATE -on tb3 for each row set @test_before = 27, -new.f142 = @test_before, -new.f122 = 'Before Update Trigger'; -Create trigger trg1_3 AFTER UPDATE -on tb3 for each row set @test_after = '15'; -Create trigger trg1_5 BEFORE DELETE on tb3 for each row -select count(*) into @test_before from tb3 as tr_tb3 -where f121 = 'Test 3.5.1.1'; -Create trigger trg1_6 AFTER DELETE on tb3 for each row -select count(*) into @test_after from tb3 as tr_tb3 -where f121 = 'Test 3.5.1.1'; -set @test_before = 1; -set @test_after = 5; -select @test_before, @test_after; -@test_before @test_after -1 5 -Insert into tb3 (f121, f122, f142, f144, f134) -values ('Test 3.5.1.1', 'First Row', @test_before, @test_after, 1); -select f121, f122, f142, f144, f134 from tb3 where f121 = 'Test 3.5.1.1'; -f121 f122 f142 f144 f134 -Test 3.5.1.1 First Row 2 0000000005 1 -select @test_before, @test_after; -@test_before @test_after -2 6 -set @test_before = 18; -set @test_after = 8; -select @test_before, @test_after; -@test_before @test_after -18 8 -Update tb3 set tb3.f122 = 'Update', -tb3.f142 = @test_before, -tb3.f144 = @test_after -where tb3.f121 = 'Test 3.5.1.1'; -select f121, f122, f142, f144, f134 from tb3 where f121 = 'Test 3.5.1.1'; -f121 f122 f142 f144 f134 -Test 3.5.1.1 Before Update Trigger 27 0000000008 1 -select @test_before, @test_after; -@test_before @test_after -27 15 -Insert into tb3 (f121, f122, f142, f144, f134) -values ('Test 3.5.1.1', 'Second Row', 5, 6, 2); -set @test_before = 0; -set @test_after = 0; -select f121, f122, f142, f144, f134 from tb3 where f121 = 'Test 3.5.1.1'; -f121 f122 f142 f144 f134 -Test 3.5.1.1 Second Row 2 0000000006 2 -Test 3.5.1.1 Before Update Trigger 27 0000000008 1 -select @test_before, @test_after; -@test_before @test_after -0 0 -Delete from tb3 where f121 = 'Test 3.5.1.1' and f134 = 2; -select f121, f122, f142, f144, f134 from tb3 where f121 = 'Test 3.5.1.1'; -f121 f122 f142 f144 f134 -Test 3.5.1.1 Before Update Trigger 27 0000000008 1 -select @test_before, @test_after; -@test_before @test_after -2 1 -drop trigger trg1_1; -drop trigger trg1_2; -drop trigger trg1_3; -drop trigger trg1_4; -drop trigger trg1_5; -drop trigger trg1_6; -delete from tb3 where f121='Test 3.5.1.1'; - -Testcase: 3.5.1.2: ------------------- -Create trigger trg_1 after insert -on tb3 for each statement set @x= 1; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'statement set @x= 1' at line 2 -drop trigger trg_1; - -Testcase 3.5.1.3: ------------------ -CREATE TRIGGER trg3_1 on tb3 BEFORE INSERT for each row set new.f120 = 't'; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'on tb3 BEFORE INSERT for each row set new.f120 = 't'' at line 1 -CREATE trg3_2 TRIGGER AFTER INSERT on tb3 for each row set new.f120 = 's'; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'trg3_2 TRIGGER AFTER INSERT on tb3 for each row set new.f120 = 's'' at line 1 -CREATE TRIGGER trg3_3 Before DELETE on tb3 set @ret1 = 'test' for each row; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'set @ret1 = 'test' for each row' at line 1 -CREATE TRIGGER trg3_4 DELETE AFTER on tb3 set @ret1 = 'test' for each row; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELETE AFTER on tb3 set @ret1 = 'test' for each row' at line 1 -CREATE for each row TRIGGER trg3_5 AFTER UPDATE on tb3 set @ret1 = 'test'; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'for each row TRIGGER trg3_5 AFTER UPDATE on tb3 set @ret1 = 'test'' at line 1 -drop trigger trg3_1; -drop trigger trg3_2; -drop trigger trg3_3; -drop trigger trg3_4; -drop trigger trg3_5; - -Testcase: 3.5.1.5: ------------------- -CREATE TRIGGER trg4_1 AFTER on tb3 for each row set new.f120 = 'e'; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'on tb3 for each row set new.f120 = 'e'' at line 1 -CREATE TRIGGER trg4_2 INSERT on tb3 for each set row new.f120 = 'f'; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT on tb3 for each set row new.f120 = 'f'' at line 1 -CREATE TRIGGER trg4_3 BEFORE INSERT tb3 for each row set new.f120 = 'g'; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'tb3 for each row set new.f120 = 'g'' at line 1 -CREATE TRIGGER trg4_4 AFTER UPDATE on tb3 for each set new.f120 = 'g'; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'set new.f120 = 'g'' at line 1 -CREATE trg4_5 AFTER DELETE on tb3 for each set new.f120 = 'g'; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'trg4_5 AFTER DELETE on tb3 for each set new.f120 = 'g'' at line 1 -CREATE TRIGGER trg4_6 BEFORE DELETE for each row set new.f120 = 'g'; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'for each row set new.f120 = 'g'' at line 1 -drop trigger trg4_1; -drop trigger trg4_2; -drop trigger trg4_3; -drop trigger trg4_4; -drop trigger trg4_5; -drop trigger trg4_6; - -Testcase 3.5.1.6: - Need to fix -------------------------------- - -Testcase 3.5.1.7: - need to fix -------------------------------- -drop table if exists t1; -Warnings: -Note 1051 Unknown table 't1' -create table t1 (f1 int, f2 char(25),f3 int) engine=ndb; -CREATE TRIGGER trg5_1 BEFORE INSERT on test.t1 -for each row set new.f3 = '14'; -CREATE TRIGGER trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ -BEFORE UPDATE on test.t1 for each row set new.f3 = '42'; -ERROR 42000: Identifier name 'trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ' is too long -CREATE TRIGGER trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX -BEFORE UPDATE on test.t1 for each row set new.f3 = '42'; -insert into t1 (f2) values ('insert 3.5.1.7'); -select * from t1; -f1 f2 f3 -NULL insert 3.5.1.7 14 -update t1 set f2='update 3.5.1.7'; -select * from t1; -f1 f2 f3 -NULL update 3.5.1.7 42 -select trigger_name from information_schema.triggers order by trigger_name; -trigger_name -trg5_1 -trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX -drop trigger trg5_1; -drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ; -ERROR 42000: Identifier name 'trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ' is too long -drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX; -drop table t1; - -Testcase 3.5.1.8: ------------------ -CREATE TRIGGER trg12* before insert on tb3 for each row set new.f120 = 't'; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* before insert on tb3 for each row set new.f120 = 't'' at line 1 -CREATE TRIGGER trigger before insert on tb3 for each row set new.f120 = 't'; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'trigger before insert on tb3 for each row set new.f120 = 't'' at line 1 -CREATE TRIGGER 100 before insert on tb3 for each row set new.f120 = 't'; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '100 before insert on tb3 for each row set new.f120 = 't'' at line 1 -CREATE TRIGGER @@view before insert on tb3 for each row set new.f120 = 't'; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@@view before insert on tb3 for each row set new.f120 = 't'' at line 1 -CREATE TRIGGER @name before insert on tb3 for each row set new.f120 = 't'; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@name before insert on tb3 for each row set new.f120 = 't'' at line 1 -CREATE TRIGGER tb3.trg6_1 BEFORE INSERT on test.tb3 -for each row set new.f120 ='X'; -ERROR HY000: Trigger in wrong schema -drop database if exists trig_db; -create database trig_db; -use trig_db; -create table t1 (f1 integer) engine = ndb; -use test; -CREATE TRIGGER trig_db.trg6_2 AFTER INSERT on tb3 -for each row set @ret_trg6_2 = 5; -ERROR 42S02: Table 'trig_db.tb3' doesn't exist -use trig_db; -CREATE TRIGGER trg6_3 AFTER INSERT on test.tb3 -for each row set @ret_trg6_3 = 18; -ERROR HY000: Trigger in wrong schema -use test; -drop database trig_db; -drop trigger trg6_1; -drop trigger trg6_3; - -Testcase 3.5.1.9:(cannot be inplemented at this point) ------------------------------------------------------- - -Testcase 3.5.1.10: ------------------- -CREATE TRIGGER trg7_1 BEFORE UPDATE on tb3 for each row set new.f120 ='X'; -CREATE TRIGGER trg7_1 AFTER INSERT on tb3 for each row set @x ='Y'; -ERROR HY000: Trigger already exists -drop trigger trg7_1; - -Testcase 3.5.1.?: ------------------ -drop table if exists t1; -drop table if exists t2; -create table t1 (f1 char(50), f2 integer) engine = ndb; -create table t2 (f1 char(50), f2 integer) engine = ndb; -create trigger trig before insert on t1 -for each row set new.f1 ='trig t1'; -create trigger trig before update on t2 -for each row set new.f1 ='trig t2'; -ERROR HY000: Trigger already exists -insert into t1 value ('insert to t1',1); -select * from t1; -f1 f2 -trig t1 1 -update t1 set f1='update to t1'; -select * from t1; -f1 f2 -update to t1 1 -insert into t2 value ('insert to t2',2); -update t2 set f1='update to t1'; -select * from t2; -f1 f2 -update to t1 2 -drop table t1; -drop table t2; -drop trigger trig; - -Testcase 3.5.1.11: ------------------- -drop database if exists trig_db1; -drop database if exists trig_db2; -drop database if exists trig_db3; -create database trig_db1; -create database trig_db2; -create database trig_db3; -use trig_db1; -create table t1 (f1 char(50), f2 integer) engine = ndb; -create trigger trig before insert on t1 -for each row set new.f1 ='trig1', @test_var1='trig1'; -use trig_db2; -create table t2 (f1 char(50), f2 integer) engine = ndb; -create trigger trig before insert on t2 -for each row set new.f1 ='trig2', @test_var2='trig2'; -use trig_db3; -create table t1 (f1 char(50), f2 integer) engine = ndb; -create trigger trig before insert on t1 -for each row set new.f1 ='trig3', @test_var3='trig3'; -set @test_var1= '', @test_var2= '', @test_var3= ''; -use trig_db1; -insert into t1 (f1,f2) values ('insert to db1 t1',1); -insert into trig_db1.t1 (f1,f2) values ('insert to db1 t1 from db1',2); -insert into trig_db2.t2 (f1,f2) values ('insert to db2 t2 from db1',3); -insert into trig_db3.t1 (f1,f2) values ('insert to db3 t1 from db1',4); -select @test_var1, @test_var2, @test_var3; -@test_var1 @test_var2 @test_var3 -trig1 trig2 trig3 -select * from t1 order by f2; -f1 f2 -trig1 1 -trig1 2 -select * from trig_db2.t2; -f1 f2 -trig2 3 -select * from trig_db3.t1; -f1 f2 -trig3 4 -select * from t1 order by f2; -f1 f2 -trig1 1 -trig1 2 -use test; -drop database trig_db1; -drop database trig_db2; -drop database trig_db3; - -Testcase 3.5.2.1/2/3: ---------------------- -drop database if exists trig_db1; -drop database if exists trig_db2; -create database trig_db1; -create database trig_db2; -use trig_db1; -create table t1 (f1 char(50), f2 integer) engine = ndb; -create table trig_db2.t1 (f1 char(50), f2 integer) engine = ndb; -create trigger trig1_b before insert on t1 -for each row set @test_var1='trig1_b'; -create trigger trig_db1.trig1_a after insert on t1 -for each row set @test_var2='trig1_a'; -create trigger trig_db2.trig2 before insert on trig_db2.t1 -for each row set @test_var3='trig2'; -select trigger_schema, trigger_name, event_object_table -from information_schema.triggers order by trigger_name; -trigger_schema trigger_name event_object_table -trig_db1 trig1_a t1 -trig_db1 trig1_b t1 -trig_db2 trig2 t1 -set @test_var1= '', @test_var2= '', @test_var3= ''; -insert into t1 (f1,f2) values ('insert to db1 t1 from db1',352); -insert into trig_db2.t1 (f1,f2) values ('insert to db2 t1 from db1',352); -select @test_var1, @test_var2, @test_var3; -@test_var1 @test_var2 @test_var3 -trig1_b trig1_a trig2 -drop database trig_db1; -drop database trig_db2; -DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_03.result.moved b/mysql-test/suite/funcs_1/r/ndb_trig_03.result.moved deleted file mode 100644 index 8f935113997..00000000000 --- a/mysql-test/suite/funcs_1/r/ndb_trig_03.result.moved +++ /dev/null @@ -1,702 +0,0 @@ -USE test; -drop table if exists tb3 ; -create table tb3 ( -f118 char not null DEFAULT 'a', -f119 char binary not null DEFAULT b'101', -f120 char ascii not null DEFAULT b'101', -f121 tinytext, -f122 text, -f123 mediumtext, -f124 longtext unicode, -f125 tinyblob, -f126 blob, -f127 mediumblob, -f128 longblob, -f129 binary not null DEFAULT b'101', -f130 tinyint not null DEFAULT 99, -f131 tinyint unsigned not null DEFAULT 99, -f132 tinyint zerofill not null DEFAULT 99, -f133 tinyint unsigned zerofill not null DEFAULT 99, -f134 smallint not null DEFAULT 999, -f135 smallint unsigned not null DEFAULT 999, -f136 smallint zerofill not null DEFAULT 999, -f137 smallint unsigned zerofill not null DEFAULT 999, -f138 mediumint not null DEFAULT 9999, -f139 mediumint unsigned not null DEFAULT 9999, -f140 mediumint zerofill not null DEFAULT 9999, -f141 mediumint unsigned zerofill not null DEFAULT 9999, -f142 int not null DEFAULT 99999, -f143 int unsigned not null DEFAULT 99999, -f144 int zerofill not null DEFAULT 99999, -f145 int unsigned zerofill not null DEFAULT 99999, -f146 bigint not null DEFAULT 999999, -f147 bigint unsigned not null DEFAULT 999999, -f148 bigint zerofill not null DEFAULT 999999, -f149 bigint unsigned zerofill not null DEFAULT 999999, -f150 decimal not null DEFAULT 999.999, -f151 decimal unsigned not null DEFAULT 999.17, -f152 decimal zerofill not null DEFAULT 999.999, -f153 decimal unsigned zerofill, -f154 decimal (0), -f155 decimal (64), -f156 decimal (0) unsigned, -f157 decimal (64) unsigned, -f158 decimal (0) zerofill, -f159 decimal (64) zerofill, -f160 decimal (0) unsigned zerofill, -f161 decimal (64) unsigned zerofill, -f162 decimal (0,0), -f163 decimal (63,30), -f164 decimal (0,0) unsigned, -f165 decimal (63,30) unsigned, -f166 decimal (0,0) zerofill, -f167 decimal (63,30) zerofill, -f168 decimal (0,0) unsigned zerofill, -f169 decimal (63,30) unsigned zerofill, -f170 numeric, -f171 numeric unsigned, -f172 numeric zerofill, -f173 numeric unsigned zerofill, -f174 numeric (0), -f175 numeric (64) -) engine = ndb; -Warnings: -Note 1265 Data truncated for column 'f150' at row 1 -Note 1265 Data truncated for column 'f151' at row 1 -Note 1265 Data truncated for column 'f152' at row 1 -Error 1478 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK' -load data infile '/std_data_ln/funcs_1/ndb_tb3.txt' -into table tb3; - -Testcase 3.5.3: ---------------- -drop database if exists priv_db; -create database priv_db; -use priv_db; -create table t1 (f1 char(20)) engine= ndb; -create User test_noprivs@localhost; -set password for test_noprivs@localhost = password('PWD'); -create User test_yesprivs@localhost; -set password for test_yesprivs@localhost = password('PWD'); - -Testcase 3.5.3.2/6: -------------------- -revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost; -grant ALL on *.* to test_noprivs@localhost; -revoke TRIGGER on *.* from test_noprivs@localhost; -show grants for test_noprivs@localhost; -Grants for test_noprivs@localhost -GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; -grant TRIGGER on *.* to test_yesprivs@localhost; -grant SELECT on priv_db.t1 to test_yesprivs@localhost; -show grants for test_yesprivs@localhost; -Grants for test_yesprivs@localhost -GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT SELECT ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost' -connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); -connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); - -Testcase 3.5.3.2: ------------------ -select current_user; -current_user -test_noprivs@localhost -use priv_db; -create trigger trg1_1 before INSERT on t1 for each row -set new.f1 = 'trig 3.5.3.2_1-no'; -ERROR 42000: TRIGGER command denied to user 'test_noprivs'@'localhost' for table 't1' -use priv_db; -insert into t1 (f1) values ('insert 3.5.3.2-no'); -select f1 from t1 order by f1; -f1 -insert 3.5.3.2-no -select current_user; -current_user -test_yesprivs@localhost -use priv_db; -create trigger trg1_2 before INSERT on t1 for each row -set new.f1 = 'trig 3.5.3.2_2-yes'; -select current_user; -current_user -root@localhost -use priv_db; -insert into t1 (f1) values ('insert 3.5.3.2-yes'); -ERROR 42000: UPDATE command denied to user 'test_yesprivs'@'localhost' for column 'f1' in table 't1' -select f1 from t1 order by f1; -f1 -insert 3.5.3.2-no -grant UPDATE on priv_db.t1 to test_yesprivs@localhost; -insert into t1 (f1) values ('insert 3.5.3.2-yes'); -select f1 from t1 order by f1; -f1 -insert 3.5.3.2-no -trig 3.5.3.2_2-yes - -Testcase 3.5.3.6: ------------------ -use priv_db; -drop trigger trg1_2; -ERROR 42000: TRIGGER command denied to user 'test_noprivs'@'localhost' for table 't1' -use priv_db; -insert into t1 (f1) values ('insert 3.5.3.6-yes'); -select f1 from t1 order by f1; -f1 -insert 3.5.3.2-no -trig 3.5.3.2_2-yes -trig 3.5.3.2_2-yes -use priv_db; -drop trigger trg1_2; -use priv_db; -insert into t1 (f1) values ('insert 3.5.3.6-no'); -select f1 from t1 order by f1; -f1 -insert 3.5.3.2-no -insert 3.5.3.6-no -trig 3.5.3.2_2-yes -trig 3.5.3.2_2-yes -drop trigger trg1_2; - -Testcase 3.5.3.7a: ------------------- -revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost; -grant ALL on *.* to test_noprivs@localhost; -revoke UPDATE on *.* from test_noprivs@localhost; -show grants for test_noprivs@localhost; -Grants for test_noprivs@localhost -GRANT SELECT, INSERT, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; -grant TRIGGER, UPDATE on *.* to test_yesprivs@localhost; -show grants for test_yesprivs@localhost; -Grants for test_yesprivs@localhost -GRANT UPDATE, TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); -connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); -select current_user; -current_user -test_noprivs@localhost -use priv_db; -show grants; -Grants for test_noprivs@localhost -GRANT SELECT, INSERT, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -select f1 from t1 order by f1; -f1 -insert 3.5.3.2-no -insert 3.5.3.6-no -trig 3.5.3.2_2-yes -trig 3.5.3.2_2-yes -create trigger trg4a_1 before INSERT on t1 for each row -set new.f1 = 'trig 3.5.3.7-1a'; -insert into t1 (f1) values ('insert 3.5.3.7-1a'); -ERROR 42000: UPDATE command denied to user 'test_noprivs'@'localhost' for column 'f1' in table 't1' -select f1 from t1 order by f1; -f1 -insert 3.5.3.2-no -insert 3.5.3.6-no -trig 3.5.3.2_2-yes -trig 3.5.3.2_2-yes -drop trigger trg4a_1; -use priv_db; -select current_user; -current_user -test_yesprivs@localhost -show grants; -Grants for test_yesprivs@localhost -GRANT UPDATE, TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -create trigger trg4a_2 before INSERT on t1 for each row -set new.f1 = 'trig 3.5.3.7-2a'; -insert into t1 (f1) values ('insert 3.5.3.7-2b'); -select f1 from t1 order by f1; -f1 -insert 3.5.3.2-no -insert 3.5.3.6-no -trig 3.5.3.2_2-yes -trig 3.5.3.2_2-yes -trig 3.5.3.7-2a -drop trigger trg4a_2; - -Testcase 3.5.3.7b: ------------------- -revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost; -grant TRIGGER on *.* to test_noprivs; -grant ALL on priv_db.* to test_noprivs@localhost; -revoke UPDATE on priv_db.* from test_noprivs@localhost; -show grants for test_noprivs; -Grants for test_noprivs@% -GRANT TRIGGER ON *.* TO 'test_noprivs'@'%' -revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; -grant TRIGGER on *.* to test_yesprivs@localhost; -grant UPDATE on priv_db.* to test_yesprivs@localhost; -show grants for test_yesprivs@localhost; -Grants for test_yesprivs@localhost -GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT UPDATE ON `priv_db`.* TO 'test_yesprivs'@'localhost' -connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); -connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); -show grants; -Grants for test_noprivs@localhost -GRANT USAGE ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT SELECT, INSERT, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `priv_db`.* TO 'test_noprivs'@'localhost' -use priv_db; -create trigger trg4b_1 before UPDATE on t1 for each row -set new.f1 = 'trig 3.5.3.7-1b'; -insert into t1 (f1) values ('insert 3.5.3.7-1b'); -select f1 from t1 order by f1; -f1 -insert 3.5.3.2-no -insert 3.5.3.6-no -insert 3.5.3.7-1b -trig 3.5.3.2_2-yes -trig 3.5.3.2_2-yes -trig 3.5.3.7-2a -update t1 set f1 = 'update 3.5.3.7-1b' where f1 = 'insert 3.5.3.7-1b'; -ERROR 42000: UPDATE command denied to user 'test_noprivs'@'localhost' for column 'f1' in table 't1' -select f1 from t1 order by f1; -f1 -insert 3.5.3.2-no -insert 3.5.3.6-no -insert 3.5.3.7-1b -trig 3.5.3.2_2-yes -trig 3.5.3.2_2-yes -trig 3.5.3.7-2a -drop trigger trg4b_1; -show grants; -Grants for test_yesprivs@localhost -GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT UPDATE ON `priv_db`.* TO 'test_yesprivs'@'localhost' -use priv_db; -create trigger trg4b_2 before UPDATE on t1 for each row -set new.f1 = 'trig 3.5.3.7-2b'; -insert into t1 (f1) values ('insert 3.5.3.7-2b'); -select f1 from t1 order by f1; -f1 -insert 3.5.3.2-no -insert 3.5.3.6-no -insert 3.5.3.7-1b -insert 3.5.3.7-2b -trig 3.5.3.2_2-yes -trig 3.5.3.2_2-yes -trig 3.5.3.7-2a -update t1 set f1 = 'update 3.5.3.7-2b' where f1 = 'insert 3.5.3.7-2b'; -select f1 from t1 order by f1; -f1 -insert 3.5.3.2-no -insert 3.5.3.6-no -insert 3.5.3.7-1b -trig 3.5.3.2_2-yes -trig 3.5.3.2_2-yes -trig 3.5.3.7-2a -trig 3.5.3.7-2b -drop trigger trg4b_2; - -Testcase 3.5.3.7c ------------------ -revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost; -grant TRIGGER on *.* to test_noprivs@localhost; -grant ALL on priv_db.t1 to test_noprivs@localhost; -revoke UPDATE on priv_db.t1 from test_noprivs@localhost; -show grants for test_noprivs; -Grants for test_noprivs@% -GRANT TRIGGER ON *.* TO 'test_noprivs'@'%' -revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; -grant TRIGGER on *.* to test_yesprivs@localhost; -grant UPDATE on priv_db.t1 to test_yesprivs@localhost; -show grants for test_yesprivs@localhost; -Grants for test_yesprivs@localhost -GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT UPDATE ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost' -connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); -connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); -show grants; -Grants for test_noprivs@localhost -GRANT TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT SELECT, INSERT, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW VIEW, TRIGGER ON `priv_db`.`t1` TO 'test_noprivs'@'localhost' -use priv_db; -create trigger trg4c_1 before INSERT on t1 for each row -set new.f1 = 'trig 3.5.3.7-1c'; -insert into t1 (f1) values ('insert 3.5.3.7-1c'); -ERROR 42000: UPDATE command denied to user 'test_noprivs'@'localhost' for column 'f1' in table 't1' -select f1 from t1 order by f1; -f1 -insert 3.5.3.2-no -insert 3.5.3.6-no -insert 3.5.3.7-1b -trig 3.5.3.2_2-yes -trig 3.5.3.2_2-yes -trig 3.5.3.7-2a -trig 3.5.3.7-2b -drop trigger trg4c_1; -show grants; -Grants for test_yesprivs@localhost -GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT UPDATE ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost' -use priv_db; -create trigger trg4c_2 before INSERT on t1 for each row -set new.f1 = 'trig 3.5.3.7-2c'; -insert into t1 (f1) values ('insert 3.5.3.7-2c'); -select f1 from t1 order by f1; -f1 -insert 3.5.3.2-no -insert 3.5.3.6-no -insert 3.5.3.7-1b -trig 3.5.3.2_2-yes -trig 3.5.3.2_2-yes -trig 3.5.3.7-2a -trig 3.5.3.7-2b -trig 3.5.3.7-2c -drop trigger trg4c_2; - -Testcase 3.5.3.7d: ------------------- -revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost; -grant TRIGGER on *.* to test_noprivs@localhost; -grant SELECT (f1), INSERT (f1) on priv_db.t1 to test_noprivs@localhost; -show grants for test_noprivs; -Grants for test_noprivs@% -GRANT TRIGGER ON *.* TO 'test_noprivs'@'%' -revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; -grant TRIGGER on *.* to test_yesprivs@localhost; -grant UPDATE (f1) on priv_db.t1 to test_yesprivs@localhost; -show grants for test_noprivs; -Grants for test_noprivs@% -GRANT TRIGGER ON *.* TO 'test_noprivs'@'%' -connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); -connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); -show grants; -Grants for test_noprivs@localhost -GRANT TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT SELECT (f1), INSERT (f1) ON `priv_db`.`t1` TO 'test_noprivs'@'localhost' -use priv_db; -create trigger trg4d_1 before INSERT on t1 for each row -set new.f1 = 'trig 3.5.3.7-1d'; -insert into t1 (f1) values ('insert 3.5.3.7-1d'); -ERROR 42000: UPDATE command denied to user 'test_noprivs'@'localhost' for column 'f1' in table 't1' -select f1 from t1 order by f1; -f1 -insert 3.5.3.2-no -insert 3.5.3.6-no -insert 3.5.3.7-1b -trig 3.5.3.2_2-yes -trig 3.5.3.2_2-yes -trig 3.5.3.7-2a -trig 3.5.3.7-2b -trig 3.5.3.7-2c -drop trigger trg4d_1; -show grants; -Grants for test_yesprivs@localhost -GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT UPDATE (f1) ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost' -use priv_db; -create trigger trg4d_2 before INSERT on t1 for each row -set new.f1 = 'trig 3.5.3.7-2d'; -insert into t1 (f1) values ('insert 3.5.3.7-2d'); -select f1 from t1 order by f1; -f1 -insert 3.5.3.2-no -insert 3.5.3.6-no -insert 3.5.3.7-1b -trig 3.5.3.2_2-yes -trig 3.5.3.2_2-yes -trig 3.5.3.7-2a -trig 3.5.3.7-2b -trig 3.5.3.7-2c -trig 3.5.3.7-2d -drop trigger trg4d_2; - -Testcase 3.5.3.8a: ------------------- -revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost; -grant ALL on *.* to test_noprivs@localhost; -revoke SELECT on *.* from test_noprivs@localhost; -show grants for test_noprivs@localhost; -Grants for test_noprivs@localhost -GRANT INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; -grant TRIGGER, SELECT on *.* to test_yesprivs@localhost; -show grants for test_yesprivs@localhost; -Grants for test_yesprivs@localhost -GRANT SELECT, TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); -connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); -select current_user; -current_user -test_noprivs@localhost -use priv_db; -show grants; -Grants for test_noprivs@localhost -GRANT INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -create trigger trg5a_1 before INSERT on t1 for each row -set @test_var = new.f1; -set @test_var = 'before trig 3.5.3.8-1a'; -select @test_var; -@test_var -before trig 3.5.3.8-1a -insert into t1 (f1) values ('insert 3.5.3.8-1a'); -ERROR 42000: SELECT command denied to user 'test_noprivs'@'localhost' for column 'f1' in table 't1' -select @test_var; -@test_var -before trig 3.5.3.8-1a -drop trigger trg5a_1; -use priv_db; -select current_user; -current_user -test_yesprivs@localhost -show grants; -Grants for test_yesprivs@localhost -GRANT SELECT, TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -create trigger trg5a_2 before INSERT on t1 for each row -set @test_var= new.f1; -set @test_var= 'before trig 3.5.3.8-2a'; -select @test_var; -@test_var -before trig 3.5.3.8-2a -insert into t1 (f1) values ('insert 3.5.3.8-2a'); -select @test_var; -@test_var -insert 3.5.3.8-2a -drop trigger trg5a_2; - -Testcase: 3.5.3.8b ------------------- -revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost; -grant TRIGGER on *.* to test_noprivs@localhost; -grant ALL on priv_db.* to test_noprivs@localhost; -revoke SELECT on priv_db.* from test_noprivs@localhost; -show grants for test_noprivs@localhost; -Grants for test_noprivs@localhost -GRANT TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `priv_db`.* TO 'test_noprivs'@'localhost' -revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; -grant TRIGGER on *.* to test_yesprivs@localhost; -grant SELECT on priv_db.* to test_yesprivs@localhost; -show grants for test_yesprivs@localhost; -Grants for test_yesprivs@localhost -GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT SELECT ON `priv_db`.* TO 'test_yesprivs'@'localhost' -connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); -connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); -show grants; -Grants for test_noprivs@localhost -GRANT TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `priv_db`.* TO 'test_noprivs'@'localhost' -use priv_db; -create trigger trg5b_1 before UPDATE on t1 for each row -set @test_var= new.f1; -set @test_var= 'before trig 3.5.3.8-1b'; -insert into t1 (f1) values ('insert 3.5.3.8-1b'); -select @test_var; -@test_var -before trig 3.5.3.8-1b -update t1 set f1= 'update 3.5.3.8-1b' where f1 = 'insert 3.5.3.8-1b'; -ERROR 42000: SELECT command denied to user 'test_noprivs'@'localhost' for column 'f1' in table 't1' -select @test_var; -@test_var -before trig 3.5.3.8-1b -drop trigger trg5b_1; -show grants; -Grants for test_yesprivs@localhost -GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT SELECT ON `priv_db`.* TO 'test_yesprivs'@'localhost' -use priv_db; -create trigger trg5b_2 before UPDATE on t1 for each row -set @test_var= new.f1; -set @test_var= 'before trig 3.5.3.8-2b'; -insert into t1 (f1) values ('insert 3.5.3.8-2b'); -select @test_var; -@test_var -before trig 3.5.3.8-2b -update t1 set f1= 'update 3.5.3.8-2b' where f1 = 'insert 3.5.3.8-2b'; -select @test_var; -@test_var -update 3.5.3.8-2b -drop trigger trg5b_2; - -Testcase 3.5.3.8c: ------------------- -revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost; -grant TRIGGER on *.* to test_noprivs@localhost; -grant ALL on priv_db.t1 to test_noprivs@localhost; -revoke SELECT on priv_db.t1 from test_noprivs@localhost; -show grants for test_noprivs@localhost; -Grants for test_noprivs@localhost -GRANT TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW VIEW, TRIGGER ON `priv_db`.`t1` TO 'test_noprivs'@'localhost' -revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; -grant TRIGGER on *.* to test_yesprivs@localhost; -grant SELECT on priv_db.t1 to test_yesprivs@localhost; -show grants for test_yesprivs@localhost; -Grants for test_yesprivs@localhost -GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT SELECT ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost' -connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); -connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); -show grants; -Grants for test_noprivs@localhost -GRANT TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW VIEW, TRIGGER ON `priv_db`.`t1` TO 'test_noprivs'@'localhost' -use priv_db; -create trigger trg5c_1 before INSERT on t1 for each row -set @test_var= new.f1; -set @test_var= 'before trig 3.5.3.8-1c'; -insert into t1 (f1) values ('insert 3.5.3.8-1c'); -ERROR 42000: SELECT command denied to user 'test_noprivs'@'localhost' for column 'f1' in table 't1' -select @test_var; -@test_var -before trig 3.5.3.8-1c -drop trigger trg5c_1; -show grants; -Grants for test_yesprivs@localhost -GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT SELECT ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost' -use priv_db; -create trigger trg5c_2 before INSERT on t1 for each row -set @test_var= new.f1; -set @test_var='before trig 3.5.3.8-2c'; -insert into t1 (f1) values ('insert 3.5.3.8-2c'); -select @test_var; -@test_var -insert 3.5.3.8-2c -drop trigger trg5c_2; - -Testcase: 3.5.3.8d: -------------------- -revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost; -grant TRIGGER on *.* to test_noprivs@localhost; -grant UPDATE (f1), INSERT (f1) on priv_db.t1 to test_noprivs@localhost; -show grants for test_noprivs@localhost; -Grants for test_noprivs@localhost -GRANT TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT INSERT (f1), UPDATE (f1) ON `priv_db`.`t1` TO 'test_noprivs'@'localhost' -revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; -grant TRIGGER on *.* to test_yesprivs@localhost; -grant SELECT (f1) on priv_db.t1 to test_yesprivs@localhost; -show grants for test_noprivs@localhost; -Grants for test_noprivs@localhost -GRANT TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT INSERT (f1), UPDATE (f1) ON `priv_db`.`t1` TO 'test_noprivs'@'localhost' -connect(localhost,test_noprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); -connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); -show grants; -Grants for test_noprivs@localhost -GRANT TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT INSERT (f1), UPDATE (f1) ON `priv_db`.`t1` TO 'test_noprivs'@'localhost' -use priv_db; -create trigger trg5d_1 before INSERT on t1 for each row -set @test_var= new.f1; -set @test_var='before trig 3.5.3.8-1d'; -insert into t1 (f1) values ('insert 3.5.3.8-1d'); -ERROR 42000: SELECT command denied to user 'test_noprivs'@'localhost' for column 'f1' in table 't1' -select @test_var; -@test_var -before trig 3.5.3.8-1d -drop trigger trg5d_1; -show grants; -Grants for test_yesprivs@localhost -GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT SELECT (f1) ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost' -use priv_db; -create trigger trg5d_2 before INSERT on t1 for each row -set @test_var= new.f1; -set @test_var='before trig 3.5.3.8-2d'; -insert into t1 (f1) values ('insert 3.5.3.8-2d'); -select @test_var; -@test_var -insert 3.5.3.8-2d -drop trigger trg5d_2; - -Testcase: 3.5.3.x: ------------------- -use priv_db; -drop table if exists t1; -drop table if exists t2; -create table t1 (f1 int) engine= ndb; -create table t2 (f2 int) engine= ndb; -revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; -grant TRIGGER on *.* to test_yesprivs@localhost; -grant SELECT, UPDATE on priv_db.t1 to test_yesprivs@localhost; -grant SELECT on priv_db.t2 to test_yesprivs@localhost; -show grants for test_yesprivs@localhost; -Grants for test_yesprivs@localhost -GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576' -GRANT SELECT ON `priv_db`.`t2` TO 'test_yesprivs'@'localhost' -GRANT SELECT, UPDATE ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost' -connect(localhost,test_yesprivs,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); -select current_user; -current_user -test_yesprivs@localhost -use priv_db; -create trigger trg1 before insert on t1 for each row -insert into t2 values (new.f1); -use priv_db; -insert into t1 (f1) values (4); -ERROR 42000: INSERT command denied to user 'test_yesprivs'@'localhost' for table 't2' -revoke SELECT on priv_db.t2 from test_yesprivs@localhost; -grant INSERT on priv_db.t2 to test_yesprivs@localhost; -insert into t1 (f1) values (4); -select f1 from t1 order by f1; -f1 -4 -select f2 from t2 order by f2; -f2 -4 -use priv_db; -drop trigger trg1; -create trigger trg2 before insert on t1 for each row -update t2 set f2=new.f1-1; -use priv_db; -insert into t1 (f1) values (2); -ERROR 42000: UPDATE command denied to user 'test_yesprivs'@'localhost' for table 't2' -revoke INSERT on priv_db.t2 from test_yesprivs@localhost; -grant UPDATE on priv_db.t2 to test_yesprivs@localhost; -insert into t1 (f1) values (2); -select f1 from t1 order by f1; -f1 -2 -4 -select f2 from t2 order by f2; -f2 -1 -use priv_db; -drop trigger trg2; -create trigger trg3 before insert on t1 for each row -select f2 into @aaa from t2 where f2=new.f1; -use priv_db; -insert into t1 (f1) values (1); -ERROR 42000: SELECT command denied to user 'test_yesprivs'@'localhost' for table 't2' -revoke UPDATE on priv_db.t2 from test_yesprivs@localhost; -grant SELECT on priv_db.t2 to test_yesprivs@localhost; -insert into t1 (f1) values (1); -select f1 from t1 order by f1; -f1 -1 -2 -4 -select f2 from t2 order by f2; -f2 -1 -select @aaa; -@aaa -1 -use priv_db; -drop trigger trg3; -create trigger trg4 before insert on t1 for each row -delete from t2; -use priv_db; -insert into t1 (f1) values (1); -ERROR 42000: DELETE command denied to user 'test_yesprivs'@'localhost' for table 't2' -revoke SELECT on priv_db.t2 from test_yesprivs@localhost; -grant DELETE on priv_db.t2 to test_yesprivs@localhost; -insert into t1 (f1) values (1); -select f1 from t1 order by f1; -f1 -1 -1 -2 -4 -select f2 from t2 order by f2; -f2 -drop database if exists priv_db; -drop user test_yesprivs@localhost; -drop user test_noprivs@localhost; -drop user test_noprivs; -DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_0407.result.moved b/mysql-test/suite/funcs_1/r/ndb_trig_0407.result.moved deleted file mode 100644 index 9c278ee09b2..00000000000 --- a/mysql-test/suite/funcs_1/r/ndb_trig_0407.result.moved +++ /dev/null @@ -1,482 +0,0 @@ -USE test; -drop table if exists tb3 ; -create table tb3 ( -f118 char not null DEFAULT 'a', -f119 char binary not null DEFAULT b'101', -f120 char ascii not null DEFAULT b'101', -f121 tinytext, -f122 text, -f123 mediumtext, -f124 longtext unicode, -f125 tinyblob, -f126 blob, -f127 mediumblob, -f128 longblob, -f129 binary not null DEFAULT b'101', -f130 tinyint not null DEFAULT 99, -f131 tinyint unsigned not null DEFAULT 99, -f132 tinyint zerofill not null DEFAULT 99, -f133 tinyint unsigned zerofill not null DEFAULT 99, -f134 smallint not null DEFAULT 999, -f135 smallint unsigned not null DEFAULT 999, -f136 smallint zerofill not null DEFAULT 999, -f137 smallint unsigned zerofill not null DEFAULT 999, -f138 mediumint not null DEFAULT 9999, -f139 mediumint unsigned not null DEFAULT 9999, -f140 mediumint zerofill not null DEFAULT 9999, -f141 mediumint unsigned zerofill not null DEFAULT 9999, -f142 int not null DEFAULT 99999, -f143 int unsigned not null DEFAULT 99999, -f144 int zerofill not null DEFAULT 99999, -f145 int unsigned zerofill not null DEFAULT 99999, -f146 bigint not null DEFAULT 999999, -f147 bigint unsigned not null DEFAULT 999999, -f148 bigint zerofill not null DEFAULT 999999, -f149 bigint unsigned zerofill not null DEFAULT 999999, -f150 decimal not null DEFAULT 999.999, -f151 decimal unsigned not null DEFAULT 999.17, -f152 decimal zerofill not null DEFAULT 999.999, -f153 decimal unsigned zerofill, -f154 decimal (0), -f155 decimal (64), -f156 decimal (0) unsigned, -f157 decimal (64) unsigned, -f158 decimal (0) zerofill, -f159 decimal (64) zerofill, -f160 decimal (0) unsigned zerofill, -f161 decimal (64) unsigned zerofill, -f162 decimal (0,0), -f163 decimal (63,30), -f164 decimal (0,0) unsigned, -f165 decimal (63,30) unsigned, -f166 decimal (0,0) zerofill, -f167 decimal (63,30) zerofill, -f168 decimal (0,0) unsigned zerofill, -f169 decimal (63,30) unsigned zerofill, -f170 numeric, -f171 numeric unsigned, -f172 numeric zerofill, -f173 numeric unsigned zerofill, -f174 numeric (0), -f175 numeric (64) -) engine = ndb; -Warnings: -Note 1265 Data truncated for column 'f150' at row 1 -Note 1265 Data truncated for column 'f151' at row 1 -Note 1265 Data truncated for column 'f152' at row 1 -Error 1478 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK' -load data infile '/std_data_ln/funcs_1/ndb_tb3.txt' -into table tb3; - -Testcase: 3.5: --------------- -create User test_general@localhost; -set password for test_general@localhost = password('PWD'); -revoke ALL PRIVILEGES, GRANT OPTION FROM test_general@localhost; -create User test_super@localhost; -set password for test_super@localhost = password('PWD'); -grant ALL on *.* to test_super@localhost with grant OPTION; -connect(localhost,test_general,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); -connect(localhost,test_super,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); - -Testcase 3.5.4: ---------------- -use test; - -Testcase 3.5.4.1: ------------------ -create database db_drop; -Use db_drop; -create table t1 (f1 char(30)) engine=ndb; -grant INSERT, SELECT on db_drop.t1 to test_general; -Use db_drop; -Create trigger trg1 BEFORE INSERT on t1 -for each row set new.f1='Trigger 3.5.4.1'; -Use db_drop; -Insert into t1 values ('Insert error 3.5.4.1'); -Select * from t1 order by f1; -f1 -Trigger 3.5.4.1 -drop trigger trg1; -select trigger_schema, trigger_name, event_object_table -from information_schema.triggers order by trigger_name; -trigger_schema trigger_name event_object_table -Insert into t1 values ('Insert no trigger 3.5.4.1'); -Select * from t1 order by f1; -f1 -Insert no trigger 3.5.4.1 -Trigger 3.5.4.1 -drop trigger trg1; -drop database if exists db_drop; -revoke ALL PRIVILEGES, GRANT OPTION FROM 'test_general'@'localhost'; - -Testcase 3.5.4.2: ------------------ -create database db_drop2; -Use db_drop2; -drop table if exists t1_432 ; -create table t1_432 (f1 char (30)) engine=ndb; -Drop trigger tr_does_not_exit; -ERROR HY000: Trigger does not exist -drop table if exists t1_432 ; -drop database if exists db_drop2; - -Testcase 3.5.4.3: ------------------ -create database db_drop3; -Use db_drop3; -drop table if exists t1_433 ; -drop table if exists t1_433a ; -create table t1_433 (f1 char (30)) engine=ndb; -create table t1_433a (f1a char (5)) engine=ndb; -CREATE TRIGGER trg3 BEFORE INSERT on t1_433 for each row -set new.f1 = 'Trigger 3.5.4.3'; -Drop trigger t1.433.trg3; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.trg3' at line 1 -Drop trigger db_drop3.t1.433.trg3; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.433.trg3' at line 1 -Drop trigger mysql.trg3; -ERROR HY000: Trigger does not exist -Drop trigger tbx.trg3; -ERROR HY000: Trigger does not exist -Drop trigger db_drop3.trg3; -drop table if exists t1_433; -drop table if exists t1_433a; -drop database if exists db_drop3; - -Testcase 3.5.4.4: ------------------ -create database db_drop4; -Use db_drop4; -create table t1 (f1 char(30)) engine=ndb; -grant INSERT, SELECT on db_drop4.t1 to test_general; -Create trigger trg4 BEFORE INSERT on t1 -for each row set new.f1='Trigger 3.5.4.4'; -Use db_drop4; -Insert into t1 values ('Insert 3.5.4.4'); -Select * from t1; -f1 -Trigger 3.5.4.4 -Drop database db_drop4; -Show databases; -Database -information_schema -mysql -test -select trigger_schema, trigger_name, event_object_table -from information_schema.triggers -where information_schema.triggers.trigger_name='trg4'; -trigger_schema trigger_name event_object_table -create database db_drop4; -Use db_drop4; -create table t1 (f1 char(30)) engine=ndb; -grant INSERT, SELECT on db_drop4.t1 to test_general; -Insert into t1 values ('2nd Insert 3.5.4.4'); -Select * from t1; -f1 -2nd Insert 3.5.4.4 -drop trigger trg4; -ERROR HY000: Trigger does not exist -drop database if exists db_drop4; -revoke ALL PRIVILEGES, GRANT OPTION FROM 'test_general'@'localhost'; - -Testcase 3.5.4.5: ------------------ -create database db_drop5; -Use db_drop5; -create table t1 (f1 char(50)) engine=ndb; -grant INSERT, SELECT on t1 to test_general; -Create trigger trg5 BEFORE INSERT on t1 -for each row set new.f1='Trigger 3.5.4.5'; -Use db_drop5; -Insert into t1 values ('Insert 3.5.4.5'); -Select * from t1; -f1 -Trigger 3.5.4.5 -Drop table t1; -Show tables; -Tables_in_db_drop5 -select trigger_schema, trigger_name, event_object_table -from information_schema.triggers -where information_schema.triggers.trigger_name='trg5'; -trigger_schema trigger_name event_object_table -create table t1 (f1 char(50)) engine=ndb; -grant INSERT, SELECT on t1 to test_general; -Insert into t1 values ('2nd Insert 3.5.4.5'); -Select * from t1; -f1 -2nd Insert 3.5.4.5 -drop trigger trg5; -ERROR HY000: Trigger does not exist -drop database if exists db_drop5; -revoke ALL PRIVILEGES, GRANT OPTION FROM 'test_general'@'localhost'; - -Testcase 3.5.5: ---------------- -use test; - -Testcase 3.5.5.1: ------------------ -Create trigger trg1 before INSERT on t100 for each row set new.f2=1000; -ERROR 42S02: Table 'test.t100' doesn't exist - -Testcase 3.5.5.2: ------------------ -Create temporary table t1_temp (f1 bigint signed, f2 bigint unsigned); -Create trigger trg2 before INSERT -on t1_temp for each row set new.f2=9999; -ERROR HY000: Trigger's 't1_temp' is view or temporary table -drop table t1_temp; - -Testcase 3.5.5.3: ------------------ -Create view vw3 as select f118 from tb3; -Create trigger trg3 before INSERT -on vw3 for each row set new.f118='s'; -ERROR HY000: 'test.vw3' is not BASE TABLE -drop view vw3; - -Testcase 3.5.5.4: ------------------ -create database dbtest_one; -create database dbtest_two; -use dbtest_two; -create table t2 (f1 char(15)) engine=ndb; -use dbtest_one; -create trigger trg4 before INSERT -on dbtest_two.t2 for each row set new.f1='trig 3.5.5.4'; -ERROR HY000: Trigger in wrong schema -grant INSERT, SELECT on dbtest_two.t2 to test_general; -grant SELECT on dbtest_one.* to test_general; -use dbtest_two; -Insert into t2 values ('1st Insert 3.5.5.4'); -Warnings: -Warning 1265 Data truncated for column 'f1' at row 1 -Select * from t2; -f1 -1st Insert 3.5. -use dbtest_one; -Insert into dbtest_two.t2 values ('2nd Insert 3.5.5.4'); -Warnings: -Warning 1265 Data truncated for column 'f1' at row 1 -Select * from dbtest_two.t2 order by f1; -f1 -1st Insert 3.5. -2nd Insert 3.5. -revoke ALL PRIVILEGES, GRANT OPTION FROM 'test_general'@'localhost'; -DROP DATABASE if exists dbtest_one; -drop database if EXISTS dbtest_two; - -Testcase 3.5.6: ---------------- -use test; - -Testcase 3.5.6.1 (see Testcase 3.5.1.1) ---------------------------------------- - -Testcase 3.5.6.2 (see Testcase 3.5.1.1) ---------------------------------------- - -Testcase 3.5.6.3: ------------------ -Create trigger trg3_1 DURING UPDATE on tb3 for each row set new.f132=25; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DURING UPDATE on tb3 for each row set new.f132=25' at line 1 -Create trigger trg3_2 TIME INSERT on tb3 for each row set new.f132=15; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TIME INSERT on tb3 for each row set new.f132=15' at line 1 -drop trigger tb3.trg3_1; -drop trigger tb3.trg3_2; - -Testcase 3.5.6.4 (see Testcase 3.5.1.1) ---------------------------------------- - -Testcase 3.5.6.5 (see Testcase 3.5.1.1) ---------------------------------------- - -Testcase 3.5.7.1 (see Testcase 3.5.1.1) ---------------------------------------- - -Testcase 3.5.7.2 (see Testcase 3.5.1.1) ---------------------------------------- - -Testcase 3.5.7.3 (see Testcase 3.5.1.1) ---------------------------------------- - -Testcase 3.5.7.4: ------------------ -Create trigger trg4_1 BEFORE SELECT on tb3 for each row set new.f132=5; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT on tb3 for each row set new.f132=5' at line 1 -Create trigger trg4_2 AFTER VALUE on tb3 for each row set new.f132=1; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUE on tb3 for each row set new.f132=1' at line 1 -drop trigger tb3.trg4_1; -drop trigger tb3.trg4_2; - -Testcase 3.5.7.5 / 3.5.7.6: ---------------------------- -Create trigger trg5_1 BEFORE INSERT -on tb3 for each row set new.f122='Trigger1 3.5.7.5/6'; -Create trigger trg5_2 BEFORE INSERT -on tb3 for each row set new.f122='Trigger2 3.5.7.5'; -ERROR 42000: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -Insert into tb3 (f121,f122) values ('Test 3.5.7.5/6','Insert 3.5.7.5'); -Select f121,f122 from tb3 where f121='Test 3.5.7.5/6'; -f121 f122 -Test 3.5.7.5/6 Trigger1 3.5.7.5/6 -update tb3 set f122='Update 3.5.7.6' where f121= 'Test 3.5.7.5/6'; -Select f121,f122 from tb3 where f121='Test 3.5.7.5/6'; -f121 f122 -Test 3.5.7.5/6 Update 3.5.7.6 -drop trigger trg5_1; -drop trigger trg5_2; -delete from tb3 where f121='Test 3.5.7.5/6'; - -Testcase 3.5.7.7 / 3.5.7.8: ---------------------------- -set @test_var='Before trig 3.5.7.7'; -Create trigger trg6_1 AFTER INSERT -on tb3 for each row set @test_var='Trigger1 3.5.7.7/8'; -Create trigger trg6_2 AFTER INSERT -on tb3 for each row set @test_var='Trigger2 3.5.7.7'; -ERROR 42000: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -select @test_var; -@test_var -Before trig 3.5.7.7 -Insert into tb3 (f121,f122) values ('Test 3.5.7.7/8','Insert 3.5.7.7'); -Select f121,f122 from tb3 where f121='Test 3.5.7.7/8'; -f121 f122 -Test 3.5.7.7/8 Insert 3.5.7.7 -select @test_var; -@test_var -Trigger1 3.5.7.7/8 -update tb3 set f122='Update 3.5.7.8' where f121= 'Test 3.5.7.7/8'; -Select f121,f122 from tb3 where f121='Test 3.5.7.7/8'; -f121 f122 -Test 3.5.7.7/8 Update 3.5.7.8 -select @test_var; -@test_var -Trigger1 3.5.7.7/8 -drop trigger trg6_1; -drop trigger trg6_2; -delete from tb3 where f121='Test 3.5.7.7/8'; - -Testcase 3.5.7.9/10: --------------------- -Create trigger trg7_1 BEFORE UPDATE -on tb3 for each row set new.f122='Trigger1 3.5.7.9/10'; -Create trigger trg7_2 BEFORE UPDATE -on tb3 for each row set new.f122='Trigger2 3.5.7.9'; -ERROR 42000: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -Insert into tb3 (f121,f122) values ('Test 3.5.7.9/10','Insert 3.5.7.9'); -Select f121,f122 from tb3 where f121='Test 3.5.7.9/10'; -f121 f122 -Test 3.5.7.9/10 Insert 3.5.7.9 -update tb3 set f122='update 3.5.7.10' where f121='Test 3.5.7.9/10'; -Select f121,f122 from tb3 where f121='Test 3.5.7.9/10'; -f121 f122 -Test 3.5.7.9/10 Trigger1 3.5.7.9/10 -drop trigger trg7_1; -drop trigger trg7_2; -delete from tb3 where f121='Test 3.5.7.9/10'; - -Testcase 3.5.7.11/12: ---------------------- -set @test_var='Before trig 3.5.7.11'; -Create trigger trg8_1 AFTER UPDATE -on tb3 for each row set @test_var='Trigger 3.5.7.11/12'; -Create trigger trg8_2 AFTER UPDATE -on tb3 for each row set @test_var='Trigger2 3.5.7.11'; -ERROR 42000: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -select @test_var; -@test_var -Before trig 3.5.7.11 -Insert into tb3 (f121,f122) values ('Test 3.5.7.11/12','Insert 3.5.7.11/12'); -select @test_var; -@test_var -Before trig 3.5.7.11 -Select f121,f122 from tb3 where f121='Test 3.5.7.11/12'; -f121 f122 -Test 3.5.7.11/12 Insert 3.5.7.11/12 -update tb3 set f122='update 3.5.7.12' where f121='Test 3.5.7.11/12'; -Select f121,f122 from tb3 where f121='Test 3.5.7.11/12'; -f121 f122 -Test 3.5.7.11/12 update 3.5.7.12 -select @test_var; -@test_var -Trigger 3.5.7.11/12 -delete from tb3 where f121='Test 3.5.7.11/12'; -drop trigger trg8_1; -drop trigger trg8_2; -delete from tb3 where f121='Test 3.5.7.11/12'; - -Testcase 3.5.7.13/14: ---------------------- -set @test_var=1; -Create trigger trg9_1 BEFORE DELETE -on tb3 for each row set @test_var=@test_var+1; -Create trigger trg9_2 BEFORE DELETE -on tb3 for each row set @test_var=@test_var+10; -ERROR 42000: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -select @test_var; -@test_var -1 -Insert into tb3 (f121,f122) values ('Test 3.5.7.13/14','Insert 3.5.7.13'); -Select f121,f122 from tb3 where f121='Test 3.5.7.13/14'; -f121 f122 -Test 3.5.7.13/14 Insert 3.5.7.13 -select @test_var; -@test_var -1 -delete from tb3 where f121='Test 3.5.7.13/14'; -Select f121,f122 from tb3 where f121='Test 3.5.7.13/14'; -f121 f122 -select @test_var; -@test_var -2 -delete from tb3 where f121='Test 3.5.7.13/14'; -select @test_var; -@test_var -2 -drop trigger trg9_1; -drop trigger trg9_2; -delete from tb3 where f121='Test 3.5.7.13/14'; - -Testcase 3.5.7.15/16: ---------------------- -set @test_var=1; -Create trigger trg_3_406010_1 AFTER DELETE -on tb3 for each row set @test_var=@test_var+5; -Create trigger trg_3_406010_2 AFTER DELETE -on tb3 for each row set @test_var=@test_var+50; -ERROR 42000: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -Create trigger trg_3_406010_1 AFTER INSERT -on tb3 for each row set @test_var=@test_var+1; -ERROR HY000: Trigger already exists -select @test_var; -@test_var -1 -Insert into tb3 (f121,f122) values ('Test 3.5.7.15/16','Insert 3.5.7.15/16'); -Select f121,f122 from tb3 where f121='Test 3.5.7.15/16'; -f121 f122 -Test 3.5.7.15/16 Insert 3.5.7.15/16 -select @test_var; -@test_var -1 -delete from tb3 where f121='Test 3.5.7.15/16'; -Select f121,f122 from tb3 where f121='Test 3.5.7.15/16'; -f121 f122 -select @test_var; -@test_var -6 -delete from tb3 where f121='Test 3.5.7.15/16'; -select @test_var; -@test_var -6 -drop trigger trg_3_406010_1; -drop trigger trg_3_406010_2; -delete from tb3 where f121='Test 3.5.7.15/16'; - -Testcase 3.5.7.17 (see Testcase 3.5.1.1) ----------------------------------------- -drop user test_general@localhost; -drop user test_general; -drop user test_super@localhost; -DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_08.result.moved b/mysql-test/suite/funcs_1/r/ndb_trig_08.result.moved deleted file mode 100644 index 52a0407a940..00000000000 --- a/mysql-test/suite/funcs_1/r/ndb_trig_08.result.moved +++ /dev/null @@ -1,538 +0,0 @@ -USE test; -drop table if exists tb3 ; -create table tb3 ( -f118 char not null DEFAULT 'a', -f119 char binary not null DEFAULT b'101', -f120 char ascii not null DEFAULT b'101', -f121 tinytext, -f122 text, -f123 mediumtext, -f124 longtext unicode, -f125 tinyblob, -f126 blob, -f127 mediumblob, -f128 longblob, -f129 binary not null DEFAULT b'101', -f130 tinyint not null DEFAULT 99, -f131 tinyint unsigned not null DEFAULT 99, -f132 tinyint zerofill not null DEFAULT 99, -f133 tinyint unsigned zerofill not null DEFAULT 99, -f134 smallint not null DEFAULT 999, -f135 smallint unsigned not null DEFAULT 999, -f136 smallint zerofill not null DEFAULT 999, -f137 smallint unsigned zerofill not null DEFAULT 999, -f138 mediumint not null DEFAULT 9999, -f139 mediumint unsigned not null DEFAULT 9999, -f140 mediumint zerofill not null DEFAULT 9999, -f141 mediumint unsigned zerofill not null DEFAULT 9999, -f142 int not null DEFAULT 99999, -f143 int unsigned not null DEFAULT 99999, -f144 int zerofill not null DEFAULT 99999, -f145 int unsigned zerofill not null DEFAULT 99999, -f146 bigint not null DEFAULT 999999, -f147 bigint unsigned not null DEFAULT 999999, -f148 bigint zerofill not null DEFAULT 999999, -f149 bigint unsigned zerofill not null DEFAULT 999999, -f150 decimal not null DEFAULT 999.999, -f151 decimal unsigned not null DEFAULT 999.17, -f152 decimal zerofill not null DEFAULT 999.999, -f153 decimal unsigned zerofill, -f154 decimal (0), -f155 decimal (64), -f156 decimal (0) unsigned, -f157 decimal (64) unsigned, -f158 decimal (0) zerofill, -f159 decimal (64) zerofill, -f160 decimal (0) unsigned zerofill, -f161 decimal (64) unsigned zerofill, -f162 decimal (0,0), -f163 decimal (63,30), -f164 decimal (0,0) unsigned, -f165 decimal (63,30) unsigned, -f166 decimal (0,0) zerofill, -f167 decimal (63,30) zerofill, -f168 decimal (0,0) unsigned zerofill, -f169 decimal (63,30) unsigned zerofill, -f170 numeric, -f171 numeric unsigned, -f172 numeric zerofill, -f173 numeric unsigned zerofill, -f174 numeric (0), -f175 numeric (64) -) engine = ndb; -Warnings: -Note 1265 Data truncated for column 'f150' at row 1 -Note 1265 Data truncated for column 'f151' at row 1 -Note 1265 Data truncated for column 'f152' at row 1 -Error 1478 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK' -load data infile '/std_data_ln/funcs_1/ndb_tb3.txt' -into table tb3; - -Testcase: 3.5: --------------- -create User test_general@localhost; -set password for test_general@localhost = password('PWD'); -revoke ALL PRIVILEGES, GRANT OPTION FROM test_general@localhost; -create User test_super@localhost; -set password for test_super@localhost = password('PWD'); -grant ALL on *.* to test_super@localhost with grant OPTION; -connect(localhost,test_general,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); -connect(localhost,test_super,PWD,test,MASTER_MYPORT,MASTER_MYSOCK); - -Testcase 3.5.8.1: (implied in previous tests) ---------------------------------------------- - -Testcase 3.5.8.2: (implied in previous tests) ---------------------------------------------- - -Testcase 3.5.8.3/4: -------------------- -create database db_test; -grant SELECT, INSERT, UPDATE, DELETE on db_test.* to test_general; -grant LOCK TABLES on db_test.* to test_general; -Use db_test; -create table t1_i ( -i120 char ascii not null DEFAULT b'101', -i136 smallint zerofill not null DEFAULT 999, -i144 int zerofill not null DEFAULT 99999, -i163 decimal (63,30)) engine=ndb; -create table t1_u ( -u120 char ascii not null DEFAULT b'101', -u136 smallint zerofill not null DEFAULT 999, -u144 int zerofill not null DEFAULT 99999, -u163 decimal (63,30)) engine=ndb; -create table t1_d ( -d120 char ascii not null DEFAULT b'101', -d136 smallint zerofill not null DEFAULT 999, -d144 int zerofill not null DEFAULT 99999, -d163 decimal (63,30)) engine=ndb; -Insert into t1_u values ('a',111,99999,999.99); -Insert into t1_u values ('b',222,99999,999.99); -Insert into t1_u values ('c',333,99999,999.99); -Insert into t1_u values ('d',222,99999,999.99); -Insert into t1_u values ('e',222,99999,999.99); -Insert into t1_u values ('f',333,99999,999.99); -Insert into t1_d values ('a',111,99999,999.99); -Insert into t1_d values ('b',222,99999,999.99); -Insert into t1_d values ('c',333,99999,999.99); -Insert into t1_d values ('d',444,99999,999.99); -Insert into t1_d values ('e',222,99999,999.99); -Insert into t1_d values ('f',222,99999,999.99); - -3.5.8.4 - multiple SQL ----------------------- -use test; -Create trigger trg1 AFTER INSERT on tb3 for each row -BEGIN -insert into db_test.t1_i -values (new.f120, new.f136, new.f144, new.f163); -update db_test.t1_u -set u144=new.f144, u163=new.f163 -where u136=new.f136; -delete from db_test.t1_d where d136= new.f136; -select sum(db_test.t1_u.u163) into @test_var from db_test.t1_u -where u136= new.f136; -END// -Use test; -set @test_var=0; -Insert into tb3 (f120, f122, f136, f144, f163) -values ('1', 'Test 3.5.8.4', 222, 23456, 1.05); -Select f120, f122, f136, f144, f163 from tb3 where f122= 'Test 3.5.8.4'; -f120 f122 f136 f144 f163 -1 Test 3.5.8.4 00222 0000023456 1.050000000000000000000000000000 -select * from db_test.t1_i; -i120 i136 i144 i163 -1 00222 0000023456 1.050000000000000000000000000000 -select * from db_test.t1_u; -u120 u136 u144 u163 -a 00111 0000099999 999.990000000000000000000000000000 -b 00222 0000023456 1.050000000000000000000000000000 -c 00333 0000099999 999.990000000000000000000000000000 -d 00222 0000023456 1.050000000000000000000000000000 -e 00222 0000023456 1.050000000000000000000000000000 -f 00333 0000099999 999.990000000000000000000000000000 -select * from db_test.t1_d; -d120 d136 d144 d163 -a 00111 0000099999 999.990000000000000000000000000000 -c 00333 0000099999 999.990000000000000000000000000000 -d 00444 0000099999 999.990000000000000000000000000000 -select @test_var; -@test_var -3.150000000000000000000000000000 - -3.5.8.4 - single SQL - insert ------------------------------ -Create trigger trg2 BEFORE UPDATE on tb3 for each row -BEGIN -insert into db_test.t1_i -values (new.f120, new.f136, new.f144, new.f163); -END// -Select f120, f122, f136, f144, f163 from tb3 where f122 like 'Test 3.5.8.4%'; -f120 f122 f136 f144 f163 -1 Test 3.5.8.4 00222 0000023456 1.050000000000000000000000000000 -select * from db_test.t1_i order by i120; -i120 i136 i144 i163 -1 00222 0000023456 1.050000000000000000000000000000 -update tb3 set f120='I', f122='Test 3.5.8.4-Single Insert' - where f122='Test 3.5.8.4'; -Select f120, f122, f136, f144, f163 from tb3 where f122 like 'Test 3.5.8.4%'; -f120 f122 f136 f144 f163 -I Test 3.5.8.4-Single Insert 00222 0000023456 1.050000000000000000000000000000 -select * from db_test.t1_i order by i120; -i120 i136 i144 i163 -1 00222 0000023456 1.050000000000000000000000000000 -I 00222 0000023456 1.050000000000000000000000000000 - -3.5.8.4 - single SQL - update ------------------------------ -drop trigger trg2; -Create trigger trg3 BEFORE UPDATE on tb3 for each row -update db_test.t1_u -set u120=new.f120 -where u136=new.f136; -update tb3 set f120='U', f122='Test 3.5.8.4-Single Update' - where f122='Test 3.5.8.4-Single Insert'; -Select f120, f122, f136, f144, f163 from tb3 where f122 like 'Test 3.5.8.4%'; -f120 f122 f136 f144 f163 -U Test 3.5.8.4-Single Update 00222 0000023456 1.050000000000000000000000000000 -select * from db_test.t1_u order by u120; -u120 u136 u144 u163 -a 00111 0000099999 999.990000000000000000000000000000 -c 00333 0000099999 999.990000000000000000000000000000 -f 00333 0000099999 999.990000000000000000000000000000 -U 00222 0000023456 1.050000000000000000000000000000 -U 00222 0000023456 1.050000000000000000000000000000 -U 00222 0000023456 1.050000000000000000000000000000 - -3.5.8.3/4 - single SQL - delete -------------------------------- -drop trigger trg3; -Create trigger trg4 AFTER UPDATE on tb3 for each row -delete from db_test.t1_d where d136= new.f136; -update tb3 set f120='D', f136=444, -f122='Test 3.5.8.4-Single Delete' - where f122='Test 3.5.8.4-Single Update'; -Select f120, f122, f136, f144, f163 from tb3 where f122 like 'Test 3.5.8.4%'; -f120 f122 f136 f144 f163 -D Test 3.5.8.4-Single Delete 00444 0000023456 1.050000000000000000000000000000 -select * from db_test.t1_d order by d120; -d120 d136 d144 d163 -a 00111 0000099999 999.990000000000000000000000000000 -c 00333 0000099999 999.990000000000000000000000000000 - -3.5.8.3/4 - single SQL - select -------------------------------- -drop trigger trg4; -Create trigger trg5 AFTER UPDATE on tb3 for each row -select sum(db_test.t1_u.u163) into @test_var from db_test.t1_u -where u136= new.f136; -set @test_var=0; -update tb3 set f120='S', f136=111, -f122='Test 3.5.8.4-Single Select' - where f122='Test 3.5.8.4-Single Delete'; -Select f120, f122, f136, f144, f163 from tb3 where f122 like 'Test 3.5.8.4%'; -f120 f122 f136 f144 f163 -S Test 3.5.8.4-Single Select 00111 0000023456 1.050000000000000000000000000000 -select @test_var; -@test_var -999.990000000000000000000000000000 -drop trigger trg1; -drop trigger trg5; -drop database if exists db_test; -delete from tb3 where f122 like 'Test 3.5.8.4%'; -revoke ALL PRIVILEGES, GRANT OPTION FROM 'test_general'@'localhost'; - -Testcase 3.5.8.5 (IF): ----------------------- -create trigger trg2 before insert on tb3 for each row -BEGIN -IF new.f120='1' then -set @test_var='one', new.f120='2'; -ELSEIF new.f120='2' then -set @test_var='two', new.f120='3'; -ELSEIF new.f120='3' then -set @test_var='three', new.f120='4'; -END IF; -IF (new.f120='4') and (new.f136=10) then -set @test_var2='2nd if', new.f120='d'; -ELSE -set @test_var2='2nd else', new.f120='D'; -END IF; -END// -set @test_var='Empty', @test_var2=0; -Insert into tb3 (f120, f122, f136) values ('1', 'Test 3.5.8.5-if', 101); -select f120, f122, f136, @test_var, @test_var2 -from tb3 where f122 = 'Test 3.5.8.5-if' order by f136; -f120 f122 f136 @test_var @test_var2 -D Test 3.5.8.5-if 00101 one 2nd else -Insert into tb3 (f120, f122, f136) values ('2', 'Test 3.5.8.5-if', 102); -select f120, f122, f136, @test_var, @test_var2 -from tb3 where f122 = 'Test 3.5.8.5-if' order by f136; -f120 f122 f136 @test_var @test_var2 -D Test 3.5.8.5-if 00101 two 2nd else -D Test 3.5.8.5-if 00102 two 2nd else -Insert into tb3 (f120, f122, f136) values ('3', 'Test 3.5.8.5-if', 10); -select f120, f122, f136, @test_var, @test_var2 -from tb3 where f122 = 'Test 3.5.8.5-if' order by f136; -f120 f122 f136 @test_var @test_var2 -d Test 3.5.8.5-if 00010 three 2nd if -D Test 3.5.8.5-if 00101 three 2nd if -D Test 3.5.8.5-if 00102 three 2nd if -Insert into tb3 (f120, f122, f136) values ('3', 'Test 3.5.8.5-if', 103); -select f120, f122, f136, @test_var, @test_var2 -from tb3 where f122 = 'Test 3.5.8.5-if' order by f136; -f120 f122 f136 @test_var @test_var2 -d Test 3.5.8.5-if 00010 three 2nd else -D Test 3.5.8.5-if 00101 three 2nd else -D Test 3.5.8.5-if 00102 three 2nd else -D Test 3.5.8.5-if 00103 three 2nd else -create trigger trg3 before update on tb3 for each row -BEGIN -ELSEIF new.f120='2' then -END IF; -END// -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ELSEIF new.f120='2' then -END IF; -END' at line 3 -drop trigger trg3// -create trigger trg4 before update on tb3 for each row -BEGIN -IF (new.f120='4') and (new.f136=10) then -set @test_var2='2nd if', new.f120='d'; -ELSE -set @test_var2='2nd else', new.f120='D'; -END// -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 7 -drop trigger trg4; -drop trigger trg2; -delete from tb3 where f121='Test 3.5.8.5-if'; - -Testcase 3.5.8.5-case: ----------------------- -create trigger trg3 before insert on tb3 for each row -BEGIN -SET new.f120=char(ascii(new.f120)-32); -CASE -when new.f136<100 then set new.f136=new.f136+120; -when new.f136<10 then set new.f144=777; -when new.f136>100 then set new.f120=new.f136-1; -END case; -CASE -when new.f136=200 then set @test_var=CONCAT(new.f120, '='); -ELSE set @test_var=concat(new.f120, '*'); -END case; -CASE new.f144 -when 1 then set @test_var=concat(@test_var, 'one'); -when 2 then set @test_var=concat(@test_var, 'two'); -when 3 then set @test_var=concat(@test_var, 'three'); -when 4 then set @test_var=concat(@test_var, 'four'); -when 5 then set @test_var=concat(@test_var, 'five'); -when 6 then set @test_var=concat(@test_var, 'six'); -when 7 then set @test_var=concat(@test_var, 'seven'); -when 8 then set @test_var=concat(@test_var, 'eight'); -when 9 then set @test_var=concat(@test_var, 'nine'); -when 10 then set @test_var=concat(@test_var, 'ten'); -when 11 then set @test_var=concat(@test_var, 'eleven'); -when 12 then set @test_var=concat(@test_var, 'twelve'); -when 13 then set @test_var=concat(@test_var, 'thirteen'); -when 14 then set @test_var=concat(@test_var, 'fourteen'); -when 15 then set @test_var=concat(@test_var, 'fifteen'); -ELSE set @test_var=CONCAT(new.f120, '*', new.f144); -END case; -END// -set @test_var='Empty'; -Insert into tb3 (f120, f122, f136, f144) -values ('a', 'Test 3.5.8.5-case', 5, 7); -select f120, f122, f136, f144, @test_var -from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136; -f120 f122 f136 f144 @test_var -A Test 3.5.8.5-case 00125 0000000007 A*seven -Insert into tb3 (f120, f122, f136, f144) -values ('b', 'Test 3.5.8.5-case', 71,16); -select f120, f122, f136, f144, @test_var -from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136; -f120 f122 f136 f144 @test_var -A Test 3.5.8.5-case 00125 0000000007 B*0000000016 -B Test 3.5.8.5-case 00191 0000000016 B*0000000016 -Insert into tb3 (f120, f122, f136, f144) -values ('c', 'Test 3.5.8.5-case', 80,1); -select f120, f122, f136, f144, @test_var -from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136; -f120 f122 f136 f144 @test_var -A Test 3.5.8.5-case 00125 0000000007 C=one -B Test 3.5.8.5-case 00191 0000000016 C=one -C Test 3.5.8.5-case 00200 0000000001 C=one -Insert into tb3 (f120, f122, f136) -values ('d', 'Test 3.5.8.5-case', 152); -Warnings: -Warning 1265 Data truncated for column 'f120' at row 1 -select f120, f122, f136, f144, @test_var -from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136; -f120 f122 f136 f144 @test_var -1 Test 3.5.8.5-case 00152 0000099999 1*0000099999 -A Test 3.5.8.5-case 00125 0000000007 1*0000099999 -B Test 3.5.8.5-case 00191 0000000016 1*0000099999 -C Test 3.5.8.5-case 00200 0000000001 1*0000099999 -Insert into tb3 (f120, f122, f136, f144) -values ('e', 'Test 3.5.8.5-case', 200, 8); -Warnings: -Warning 1265 Data truncated for column 'f120' at row 1 -select f120, f122, f136, f144, @test_var -from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136; -f120 f122 f136 f144 @test_var -1 Test 3.5.8.5-case 00152 0000099999 1=eight -1 Test 3.5.8.5-case 00200 0000000008 1=eight -A Test 3.5.8.5-case 00125 0000000007 1=eight -B Test 3.5.8.5-case 00191 0000000016 1=eight -C Test 3.5.8.5-case 00200 0000000001 1=eight -Insert into tb3 (f120, f122, f136, f144) -values ('f', 'Test 3.5.8.5-case', 100, 8); -select f120, f122, f136, f144, @test_var -from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136; -f120 f122 f136 f144 @test_var -1 Test 3.5.8.5-case 00152 0000099999 1=eight -1 Test 3.5.8.5-case 00200 0000000008 1=eight -A Test 3.5.8.5-case 00125 0000000007 1=eight -B Test 3.5.8.5-case 00191 0000000016 1=eight -C Test 3.5.8.5-case 00200 0000000001 1=eight -create trigger trg3a before update on tb3 for each row -BEGIN -CASE -when new.f136<100 then set new.f120='p'; -END// -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5 -drop trigger trg3a; -drop trigger trg3; -delete from tb3 where f121='Test 3.5.8.5-case'; - -Testcase 3.5.8.5-loop/leave: ----------------------------- -Create trigger trg4 after insert on tb3 for each row -BEGIN -set @counter=0, @flag='Initial'; -Label1: loop -if new.f136 new.f136 END REPEAT rp_label; -END// -set @counter1= 0, @counter2= 0; -Insert into tb3 (f122, f136) -values ('Test 3.5.8.5-repeat', 13); -select @counter1, @counter2; -@counter1 @counter2 -15 8 -Create trigger trg6_2 after update on tb3 for each row -BEGIN -REPEAT -SET @counter2 = @counter2 + 1; -END// -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END' at line 5 -drop trigger trg6; -delete from tb3 where f122='Test 3.5.8.5-repeat'; - -Testcase 3.5.8.5-while: ------------------------ -Create trigger trg7 after insert on tb3 for each row -wl_label: WHILE @counter1 < new.f136 DO -SET @counter1 = @counter1 + 1; -IF (@counter1 MOD 2 = 0) THEN ITERATE wl_label; -END IF; -SET @counter2 = @counter2 + 1; -END WHILE wl_label// -set @counter1= 0, @counter2= 0; -Insert into tb3 (f122, f136) -values ('Test 3.5.8.5-while', 7); -select @counter1, @counter2; -@counter1 @counter2 -7 4 -Create trigger trg7_2 after update on tb3 for each row -BEGIN -WHILE @counter1 < new.f136 -SET @counter1 = @counter1 + 1; -END// -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @counter1 = @counter1 + 1; -END' at line 4 -delete from tb3 where f122='Test 3.5.8.5-while'; -drop trigger trg7; - -Testcase 3.5.8.6: (requirement void) ------------------------------------- -CREATE PROCEDURE sp_01 () BEGIN set @v1=1; END// -CREATE TRIGGER trg8_1 BEFORE UPDATE ON tb3 FOR EACH ROW -BEGIN -CALL sp_01 (); -END// -Insert into tb3 (f120, f122, f136) values ('6', 'Test 3.5.8.6-insert', 101); -update tb3 set f120='S', f136=111, -f122='Test 3.5.8.6-tr8_1' - where f122='Test 3.5.8.6-insert'; -select f120, f122 -from tb3 where f122 like 'Test 3.5.8.6%' order by f120; -f120 f122 -S Test 3.5.8.6-tr8_1 -DROP TRIGGER trg8_1; -DROP PROCEDURE sp_01; - -Testcase 3.5.8.7 ----------------- -Create trigger trg9_1 before update on tb3 for each row -BEGIN -Start transaction; -Set new.f120='U'; -Commit; -END// -ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger. -Create trigger trg9_2 before delete on tb3 for each row -BEGIN -Start transaction; -Set @var2=old.f120; -Rollback; -END// -ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger. -drop user test_general@localhost; -drop user test_general; -drop user test_super@localhost; -DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_09.result.moved b/mysql-test/suite/funcs_1/r/ndb_trig_09.result.moved deleted file mode 100644 index d9bc16c20d3..00000000000 --- a/mysql-test/suite/funcs_1/r/ndb_trig_09.result.moved +++ /dev/null @@ -1,275 +0,0 @@ -USE test; -drop table if exists tb3 ; -create table tb3 ( -f118 char not null DEFAULT 'a', -f119 char binary not null DEFAULT b'101', -f120 char ascii not null DEFAULT b'101', -f121 tinytext, -f122 text, -f123 mediumtext, -f124 longtext unicode, -f125 tinyblob, -f126 blob, -f127 mediumblob, -f128 longblob, -f129 binary not null DEFAULT b'101', -f130 tinyint not null DEFAULT 99, -f131 tinyint unsigned not null DEFAULT 99, -f132 tinyint zerofill not null DEFAULT 99, -f133 tinyint unsigned zerofill not null DEFAULT 99, -f134 smallint not null DEFAULT 999, -f135 smallint unsigned not null DEFAULT 999, -f136 smallint zerofill not null DEFAULT 999, -f137 smallint unsigned zerofill not null DEFAULT 999, -f138 mediumint not null DEFAULT 9999, -f139 mediumint unsigned not null DEFAULT 9999, -f140 mediumint zerofill not null DEFAULT 9999, -f141 mediumint unsigned zerofill not null DEFAULT 9999, -f142 int not null DEFAULT 99999, -f143 int unsigned not null DEFAULT 99999, -f144 int zerofill not null DEFAULT 99999, -f145 int unsigned zerofill not null DEFAULT 99999, -f146 bigint not null DEFAULT 999999, -f147 bigint unsigned not null DEFAULT 999999, -f148 bigint zerofill not null DEFAULT 999999, -f149 bigint unsigned zerofill not null DEFAULT 999999, -f150 decimal not null DEFAULT 999.999, -f151 decimal unsigned not null DEFAULT 999.17, -f152 decimal zerofill not null DEFAULT 999.999, -f153 decimal unsigned zerofill, -f154 decimal (0), -f155 decimal (64), -f156 decimal (0) unsigned, -f157 decimal (64) unsigned, -f158 decimal (0) zerofill, -f159 decimal (64) zerofill, -f160 decimal (0) unsigned zerofill, -f161 decimal (64) unsigned zerofill, -f162 decimal (0,0), -f163 decimal (63,30), -f164 decimal (0,0) unsigned, -f165 decimal (63,30) unsigned, -f166 decimal (0,0) zerofill, -f167 decimal (63,30) zerofill, -f168 decimal (0,0) unsigned zerofill, -f169 decimal (63,30) unsigned zerofill, -f170 numeric, -f171 numeric unsigned, -f172 numeric zerofill, -f173 numeric unsigned zerofill, -f174 numeric (0), -f175 numeric (64) -) engine = ndb; -Warnings: -Note 1265 Data truncated for column 'f150' at row 1 -Note 1265 Data truncated for column 'f151' at row 1 -Note 1265 Data truncated for column 'f152' at row 1 -Error 1478 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK' -load data infile '/std_data_ln/funcs_1/ndb_tb3.txt' -into table tb3; - -Testcase 3.5.9.1/2: -------------------- -Create trigger trg1 BEFORE UPDATE on tb3 for each row -set new.f142 = 94087, @counter=@counter+1; -TotalRows -10 -Affected -8 -NotAffected -2 -NewValuew -0 -set @counter=0; -Update tb3 Set f142='1' where f130<100; -select count(*) as ExpectedChanged, @counter as TrigCounter -from tb3 where f142=94087; -ExpectedChanged TrigCounter -8 8 -select count(*) as ExpectedNotChange from tb3 -where f130<100 and f142<>94087; -ExpectedNotChange -0 -select count(*) as NonExpectedChanged from tb3 -where f130>=130 and f142=94087; -NonExpectedChanged -0 -drop trigger trg1; - -Testcase 3.5.9.3: ------------------ -Create trigger trg2_a before update on tb3 for each row -set @tr_var_b4_118=old.f118, @tr_var_b4_121=old.f121, -@tr_var_b4_122=old.f122, @tr_var_b4_136=old.f136, -@tr_var_b4_163=old.f163; -Create trigger trg2_b after update on tb3 for each row -set @tr_var_af_118=old.f118, @tr_var_af_121=old.f121, -@tr_var_af_122=old.f122, @tr_var_af_136=old.f136, -@tr_var_af_163=old.f163; -Create trigger trg2_c before delete on tb3 for each row -set @tr_var_b4_118=old.f118, @tr_var_b4_121=old.f121, -@tr_var_b4_122=old.f122, @tr_var_b4_136=old.f136, -@tr_var_b4_163=old.f163; -Create trigger trg2_d after delete on tb3 for each row -set @tr_var_af_118=old.f118, @tr_var_af_121=old.f121, -@tr_var_af_122=old.f122, @tr_var_af_136=old.f136, -@tr_var_af_163=old.f163; -@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_163 -0 0 0 0 0 -@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163 -0 0 0 0 0 -Insert into tb3 (f122, f136, f163) -values ('Test 3.5.9.3', 7, 123.17); -Update tb3 Set f136=8 where f122='Test 3.5.9.3'; -select f118, f121, f122, f136, f163 from tb3 where f122='Test 3.5.9.3' order by f136; -f118 f121 f122 f136 f163 -a NULL Test 3.5.9.3 00008 123.170000000000000000000000000000 -select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122, -@tr_var_b4_136, @tr_var_b4_163; -@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_163 -a NULL Test 3.5.9.3 7 123.170000000000000000000000000000 -select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122, -@tr_var_af_136, @tr_var_af_163; -@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163 -a NULL Test 3.5.9.3 7 123.170000000000000000000000000000 -@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_163 -0 0 0 0 0 -@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163 -0 0 0 0 0 -delete from tb3 where f122='Test 3.5.9.3'; -select f118, f121, f122, f136, f163 from tb3 where f122='Test 3.5.9.3' order by f136; -f118 f121 f122 f136 f163 -select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122, -@tr_var_b4_136, @tr_var_b4_163; -@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_163 -a NULL Test 3.5.9.3 8 123.170000000000000000000000000000 -select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122, -@tr_var_af_136, @tr_var_af_163; -@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163 -a NULL Test 3.5.9.3 8 123.170000000000000000000000000000 -drop trigger trg2_a; -drop trigger trg2_b; -drop trigger trg2_c; -drop trigger trg2_d; - -Testcase 3.5.9.4: ------------------ -Create trigger trg3_a before insert on tb3 for each row -set @tr_var_b4_118=new.f118, @tr_var_b4_121=new.f121, -@tr_var_b4_122=new.f122, @tr_var_b4_136=new.f136, -@tr_var_b4_151=new.f151, @tr_var_b4_163=new.f163; -Create trigger trg3_b after insert on tb3 for each row -set @tr_var_af_118=new.f118, @tr_var_af_121=new.f121, -@tr_var_af_122=new.f122, @tr_var_af_136=new.f136, -@tr_var_af_151=new.f151, @tr_var_af_163=new.f163; -Create trigger trg3_c before update on tb3 for each row -set @tr_var_b4_118=new.f118, @tr_var_b4_121=new.f121, -@tr_var_b4_122=new.f122, @tr_var_b4_136=new.f136, -@tr_var_b4_151=new.f151, @tr_var_b4_163=new.f163; -Create trigger trg3_d after update on tb3 for each row -set @tr_var_af_118=new.f118, @tr_var_af_121=new.f121, -@tr_var_af_122=new.f122, @tr_var_af_136=new.f136, -@tr_var_af_151=new.f151, @tr_var_af_163=new.f163; -@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163 -0 0 0 0 0 0 -@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163 -0 0 0 0 0 0 -Insert into tb3 (f122, f136, f151, f163) -values ('Test 3.5.9.4', 7, DEFAULT, 995.24); -select f118, f121, f122, f136, f151, f163 from tb3 -where f122 like 'Test 3.5.9.4%' order by f163; -f118 f121 f122 f136 f151 f163 -a NULL Test 3.5.9.4 00007 999 995.240000000000000000000000000000 -select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122, -@tr_var_b4_136, @tr_var_b4_151, @tr_var_b4_163; -@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163 -a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000 -select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122, -@tr_var_af_136, @tr_var_af_151, @tr_var_af_163; -@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163 -a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000 -@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163 -0 0 0 0 0 0 -@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163 -0 0 0 0 0 0 -Update tb3 Set f122='Test 3.5.9.4-trig', f136=NULL, f151=DEFAULT, f163=NULL -where f122='Test 3.5.9.4'; -ERROR 23000: Column 'f136' cannot be null -Update tb3 Set f122='Test 3.5.9.4-trig', f136=0, f151=DEFAULT, f163=NULL -where f122='Test 3.5.9.4'; -select f118, f121, f122, f136, f151, f163 from tb3 -where f122 like 'Test 3.5.9.4-trig' order by f163; -f118 f121 f122 f136 f151 f163 -a NULL Test 3.5.9.4-trig 00000 999 NULL -select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122, -@tr_var_b4_136, @tr_var_b4_151, @tr_var_b4_163; -@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163 -a NULL Test 3.5.9.4-trig 0 999 NULL -select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122, -@tr_var_af_136, @tr_var_af_151, @tr_var_af_163; -@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163 -a NULL Test 3.5.9.4-trig 0 999 NULL -drop trigger trg3_a; -drop trigger trg3_b; -drop trigger trg3_c; -drop trigger trg3_d; -delete from tb3 where f122='Test 3.5.9.4-trig'; - -Testcase 3.5.9.5: (implied in previous tests) ---------------------------------------------- - -Testcase 3.5.9.6: ------------------ -create trigger trg4a before insert on tb3 for each row -set @temp1= old.f120; -ERROR HY000: There is no OLD row in on INSERT trigger -create trigger trg4b after insert on tb3 for each row -set old.f120= 'test'; -ERROR HY000: Updating of OLD row is not allowed in trigger -drop trigger trg4a; -drop trigger trg4b; - -Testcase 3.5.9.7: (implied in previous tests) ---------------------------------------------- - -Testcase 3.5.9.8: (implied in previous tests) ---------------------------------------------- - -Testcase 3.5.9.9: ------------------ -create trigger trg5a before DELETE on tb3 for each row -set @temp1=new.f122; -ERROR HY000: There is no NEW row in on DELETE trigger -create trigger trg5b after DELETE on tb3 for each row -set new.f122='test'; -ERROR HY000: There is no NEW row in on DELETE trigger -drop trigger trg5a; -drop trigger trg5b; - -Testcase 3.5.9.10: (implied in previous tests) ----------------------------------------------- - -Testcase 3.5.9.11: covered by 3.5.9.9 -------------------------------------- - -Testcase 3.5.9.12: covered by 3.5.9.6 -------------------------------------- - -Testcase 3.5.9.13: ------------------- -create trigger trg6a before UPDATE on tb3 for each row -set old.f118='C', new.f118='U'; -ERROR HY000: Updating of OLD row is not allowed in trigger -create trigger trg6b after INSERT on tb3 for each row -set old.f136=163, new.f118='U'; -ERROR HY000: Updating of OLD row is not allowed in trigger -create trigger trg6c after UPDATE on tb3 for each row -set old.f136=NULL; -ERROR HY000: Updating of OLD row is not allowed in trigger -drop trigger trg6a; -drop trigger trg6b; -drop trigger trg6c; - -Testcase 3.5.9.14: (implied in previous tests) ----------------------------------------------- -DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_1011ext.result.moved b/mysql-test/suite/funcs_1/r/ndb_trig_1011ext.result.moved deleted file mode 100644 index 611e3460af4..00000000000 --- a/mysql-test/suite/funcs_1/r/ndb_trig_1011ext.result.moved +++ /dev/null @@ -1,404 +0,0 @@ -USE test; -drop table if exists tb3 ; -create table tb3 ( -f118 char not null DEFAULT 'a', -f119 char binary not null DEFAULT b'101', -f120 char ascii not null DEFAULT b'101', -f121 tinytext, -f122 text, -f123 mediumtext, -f124 longtext unicode, -f125 tinyblob, -f126 blob, -f127 mediumblob, -f128 longblob, -f129 binary not null DEFAULT b'101', -f130 tinyint not null DEFAULT 99, -f131 tinyint unsigned not null DEFAULT 99, -f132 tinyint zerofill not null DEFAULT 99, -f133 tinyint unsigned zerofill not null DEFAULT 99, -f134 smallint not null DEFAULT 999, -f135 smallint unsigned not null DEFAULT 999, -f136 smallint zerofill not null DEFAULT 999, -f137 smallint unsigned zerofill not null DEFAULT 999, -f138 mediumint not null DEFAULT 9999, -f139 mediumint unsigned not null DEFAULT 9999, -f140 mediumint zerofill not null DEFAULT 9999, -f141 mediumint unsigned zerofill not null DEFAULT 9999, -f142 int not null DEFAULT 99999, -f143 int unsigned not null DEFAULT 99999, -f144 int zerofill not null DEFAULT 99999, -f145 int unsigned zerofill not null DEFAULT 99999, -f146 bigint not null DEFAULT 999999, -f147 bigint unsigned not null DEFAULT 999999, -f148 bigint zerofill not null DEFAULT 999999, -f149 bigint unsigned zerofill not null DEFAULT 999999, -f150 decimal not null DEFAULT 999.999, -f151 decimal unsigned not null DEFAULT 999.17, -f152 decimal zerofill not null DEFAULT 999.999, -f153 decimal unsigned zerofill, -f154 decimal (0), -f155 decimal (64), -f156 decimal (0) unsigned, -f157 decimal (64) unsigned, -f158 decimal (0) zerofill, -f159 decimal (64) zerofill, -f160 decimal (0) unsigned zerofill, -f161 decimal (64) unsigned zerofill, -f162 decimal (0,0), -f163 decimal (63,30), -f164 decimal (0,0) unsigned, -f165 decimal (63,30) unsigned, -f166 decimal (0,0) zerofill, -f167 decimal (63,30) zerofill, -f168 decimal (0,0) unsigned zerofill, -f169 decimal (63,30) unsigned zerofill, -f170 numeric, -f171 numeric unsigned, -f172 numeric zerofill, -f173 numeric unsigned zerofill, -f174 numeric (0), -f175 numeric (64) -) engine = ndb; -Warnings: -Note 1265 Data truncated for column 'f150' at row 1 -Note 1265 Data truncated for column 'f151' at row 1 -Note 1265 Data truncated for column 'f152' at row 1 -Error 1478 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK' -load data infile '/std_data_ln/funcs_1/ndb_tb3.txt' -into table tb3; - -Testcase 3.5.10.1/2/3: ----------------------- -Create view vw11 as select * from tb3 -where f122 like 'Test 3.5.10.1/2/3%'; -Create trigger trg1a before insert on tb3 -for each row set new.f163=111.11; -Create trigger trg1b after insert on tb3 -for each row set @test_var='After Insert'; -Create trigger trg1c before update on tb3 -for each row set new.f121='Y', new.f122='Test 3.5.10.1/2/3-Update'; -Create trigger trg1d after update on tb3 -for each row set @test_var='After Update'; -Create trigger trg1e before delete on tb3 -for each row set @test_var=5; -Create trigger trg1f after delete on tb3 -for each row set @test_var= 2* @test_var+7; -Insert into vw11 (f122, f151) values ('Test 3.5.10.1/2/3', 1); -Insert into vw11 (f122, f151) values ('Test 3.5.10.1/2/3', 2); -Insert into vw11 (f122, f151) values ('Not in View', 3); -select f121, f122, f151, f163 -from tb3 where f122 like 'Test 3.5.10.1/2/3%' order by f151; -f121 f122 f151 f163 -NULL Test 3.5.10.1/2/3 1 111.110000000000000000000000000000 -NULL Test 3.5.10.1/2/3 2 111.110000000000000000000000000000 -select f121, f122, f151, f163 from vw11; -f121 f122 f151 f163 -NULL Test 3.5.10.1/2/3 2 111.110000000000000000000000000000 -NULL Test 3.5.10.1/2/3 1 111.110000000000000000000000000000 -select f121, f122, f151, f163 -from tb3 where f122 like 'Not in View'; -f121 f122 f151 f163 -NULL Not in View 3 111.110000000000000000000000000000 -Update vw11 set f163=1; -select f121, f122, f151, f163 from tb3 -where f122 like 'Test 3.5.10.1/2/3%' order by f151; -f121 f122 f151 f163 -Y Test 3.5.10.1/2/3-Update 1 1.000000000000000000000000000000 -Y Test 3.5.10.1/2/3-Update 2 1.000000000000000000000000000000 -select f121, f122, f151, f163 from vw11; -f121 f122 f151 f163 -Y Test 3.5.10.1/2/3-Update 2 1.000000000000000000000000000000 -Y Test 3.5.10.1/2/3-Update 1 1.000000000000000000000000000000 -set @test_var=0; -Select @test_var as 'before delete'; -before delete -0 -delete from vw11 where f151=1; -select f121, f122, f151, f163 from tb3 -where f122 like 'Test 3.5.10.1/2/3%' order by f151; -f121 f122 f151 f163 -Y Test 3.5.10.1/2/3-Update 2 1.000000000000000000000000000000 -select f121, f122, f151, f163 from vw11; -f121 f122 f151 f163 -Y Test 3.5.10.1/2/3-Update 2 1.000000000000000000000000000000 -Select @test_var as 'after delete'; -after delete -17 -drop view vw11; -drop trigger trg1a; -drop trigger trg1b; -drop trigger trg1c; -drop trigger trg1d; -drop trigger trg1e; -drop trigger trg1f; -delete from tb3 where f122 like 'Test 3.5.10.1/2/3%'; - -Testcase 3.5.10.4: ------------------- -create table tb_load (f1 int, f2 char(25),f3 int) engine=ndb; -Create trigger trg4 before insert on tb_load -for each row set new.f3=-(new.f1 div 5), @counter= @counter+1; -set @counter= 0; -select @counter as 'Rows Loaded Before'; -Rows Loaded Before -0 -load data infile '/std_data_ln/funcs_1/t9.txt' into table tb_load; -select @counter as 'Rows Loaded After'; -Rows Loaded After -10 -Select * from tb_load order by f1 limit 10; -f1 f2 f3 --5000 a` 1000 --4999 aaa 999 --4998 abaa 999 --4997 acaaa 999 --4996 adaaaa 999 --4995 aeaaaaa 999 --4994 afaaaaaa 998 --4993 agaaaaaaa 998 --4992 a^aaaaaaaa 998 --4991 a_aaaaaaaaa 998 -drop trigger trg4; -drop table tb_load; - -Testcase 3.5.10.5: (implemented in trig_frkey.test) ---------------------------------------------------- - -Testcase 3.5.10.6: (implemented in trig_frkey.test) ---------------------------------------------------- - -Testcase 3.5.10.extra: ----------------------- -create table t1_sp (var136 tinyint, var151 decimal) engine=ndb; -create trigger trg before insert on t1_sp -for each row set @counter=@counter+1; -create procedure trig_sp() -begin -declare done int default 0; -declare var151 decimal; -declare var136 tinyint; -declare cur1 cursor for select f136, f151 from tb3; -declare continue handler for sqlstate '01000' set done = 1; -open cur1; -fetch cur1 into var136, var151; -wl_loop: WHILE NOT done DO -insert into t1_sp values (var136, var151); -fetch cur1 into var136, var151; -END WHILE wl_loop; -close cur1; -end// -set @counter=0; -select @counter; -@counter -0 -call trig_sp(); -ERROR 02000: No data - zero rows fetched, selected, or processed -select @counter; -@counter -11 -select count(*) from tb3; -count(*) -11 -select count(*) from t1_sp; -count(*) -11 -drop procedure trig_sp; -drop trigger trg; -drop table t1_sp; - -Testcase 3.5.11.1 (implemented in trig_perf.test) -------------------------------------------------- - -Testcase y.y.y.2: Check for triggers starting triggers ------------------------------------------------------- -use test; -drop table if exists t1; -drop table if exists t2_1; -drop table if exists t2_2; -drop table if exists t2_3; -drop table if exists t2_4; -drop table if exists t3; -create table t1 (f1 integer) engine=ndb; -create table t2_1 (f1 integer) engine=ndb; -create table t2_2 (f1 integer) engine=ndb; -create table t2_3 (f1 integer) engine=ndb; -create table t2_4 (f1 integer) engine=ndb; -create table t3 (f1 integer) engine=ndb; -insert into t1 values (1); -create trigger tr1 after insert on t1 for each row -BEGIN -insert into t2_1 (f1) values (new.f1+1); -insert into t2_2 (f1) values (new.f1+1); -insert into t2_3 (f1) values (new.f1+1); -insert into t2_4 (f1) values (new.f1+1); -END// -create trigger tr2_1 after insert on t2_1 for each row -insert into t3 (f1) values (new.f1+10); -create trigger tr2_2 after insert on t2_2 for each row -insert into t3 (f1) values (new.f1+100); -create trigger tr2_3 after insert on t2_3 for each row -insert into t3 (f1) values (new.f1+1000); -create trigger tr2_4 after insert on t2_4 for each row -insert into t3 (f1) values (new.f1+10000); -insert into t1 values (1); -select * from t3 order by f1; -f1 -12 -102 -1002 -10002 -drop trigger tr1; -drop trigger tr2_1; -drop trigger tr2_2; -drop trigger tr2_3; -drop trigger tr2_4; -drop table t1, t2_1, t2_2, t2_3, t2_4, t3; - -Testcase y.y.y.3: Circular trigger reference --------------------------------------------- -use test; -drop table if exists t1; -drop table if exists t2; -drop table if exists t3; -drop table if exists t4; -create table t1 (f1 integer) engine = ndb; -create table t2 (f2 integer) engine = ndb; -create table t3 (f3 integer) engine = ndb; -create table t4 (f4 integer) engine = ndb; -insert into t1 values (0); -create trigger tr1 after insert on t1 -for each row insert into t2 (f2) values (new.f1+1); -create trigger tr2 after insert on t2 -for each row insert into t3 (f3) values (new.f2+1); -create trigger tr3 after insert on t3 -for each row insert into t4 (f4) values (new.f3+1); -create trigger tr4 after insert on t4 -for each row insert into t1 (f1) values (new.f4+1); -insert into t1 values (1); -ERROR HY000: Can't update table 't1' in stored function/trigger because it is already used by statement which invoked this stored function/trigger. -select * from t1 order by f1; -f1 -0 -select * from t2 order by f2; -f2 -select * from t3 order by f3; -f3 -select * from t4 order by f4; -f4 -drop trigger tr1; -drop trigger tr2; -drop trigger tr3; -drop trigger tr4; -drop table t1; -drop table t2; -drop table t3; -drop table t4; - -Testcase y.y.y.4: Recursive trigger/SP references -------------------------------------------------- -set @sql_mode='traditional'; -create table t1_sp ( -count integer, -var136 tinyint, -var151 decimal) engine=ndb; -create procedure trig_sp() -begin -declare done int default 0; -declare var151 decimal; -declare var136 tinyint; -declare cur1 cursor for select f136, f151 from tb3; -declare continue handler for sqlstate '01000' set done = 1; -set @counter= @counter+1; -open cur1; -fetch cur1 into var136, var151; -wl_loop: WHILE NOT done DO -insert into t1_sp values (@counter, var136, var151); -fetch cur1 into var136, var151; -END WHILE wl_loop; -close cur1; -end// -create trigger trg before insert on t1_sp -for each row call trig_sp(); -set @counter=0; -select @counter; -@counter -0 -call trig_sp(); -ERROR HY000: Recursive limit 0 (as set by the max_sp_recursion_depth variable) was exceeded for routine trig_sp -select @counter; -@counter -1 -select count(*) from tb3; -count(*) -11 -select count(*) from t1_sp; -count(*) -0 -set @@max_sp_recursion_depth= 10; -set @counter=0; -select @counter; -@counter -0 -call trig_sp(); -ERROR HY000: Can't update table 't1_sp' in stored function/trigger because it is already used by statement which invoked this stored function/trigger. -select @counter; -@counter -2 -select count(*) from tb3; -count(*) -11 -select count(*) from t1_sp; -count(*) -0 -drop procedure trig_sp; -drop trigger trg; -drop table t1_sp; - -Testcase y.y.y.5: Roleback of nested trigger references -------------------------------------------------------- -set @@sql_mode='traditional'; -use test; -drop table if exists t1; -drop table if exists t2; -drop table if exists t3; -drop table if exists t4; -create table t1 (f1 integer) engine = ndb; -create table t2 (f2 integer) engine = ndb; -create table t3 (f3 integer) engine = ndb; -create table t4 (f4 tinyint) engine = ndb; -show create table t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `f1` int(11) DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 -insert into t1 values (1); -create trigger tr1 after insert on t1 -for each row insert into t2 (f2) values (new.f1+1); -create trigger tr2 after insert on t2 -for each row insert into t3 (f3) values (new.f2+1); -create trigger tr3 after insert on t3 -for each row insert into t4 (f4) values (new.f3+1000); -set autocommit=0; -start transaction; -insert into t1 values (1); -ERROR 22003: Out of range value for column 'f4' at row 1 -commit; -select * from t1 order by f1; -f1 -1 -1 -select * from t2 order by f2; -f2 -2 -select * from t3 order by f3; -f3 -3 -drop trigger tr1; -drop trigger tr2; -drop trigger tr3; -drop table t1; -drop table t2; -drop table t3; -drop table t4; -DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/t/ndb_trig_0102.test.moved b/mysql-test/suite/funcs_1/t/ndb_trig_0102.test.moved deleted file mode 100644 index c8bb5b04b24..00000000000 --- a/mysql-test/suite/funcs_1/t/ndb_trig_0102.test.moved +++ /dev/null @@ -1,16 +0,0 @@ -#### suite/funcs_1/t/ndb_triggers.test - -# ndb tables should be used -# -# 1. Check if ndb is available ---source include/have_ndb.inc -# 2. Set $engine_type -let $engine_type= ndb; - -# Create some objects needed in many testcases -USE test; ---source suite/funcs_1/include/ndb_tb3.inc - ---source suite/funcs_1/triggers/triggers_0102.inc -DROP TABLE test.tb3; - diff --git a/mysql-test/suite/funcs_1/t/ndb_trig_03.test.moved b/mysql-test/suite/funcs_1/t/ndb_trig_03.test.moved deleted file mode 100644 index 4e9df0282c6..00000000000 --- a/mysql-test/suite/funcs_1/t/ndb_trig_03.test.moved +++ /dev/null @@ -1,16 +0,0 @@ -#### suite/funcs_1/t/ndb_triggers.test - -# NDB tables should be used -# -# 1. Check if NDB is available ---source include/have_ndb.inc -# 2. Set $engine_type -let $engine_type= ndb; - -# Create some objects needed in many testcases -USE test; ---source suite/funcs_1/include/ndb_tb3.inc - ---source suite/funcs_1/triggers/triggers_03.inc -DROP TABLE test.tb3; - diff --git a/mysql-test/suite/funcs_1/t/ndb_trig_0407.test.moved b/mysql-test/suite/funcs_1/t/ndb_trig_0407.test.moved deleted file mode 100644 index 53c24790c7c..00000000000 --- a/mysql-test/suite/funcs_1/t/ndb_trig_0407.test.moved +++ /dev/null @@ -1,16 +0,0 @@ -#### suite/funcs_1/t/ndb_triggers.test - -# ndb tables should be used -# -# 1. Check if ndb is available ---source include/have_ndb.inc -# 2. Set $engine_type -let $engine_type= ndb; - -# Create some objects needed in many testcases -USE test; ---source suite/funcs_1/include/ndb_tb3.inc - ---source suite/funcs_1/triggers/triggers_0407.inc -DROP TABLE test.tb3; - diff --git a/mysql-test/suite/funcs_1/t/ndb_trig_08.test.moved b/mysql-test/suite/funcs_1/t/ndb_trig_08.test.moved deleted file mode 100644 index 197989137d7..00000000000 --- a/mysql-test/suite/funcs_1/t/ndb_trig_08.test.moved +++ /dev/null @@ -1,16 +0,0 @@ -#### suite/funcs_1/t/ndb_triggers.test - -# ndb tables should be used -# -# 1. Check if ndb is available ---source include/have_ndb.inc -# 2. Set $engine_type -let $engine_type= ndb; - -# Create some objects needed in many testcases -USE test; ---source suite/funcs_1/include/ndb_tb3.inc - ---source suite/funcs_1/triggers/triggers_08.inc -DROP TABLE test.tb3; - diff --git a/mysql-test/suite/funcs_1/t/ndb_trig_09.test.moved b/mysql-test/suite/funcs_1/t/ndb_trig_09.test.moved deleted file mode 100644 index ff26a0cbf21..00000000000 --- a/mysql-test/suite/funcs_1/t/ndb_trig_09.test.moved +++ /dev/null @@ -1,16 +0,0 @@ -#### suite/funcs_1/t/ndb_triggers.test - -# ndb tables should be used -# -# 1. Check if ndb is available ---source include/have_ndb.inc -# 2. Set $engine_type -let $engine_type= ndb; - -# Create some objects needed in many testcases -USE test; ---source suite/funcs_1/include/ndb_tb3.inc - ---source suite/funcs_1/triggers/triggers_09.inc -DROP TABLE test.tb3; - diff --git a/mysql-test/suite/funcs_1/t/ndb_trig_1011ext.test.moved b/mysql-test/suite/funcs_1/t/ndb_trig_1011ext.test.moved deleted file mode 100644 index 2adcf0747b7..00000000000 --- a/mysql-test/suite/funcs_1/t/ndb_trig_1011ext.test.moved +++ /dev/null @@ -1,16 +0,0 @@ -#### suite/funcs_1/t/ndb_triggers.test - -# ndb tables should be used -# -# 1. Check if ndb is available ---source include/have_ndb.inc -# 2. Set $engine_type -let $engine_type= ndb; - -# Create some objects needed in many testcases -USE test; ---source suite/funcs_1/include/ndb_tb3.inc - ---source suite/funcs_1/triggers/triggers_1011ext.inc -DROP TABLE test.tb3; - From e88487cc27014be1e8cd02a09b48d11aa1ca8b02 Mon Sep 17 00:00:00 2001 From: Kristofer Pettersson Date: Fri, 7 Nov 2008 13:12:56 +0100 Subject: [PATCH 072/141] Bug#38883 thd_security_context is not thread safe, crashes? Innodb monitor could cause a server crash because of invalid access to a shared variable in a concurrent environment. This patch adds a guard to protect against crashes but not against inconsistent values because of performance reasons. sql/sql_class.cc: * Attempt snapshot of static memory pointer proc_info to avoid null pointers. --- sql/sql_class.cc | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/sql/sql_class.cc b/sql/sql_class.cc index e63eed2d23c..956466d3a17 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -306,20 +306,25 @@ void thd_inc_row_count(THD *thd) thd->row_count++; } -/* + +/** Dumps a text description of a thread, its security context (user, host) and the current query. - SYNOPSIS - thd_security_context() - thd current thread context - buffer pointer to preferred result buffer - length length of buffer - max_query_len how many chars of query to copy (0 for all) + @param thd current thread context + @param buffer pointer to preferred result buffer + @param length length of buffer + @param max_query_len how many chars of query to copy (0 for all) - RETURN VALUES - pointer to string + @req LOCK_thread_count + + @note LOCK_thread_count mutex is not necessary when the function is invoked on + the currently running thread (current_thd) or if the caller in some other + way guarantees that access to thd->query is serialized. + + @return Pointer to string */ + extern "C" char *thd_security_context(THD *thd, char *buffer, unsigned int length, unsigned int max_query_len) @@ -328,6 +333,16 @@ char *thd_security_context(THD *thd, char *buffer, unsigned int length, const Security_context *sctx= &thd->main_security_ctx; char header[64]; int len; + /* + The pointers thd->query and thd->proc_info might change since they are + being modified concurrently. This is acceptable for proc_info since its + values doesn't have to very accurate and the memory it points to is static, + but we need to attempt a snapshot on the pointer values to avoid using NULL + values. The pointer to thd->query however, doesn't point to static memory + and has to be protected by LOCK_thread_count or risk pointing to + uninitialized memory. + */ + const char *proc_info= thd->proc_info; len= my_snprintf(header, sizeof(header), "MySQL thread id %lu, query id %lu", @@ -353,10 +368,10 @@ char *thd_security_context(THD *thd, char *buffer, unsigned int length, str.append(sctx->user); } - if (thd->proc_info) + if (proc_info) { str.append(' '); - str.append(thd->proc_info); + str.append(proc_info); } if (thd->query) From a5ec6953e1fa9fc718cde08babbb1ceb812dea73 Mon Sep 17 00:00:00 2001 From: Mattias Jonsson Date: Mon, 10 Nov 2008 21:13:24 +0100 Subject: [PATCH 073/141] Bug#40595: Non-matching rows not released with READ-COMMITTED on tables with partitions Problem was that the handler function try_semi_consistent_read was not propagated to the innodb handler. Solution was to implement that function in the partitioning handler. mysql-test/r/partition_innodb.result: Bug#40595: Non-matching rows not released with READ-COMMITTED on tables with partitions Updated test result. mysql-test/t/partition_innodb.test: Bug#40595: Non-matching rows not released with READ-COMMITTED on tables with partitions Added test case for bug#40595. Note: the replace_regex is taking long time. I have not found any better regex (it takes time using 'sed' too). sql/ha_partition.cc: Bug#40595: Non-matching rows not released with READ-COMMITTED on tables with partitions Added function to the partitioning handler for handling semi consistent reads (unlock_row was already implemented, and this is needed for unlock_row to work properly in innodb). It uses pruning for optimizing the call. sql/ha_partition.h: Bug#40595: Non-matching rows not released with READ-COMMITTED on tables with partitions Added function to the partitioning handler for handling semi consistent reads (unlock_row was already implemented, and this is needed for unlock_row to work properly in innodb). --- mysql-test/r/partition_innodb.result | 22 ++++++++++++++++ mysql-test/t/partition_innodb.test | 38 ++++++++++++++++++++++++++++ sql/ha_partition.cc | 36 +++++++++++++++++++++++++- sql/ha_partition.h | 4 +++ 4 files changed, 99 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/partition_innodb.result b/mysql-test/r/partition_innodb.result index 3692626f9ac..ad4d08e89ff 100644 --- a/mysql-test/r/partition_innodb.result +++ b/mysql-test/r/partition_innodb.result @@ -1,3 +1,25 @@ +drop table if exists t1; +CREATE TABLE t1 (id INT PRIMARY KEY, data INT) ENGINE = InnoDB +PARTITION BY RANGE(id) ( +PARTITION p0 VALUES LESS THAN (5), +PARTITION p1 VALUES LESS THAN (10), +PARTITION p2 VALUES LESS THAN MAXVALUE +); +INSERT INTO t1 VALUES (1,1), (2,2), (3,3), (4,4), (5,5), (6,6), (7,7), (8,8), +(9,9), (10,10), (11,11); +SET @old_tx_isolation := @@session.tx_isolation; +SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; +SET autocommit = 0; +UPDATE t1 SET DATA = data*2 WHERE id = 3; +SHOW ENGINE InnoDB STATUS; +Type Name Status +InnoDB 2 lock struct(s) 1 row lock(s) +UPDATE t1 SET data = data*2 WHERE data = 2; +SHOW ENGINE InnoDB STATUS; +Type Name Status +InnoDB 6 lock struct(s) 2 row lock(s) +SET @@session.tx_isolation = @old_tx_isolation; +DROP TABLE t1; # Bug#37721, test of ORDER BY on PK and WHERE on INDEX CREATE TABLE t1 ( a INT, diff --git a/mysql-test/t/partition_innodb.test b/mysql-test/t/partition_innodb.test index c29b3458d19..b9ba03cf2de 100644 --- a/mysql-test/t/partition_innodb.test +++ b/mysql-test/t/partition_innodb.test @@ -1,6 +1,44 @@ --source include/have_partition.inc --source include/have_innodb.inc +--disable_warnings +drop table if exists t1; +--enable_warnings + +# +# Bug#40595: Non-matching rows not released with READ-COMMITTED on tables +# with partitions +CREATE TABLE t1 (id INT PRIMARY KEY, data INT) ENGINE = InnoDB +PARTITION BY RANGE(id) ( + PARTITION p0 VALUES LESS THAN (5), + PARTITION p1 VALUES LESS THAN (10), + PARTITION p2 VALUES LESS THAN MAXVALUE +); + +INSERT INTO t1 VALUES (1,1), (2,2), (3,3), (4,4), (5,5), (6,6), (7,7), (8,8), + (9,9), (10,10), (11,11); + +SET @old_tx_isolation := @@session.tx_isolation; +SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; + +SET autocommit = 0; + +UPDATE t1 SET DATA = data*2 WHERE id = 3; + +# NOTE: This regex takes quite a long time (> 1 sec). +--replace_regex /.*[^[:alnum:]]+([0-9]+ lock struct.s.), heap size [0-9]+, ([0-9]+ row lock.s.), undo log entries .*/\1 \2/ +SHOW ENGINE InnoDB STATUS; + +UPDATE t1 SET data = data*2 WHERE data = 2; + +# NOTE: This regex takes quite a long time (> 1 sec). +--replace_regex /.*[^[:alnum:]]+([0-9]+ lock struct.s.), heap size [0-9]+, ([0-9]+ row lock.s.), undo log entries .*/\1 \2/ +SHOW ENGINE InnoDB STATUS; + +SET @@session.tx_isolation = @old_tx_isolation; + +DROP TABLE t1; + # # Bug37721: ORDER BY when WHERE contains non-partitioned index column # wrong order since it did not use pk as second compare diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc index 3324bbc2f45..a1131a99fa4 100644 --- a/sql/ha_partition.cc +++ b/sql/ha_partition.cc @@ -2813,8 +2813,42 @@ uint ha_partition::lock_count() const void ha_partition::unlock_row() { + DBUG_ENTER("ha_partition::unlock_row"); m_file[m_last_part]->unlock_row(); - return; + DBUG_VOID_RETURN; +} + + +/** + Use semi consistent read if possible + + SYNOPSIS + try_semi_consistent_read() + yes Turn on semi consistent read + + RETURN VALUE + NONE + + DESCRIPTION + See handler.h: + Tell the engine whether it should avoid unnecessary lock waits. + If yes, in an UPDATE or DELETE, if the row under the cursor was locked + by another transaction, the engine may try an optimistic read of + the last committed row value under the cursor. + Note: prune_partitions are already called before this call, so using + pruning is OK. +*/ +void ha_partition::try_semi_consistent_read(bool yes) +{ + handler **file; + DBUG_ENTER("ha_partition::try_semi_consistent_read"); + + for (file= m_file; *file; file++) + { + if (bitmap_is_set(&(m_part_info->used_partitions), (file - m_file))) + (*file)->try_semi_consistent_read(yes); + } + DBUG_VOID_RETURN; } diff --git a/sql/ha_partition.h b/sql/ha_partition.h index 78cf47dd1aa..dd06d8d647b 100644 --- a/sql/ha_partition.h +++ b/sql/ha_partition.h @@ -325,6 +325,10 @@ public: Call to unlock rows not to be updated in transaction */ virtual void unlock_row(); + /* + Call to hint about semi consistent read + */ + virtual void try_semi_consistent_read(bool); /* ------------------------------------------------------------------------- From 60d5e900891bc849d7a6180b708290fe7a3e93ab Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Mon, 10 Nov 2008 21:18:04 +0100 Subject: [PATCH 074/141] Bug#36279 - mysql built with Visual Studio 2005 does not display japanese characters. Fix - removed obsolvete setlocale from my_init.c . In MBCS environments it caused unwanted character-to-byte translations in fputc() in client code and wrong output as result. --- mysys/my_init.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/mysys/my_init.c b/mysys/my_init.c index 8154a5fce51..07469e48e6c 100644 --- a/mysys/my_init.c +++ b/mysys/my_init.c @@ -305,8 +305,6 @@ static void my_win_init(void) const char *targetKey = "Software\\MySQL" ; DBUG_ENTER("my_win_init"); - setlocale(LC_CTYPE, ""); /* To get right sortorder */ - #if defined(_MSC_VER) #if _MSC_VER < 1300 /* From c5da8fbe16caefe077116c35df01d37280bada1c Mon Sep 17 00:00:00 2001 From: "Tatiana A. Nurnberg" Date: Mon, 10 Nov 2008 22:12:15 +0100 Subject: [PATCH 075/141] Bug#34025: mysql_config is not returning -ldl lib flag needed when using embedded server mysql_config did not output -ldl (or equivalent) when needed for --libmysqld-libs, so its output could be insufficient to build an application using the embedded server. LIBDL was already set in configure; it's now propagated all the way into the relevant mysql_config scripts. scripts/Makefile.am: We "manually" replace configure's constants in .sh scripts using sed, so AC_SUBST() alone is not good enough. Add LIBDL to the substitution list; we'll be needing it for mysql_config --libmysqld-libs scripts/mysql_config.pl.in: Add LIBDL (usually -ldl) to output of mysql_config --libmysqld-libs (perl version) scripts/mysql_config.sh: Add LIBDL (usually -ldl) to output of mysql_config --libmysqld-libs (shell version) --- scripts/Makefile.am | 1 + scripts/mysql_config.pl.in | 2 +- scripts/mysql_config.sh | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/Makefile.am b/scripts/Makefile.am index ac43bb7b0a4..0292617c7a5 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -162,6 +162,7 @@ SUFFIXES = .sh -e 's!@''CFLAGS''@!@CFLAGS@!'\ -e 's!@''CXXFLAGS''@!@CXXFLAGS@!'\ -e 's!@''LDFLAGS''@!@LDFLAGS@!'\ + -e 's!@''LIBDL''@!@LIBDL@!'\ -e 's!@''CLIENT_LIBS''@!@CLIENT_LIBS@!' \ -e 's!@''ZLIB_LIBS''@!@ZLIB_LIBS@!' \ -e 's!@''LIBS''@!@LIBS@!' \ diff --git a/scripts/mysql_config.pl.in b/scripts/mysql_config.pl.in index 3ae8baf7db0..21896711fa8 100644 --- a/scripts/mysql_config.pl.in +++ b/scripts/mysql_config.pl.in @@ -202,7 +202,7 @@ $flags->{libs} = $flags->{libs_r} = [@ldflags,@lib_r_opts,'@ZLIB_DEPS@','@LIBS@','@openssl_libs@']; $flags->{embedded_libs} = - [@ldflags,@lib_e_opts,'@ZLIB_DEPS@','@LIBS@','@WRAPLIBS@','@innodb_system_libs@','@openssl_libs@']; + [@ldflags,@lib_e_opts,'@LIBDL@','@ZLIB_DEPS@','@LIBS@','@WRAPLIBS@','@innodb_system_libs@','@openssl_libs@']; $flags->{include} = ["-I$pkgincludedir"]; $flags->{cflags} = [@{$flags->{include}},split(" ",'@CFLAGS@')]; diff --git a/scripts/mysql_config.sh b/scripts/mysql_config.sh index c16d9bb62e5..efc82544bc0 100644 --- a/scripts/mysql_config.sh +++ b/scripts/mysql_config.sh @@ -107,7 +107,7 @@ fi libs=" $ldflags -L$pkglibdir -lmysqlclient @ZLIB_DEPS@ @NON_THREADED_LIBS@" libs="$libs @openssl_libs@ @STATIC_NSS_FLAGS@ " libs_r=" $ldflags -L$pkglibdir -lmysqlclient_r @ZLIB_DEPS@ @LIBS@ @openssl_libs@ " -embedded_libs=" $ldflags -L$pkglibdir -lmysqld @ZLIB_DEPS@ @LIBS@ @WRAPLIBS@ @innodb_system_libs@ @openssl_libs@ " +embedded_libs=" $ldflags -L$pkglibdir -lmysqld @LIBDL@ @ZLIB_DEPS@ @LIBS@ @WRAPLIBS@ @innodb_system_libs@ @openssl_libs@ " if [ -r "$pkglibdir/libmygcc.a" ]; then # When linking against the static library with a different version of GCC From ab9ecae47b4515b416167220f5da26f7fa28917d Mon Sep 17 00:00:00 2001 From: Sergey Vojtovich Date: Tue, 11 Nov 2008 13:10:51 +0400 Subject: [PATCH 076/141] BUG#38842 - Fix for 25951 seems incorrect With fix for bug 25951 index hints are ignored for fulltext searches, as handling of fulltext indexes is different from handling regular indexes. Meaning it is not possible to implement true index hints support for fulltext indexes within the scope of current fulltext architecture. The problem is that prior to fix for bug 25951, some useful index hints still could be given for boolean mode searches. This patch implements special index hints support for fulltext indexes with the following characteristics: - all index hints are still ignored for NLQ mode searches - it cannot work without an index; - for 5.1 and up index hints FOR ORDER BY and FOR GROUP BY are still ignored for fulltext indexes; - boolean mode searches honor USE/FORCE/IGNORE INDEX hints; - as opposed to index hints for regular indexes, index hints for fulltext BOOLEAN mode searches affect the usage of the index for the whole query. mysql-test/r/fulltext.result: A test case for BUG#38842. mysql-test/t/fulltext.test: A test case for BUG#38842. sql/item_func.cc: For boolean mode searches, which can work without fulltext index, use keys_in_use_for_query bitmap instead of keys_in_use. The effect is that boolean mode searches now honor index hints. --- mysql-test/r/fulltext.result | 28 ++++++++++++++++++++++++++++ mysql-test/t/fulltext.test | 27 +++++++++++++++++++++++++++ sql/item_func.cc | 4 +++- 3 files changed, 58 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/fulltext.result b/mysql-test/r/fulltext.result index 29fb430bb97..e73f8af405c 100644 --- a/mysql-test/r/fulltext.result +++ b/mysql-test/r/fulltext.result @@ -469,3 +469,31 @@ SELECT * FROM t1 WHERE MATCH(a) AGAINST ('"aaaa"' IN BOOLEAN MODE); a aaaaa aaaa DROP TABLE t1; +CREATE TABLE t1 (a VARCHAR(255), b INT, FULLTEXT(a), KEY(b)); +INSERT INTO t1 VALUES('test', 1),('test', 1),('test', 1),('test', 1), +('test', 1),('test', 2),('test', 3),('test', 4); +EXPLAIN SELECT * FROM t1 +WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 fulltext b,a a 0 1 Using where +EXPLAIN SELECT * FROM t1 USE INDEX(a) +WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 fulltext a a 0 1 Using where +EXPLAIN SELECT * FROM t1 FORCE INDEX(a) +WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 fulltext a a 0 1 Using where +EXPLAIN SELECT * FROM t1 IGNORE INDEX(a) +WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ref b b 5 const 4 Using where +EXPLAIN SELECT * FROM t1 USE INDEX(b) +WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ref b b 5 const 4 Using where +EXPLAIN SELECT * FROM t1 FORCE INDEX(b) +WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ref b b 5 const 4 Using where +DROP TABLE t1; diff --git a/mysql-test/t/fulltext.test b/mysql-test/t/fulltext.test index e5f1db14b7f..fa087d89efb 100644 --- a/mysql-test/t/fulltext.test +++ b/mysql-test/t/fulltext.test @@ -396,3 +396,30 @@ SELECT * FROM t1 WHERE MATCH(a) AGAINST ('"aaaa"' IN BOOLEAN MODE); DROP TABLE t1; # End of 4.1 tests + +# +# BUG#38842 - Fix for 25951 seems incorrect +# +CREATE TABLE t1 (a VARCHAR(255), b INT, FULLTEXT(a), KEY(b)); +INSERT INTO t1 VALUES('test', 1),('test', 1),('test', 1),('test', 1), + ('test', 1),('test', 2),('test', 3),('test', 4); + +EXPLAIN SELECT * FROM t1 +WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1; + +EXPLAIN SELECT * FROM t1 USE INDEX(a) +WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1; + +EXPLAIN SELECT * FROM t1 FORCE INDEX(a) +WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1; + +EXPLAIN SELECT * FROM t1 IGNORE INDEX(a) +WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1; + +EXPLAIN SELECT * FROM t1 USE INDEX(b) +WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1; + +EXPLAIN SELECT * FROM t1 FORCE INDEX(b) +WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1; + +DROP TABLE t1; diff --git a/sql/item_func.cc b/sql/item_func.cc index e663e1fcf83..66fbf1eb4d2 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -5022,7 +5022,9 @@ bool Item_func_match::fix_index() for (keynr=0 ; keynr < table->s->keys ; keynr++) { if ((table->key_info[keynr].flags & HA_FULLTEXT) && - (table->s->keys_in_use.is_set(keynr))) + (flags & FT_BOOL ? table->keys_in_use_for_query.is_set(keynr) : + table->s->keys_in_use.is_set(keynr))) + { ft_to_key[fts]=keynr; ft_cnt[fts]=0; From 029def6c8aec8aead1098ece577fa3a26fefa7a5 Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Thu, 13 Nov 2008 12:38:30 +0400 Subject: [PATCH 077/141] Bug#36035 I_S.TABLES.UPDATE_TIME not being set on INSERT for Windows added FLUSH TABLES after INSERT because UPDATE_TIME is updated with delay on Win. mysql-test/suite/funcs_1/datadict/is_tables.inc: test fix mysql-test/suite/funcs_1/r/is_tables.result: result fix --- mysql-test/suite/funcs_1/datadict/is_tables.inc | 1 + mysql-test/suite/funcs_1/r/is_tables.result | 1 + 2 files changed, 2 insertions(+) diff --git a/mysql-test/suite/funcs_1/datadict/is_tables.inc b/mysql-test/suite/funcs_1/datadict/is_tables.inc index 6d47c33e715..d1e4608a572 100644 --- a/mysql-test/suite/funcs_1/datadict/is_tables.inc +++ b/mysql-test/suite/funcs_1/datadict/is_tables.inc @@ -346,6 +346,7 @@ WHERE table_name = 't1_my_tablex'; # Enforce a time difference bigger than the smallest unit (1 second). --real_sleep 1.1 INSERT INTO db_datadict.t1_my_tablex SET f1 = 3; +FLUSH TABLES; SELECT UPDATE_TIME > @UPDATE_TIME AS "Is current UPDATE_TIME bigger than before last INSERT?" FROM information_schema.tables diff --git a/mysql-test/suite/funcs_1/r/is_tables.result b/mysql-test/suite/funcs_1/r/is_tables.result index 1ed97e52c6c..ab45ca509e7 100644 --- a/mysql-test/suite/funcs_1/r/is_tables.result +++ b/mysql-test/suite/funcs_1/r/is_tables.result @@ -310,6 +310,7 @@ SELECT UPDATE_TIME, checksum INTO @UPDATE_TIME, @checksum FROM information_schema.tables WHERE table_name = 't1_my_tablex'; INSERT INTO db_datadict.t1_my_tablex SET f1 = 3; +FLUSH TABLES; SELECT UPDATE_TIME > @UPDATE_TIME AS "Is current UPDATE_TIME bigger than before last INSERT?" FROM information_schema.tables From 0dff72726bb45305d318f96b109f5dfbfdfb85bb Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Thu, 13 Nov 2008 13:50:20 +0400 Subject: [PATCH 078/141] Bug#35789 wrong datatypes for collation and charset columns in EVENTS, ROUTINES, TRIGGERS changed 'charset', 'collation' field length from 64 to MY_CS_NAME_SIZE(32) in tables: SCHEMATA, TABLES, COLUMNS, CHARACTER_SETS, COLLATIONS, COLLATION_CHARACTER_SET_APPLICABILITY mysql-test/r/create.result: result fix mysql-test/r/information_schema.result: result fix mysql-test/r/show_check.result: result fix mysql-test/suite/funcs_1/r/is_character_sets.result: result fix mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result: result fix mysql-test/suite/funcs_1/r/is_collations.result: result fix mysql-test/suite/funcs_1/r/is_columns.result: result fix mysql-test/suite/funcs_1/r/is_columns_is.result: result fix mysql-test/suite/funcs_1/r/is_routines.result: result fix mysql-test/suite/funcs_1/r/is_schemata.result: result fix mysql-test/suite/funcs_1/r/is_tables.result: result fix sql/sql_show.cc: changed 'charset', 'collation' field length from 64 to MY_CS_NAME_SIZE(32) in tables: SCHEMATA, TABLES, COLUMNS, CHARACTER_SETS, COLLATIONS, COLLATION_CHARACTER_SET_APPLICABILITY additional fix: ROUTINES.SQL_MODE is changed to be VARCHAR(addon for Bug#29153) --- mysql-test/r/create.result | 4 +- mysql-test/r/information_schema.result | 17 ++++--- mysql-test/r/show_check.result | 20 ++++---- .../suite/funcs_1/r/is_character_sets.result | 12 ++--- ...llation_character_set_applicability.result | 12 ++--- .../suite/funcs_1/r/is_collations.result | 12 ++--- mysql-test/suite/funcs_1/r/is_columns.result | 12 ++--- .../suite/funcs_1/r/is_columns_is.result | 48 +++++++++---------- mysql-test/suite/funcs_1/r/is_routines.result | 6 +-- mysql-test/suite/funcs_1/r/is_schemata.result | 12 ++--- mysql-test/suite/funcs_1/r/is_tables.result | 6 +-- sql/sql_show.cc | 33 ++++++++----- 12 files changed, 100 insertions(+), 94 deletions(-) diff --git a/mysql-test/r/create.result b/mysql-test/r/create.result index c7997369f4d..947890d2085 100644 --- a/mysql-test/r/create.result +++ b/mysql-test/r/create.result @@ -1754,8 +1754,8 @@ create table t1 like information_schema.character_sets; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( - `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '', - `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL DEFAULT '', + `CHARACTER_SET_NAME` varchar(32) NOT NULL DEFAULT '', + `DEFAULT_COLLATE_NAME` varchar(32) NOT NULL DEFAULT '', `DESCRIPTION` varchar(60) NOT NULL DEFAULT '', `MAXLEN` bigint(3) NOT NULL DEFAULT '0' ) ENGINE=MEMORY DEFAULT CHARSET=utf8 diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result index 7da540dd8f6..8f4caa3d6d1 100644 --- a/mysql-test/r/information_schema.result +++ b/mysql-test/r/information_schema.result @@ -517,8 +517,8 @@ drop table t1; SHOW CREATE TABLE INFORMATION_SCHEMA.character_sets; Table Create Table CHARACTER_SETS CREATE TEMPORARY TABLE `CHARACTER_SETS` ( - `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '', - `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL DEFAULT '', + `CHARACTER_SET_NAME` varchar(32) NOT NULL DEFAULT '', + `DEFAULT_COLLATE_NAME` varchar(32) NOT NULL DEFAULT '', `DESCRIPTION` varchar(60) NOT NULL DEFAULT '', `MAXLEN` bigint(3) NOT NULL DEFAULT '0' ) ENGINE=MEMORY DEFAULT CHARSET=utf8 @@ -526,8 +526,8 @@ set names latin2; SHOW CREATE TABLE INFORMATION_SCHEMA.character_sets; Table Create Table CHARACTER_SETS CREATE TEMPORARY TABLE `CHARACTER_SETS` ( - `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '', - `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL DEFAULT '', + `CHARACTER_SET_NAME` varchar(32) NOT NULL DEFAULT '', + `DEFAULT_COLLATE_NAME` varchar(32) NOT NULL DEFAULT '', `DESCRIPTION` varchar(60) NOT NULL DEFAULT '', `MAXLEN` bigint(3) NOT NULL DEFAULT '0' ) ENGINE=MEMORY DEFAULT CHARSET=utf8 @@ -541,8 +541,8 @@ alter table t1 default character set utf8; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( - `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '', - `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL DEFAULT '', + `CHARACTER_SET_NAME` varchar(32) NOT NULL DEFAULT '', + `DEFAULT_COLLATE_NAME` varchar(32) NOT NULL DEFAULT '', `DESCRIPTION` varchar(60) NOT NULL DEFAULT '', `MAXLEN` bigint(3) NOT NULL DEFAULT '0' ) ENGINE=MyISAM DEFAULT CHARSET=utf8 @@ -716,8 +716,8 @@ select column_type from information_schema.columns where table_schema="information_schema" and table_name="COLUMNS" and (column_name="character_set_name" or column_name="collation_name"); column_type -varchar(64) -varchar(64) +varchar(32) +varchar(32) select TABLE_ROWS from information_schema.tables where table_schema="information_schema" and table_name="COLUMNS"; TABLE_ROWS @@ -764,7 +764,6 @@ information_schema PARTITIONS PARTITION_DESCRIPTION information_schema PLUGINS PLUGIN_DESCRIPTION information_schema PROCESSLIST INFO information_schema ROUTINES ROUTINE_DEFINITION -information_schema ROUTINES SQL_MODE information_schema TRIGGERS ACTION_CONDITION information_schema TRIGGERS ACTION_STATEMENT information_schema VIEWS VIEW_DEFINITION diff --git a/mysql-test/r/show_check.result b/mysql-test/r/show_check.result index b9a5ddbf8ec..ddc08dca7bb 100644 --- a/mysql-test/r/show_check.result +++ b/mysql-test/r/show_check.result @@ -130,7 +130,7 @@ def TABLES AUTO_INCREMENT Auto_increment 8 21 0 Y 32800 0 63 def TABLES CREATE_TIME Create_time 12 19 0 Y 128 0 63 def TABLES UPDATE_TIME Update_time 12 19 0 Y 128 0 63 def TABLES CHECK_TIME Check_time 12 19 0 Y 128 0 63 -def TABLES TABLE_COLLATION Collation 253 64 0 Y 0 0 8 +def TABLES TABLE_COLLATION Collation 253 32 0 Y 0 0 8 def TABLES CHECKSUM Checksum 8 21 0 Y 32800 0 63 def TABLES CREATE_OPTIONS Create_options 253 255 0 Y 0 0 8 def TABLES TABLE_COMMENT Comment 253 80 0 N 1 0 8 @@ -858,17 +858,17 @@ set names utf8; ---------------------------------------------------------------- SHOW CHARACTER SET LIKE 'utf8'; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr -def CHARACTER_SETS CHARACTER_SET_NAME Charset 253 192 4 N 1 0 33 +def CHARACTER_SETS CHARACTER_SET_NAME Charset 253 96 4 N 1 0 33 def CHARACTER_SETS DESCRIPTION Description 253 180 13 N 1 0 33 -def CHARACTER_SETS DEFAULT_COLLATE_NAME Default collation 253 192 15 N 1 0 33 +def CHARACTER_SETS DEFAULT_COLLATE_NAME Default collation 253 96 15 N 1 0 33 def CHARACTER_SETS MAXLEN Maxlen 8 3 1 N 32769 0 63 Charset Description Default collation Maxlen utf8 UTF-8 Unicode utf8_general_ci 3 ---------------------------------------------------------------- SHOW COLLATION LIKE 'latin1_bin'; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr -def COLLATIONS COLLATION_NAME Collation 253 192 10 N 1 0 33 -def COLLATIONS CHARACTER_SET_NAME Charset 253 192 6 N 1 0 33 +def COLLATIONS COLLATION_NAME Collation 253 96 10 N 1 0 33 +def COLLATIONS CHARACTER_SET_NAME Charset 253 96 6 N 1 0 33 def COLLATIONS ID Id 8 11 2 N 32769 0 63 def COLLATIONS IS_DEFAULT Default 253 9 0 N 1 0 33 def COLLATIONS IS_COMPILED Compiled 253 9 3 N 1 0 33 @@ -935,7 +935,7 @@ def TABLES TABLE_NAME TABLE_NAME 253 192 2 N 1 0 33 def TABLES TABLE_TYPE TABLE_TYPE 253 192 10 N 1 0 33 def TABLES ENGINE ENGINE 253 192 6 Y 0 0 33 def TABLES ROW_FORMAT ROW_FORMAT 253 30 5 Y 0 0 33 -def TABLES TABLE_COLLATION TABLE_COLLATION 253 192 17 Y 0 0 33 +def TABLES TABLE_COLLATION TABLE_COLLATION 253 96 17 Y 0 0 33 def TABLES CREATE_OPTIONS CREATE_OPTIONS 253 765 0 Y 0 0 33 def TABLES TABLE_COMMENT TABLE_COMMENT 253 240 0 N 1 0 33 TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE ROW_FORMAT TABLE_COLLATION CREATE_OPTIONS TABLE_COMMENT @@ -966,8 +966,8 @@ def COLUMNS COLUMN_NAME COLUMN_NAME 253 192 1 N 1 0 33 def COLUMNS COLUMN_DEFAULT COLUMN_DEFAULT 252 589815 0 Y 16 0 33 def COLUMNS IS_NULLABLE IS_NULLABLE 253 9 2 N 1 0 33 def COLUMNS DATA_TYPE DATA_TYPE 253 192 3 N 1 0 33 -def COLUMNS CHARACTER_SET_NAME CHARACTER_SET_NAME 253 192 0 Y 0 0 33 -def COLUMNS COLLATION_NAME COLLATION_NAME 253 192 0 Y 0 0 33 +def COLUMNS CHARACTER_SET_NAME CHARACTER_SET_NAME 253 96 0 Y 0 0 33 +def COLUMNS COLLATION_NAME COLLATION_NAME 253 96 0 Y 0 0 33 def COLUMNS COLUMN_TYPE COLUMN_TYPE 252 589815 7 N 17 0 33 def COLUMNS COLUMN_KEY COLUMN_KEY 253 9 3 N 1 0 33 def COLUMNS EXTRA EXTRA 253 81 0 N 1 0 33 @@ -1125,7 +1125,7 @@ def ROUTINES IS_DETERMINISTIC IS_DETERMINISTIC 253 9 2 N 1 0 33 def ROUTINES SQL_DATA_ACCESS SQL_DATA_ACCESS 253 192 12 N 1 0 33 def ROUTINES SQL_PATH SQL_PATH 253 192 0 Y 0 0 33 def ROUTINES SECURITY_TYPE SECURITY_TYPE 253 21 7 N 1 0 33 -def ROUTINES SQL_MODE SQL_MODE 252 589815 0 N 17 0 33 +def ROUTINES SQL_MODE SQL_MODE 253 24576 0 N 1 0 33 def ROUTINES ROUTINE_COMMENT ROUTINE_COMMENT 253 192 0 N 1 0 33 def ROUTINES DEFINER DEFINER 253 231 14 N 1 0 33 SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE SQL_MODE ROUTINE_COMMENT DEFINER @@ -1180,7 +1180,7 @@ def ROUTINES IS_DETERMINISTIC IS_DETERMINISTIC 253 9 2 N 1 0 33 def ROUTINES SQL_DATA_ACCESS SQL_DATA_ACCESS 253 192 12 N 1 0 33 def ROUTINES SQL_PATH SQL_PATH 253 192 0 Y 0 0 33 def ROUTINES SECURITY_TYPE SECURITY_TYPE 253 21 7 N 1 0 33 -def ROUTINES SQL_MODE SQL_MODE 252 589815 0 N 17 0 33 +def ROUTINES SQL_MODE SQL_MODE 253 24576 0 N 1 0 33 def ROUTINES ROUTINE_COMMENT ROUTINE_COMMENT 253 192 0 N 1 0 33 def ROUTINES DEFINER DEFINER 253 231 14 N 1 0 33 SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE SQL_MODE ROUTINE_COMMENT DEFINER diff --git a/mysql-test/suite/funcs_1/r/is_character_sets.result b/mysql-test/suite/funcs_1/r/is_character_sets.result index 4c24a4a829a..2aaa1985020 100644 --- a/mysql-test/suite/funcs_1/r/is_character_sets.result +++ b/mysql-test/suite/funcs_1/r/is_character_sets.result @@ -28,22 +28,22 @@ DROP FUNCTION test.f1; ######################################################################### DESCRIBE information_schema.CHARACTER_SETS; Field Type Null Key Default Extra -CHARACTER_SET_NAME varchar(64) NO -DEFAULT_COLLATE_NAME varchar(64) NO +CHARACTER_SET_NAME varchar(32) NO +DEFAULT_COLLATE_NAME varchar(32) NO DESCRIPTION varchar(60) NO MAXLEN bigint(3) NO 0 SHOW CREATE TABLE information_schema.CHARACTER_SETS; Table Create Table CHARACTER_SETS CREATE TEMPORARY TABLE `CHARACTER_SETS` ( - `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '', - `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL DEFAULT '', + `CHARACTER_SET_NAME` varchar(32) NOT NULL DEFAULT '', + `DEFAULT_COLLATE_NAME` varchar(32) NOT NULL DEFAULT '', `DESCRIPTION` varchar(60) NOT NULL DEFAULT '', `MAXLEN` bigint(3) NOT NULL DEFAULT '0' ) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW COLUMNS FROM information_schema.CHARACTER_SETS; Field Type Null Key Default Extra -CHARACTER_SET_NAME varchar(64) NO -DEFAULT_COLLATE_NAME varchar(64) NO +CHARACTER_SET_NAME varchar(32) NO +DEFAULT_COLLATE_NAME varchar(32) NO DESCRIPTION varchar(60) NO MAXLEN bigint(3) NO 0 # Testcases 3.2.2.2 and 3.2.2.3 are checked in suite/funcs_1/t/charset_collation*.test diff --git a/mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result b/mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result index 43dc14784f4..7eba964bdf6 100644 --- a/mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result +++ b/mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result @@ -28,18 +28,18 @@ DROP FUNCTION test.f1; ######################################################################### DESCRIBE information_schema.COLLATION_CHARACTER_SET_APPLICABILITY; Field Type Null Key Default Extra -COLLATION_NAME varchar(64) NO -CHARACTER_SET_NAME varchar(64) NO +COLLATION_NAME varchar(32) NO +CHARACTER_SET_NAME varchar(32) NO SHOW CREATE TABLE information_schema.COLLATION_CHARACTER_SET_APPLICABILITY; Table Create Table COLLATION_CHARACTER_SET_APPLICABILITY CREATE TEMPORARY TABLE `COLLATION_CHARACTER_SET_APPLICABILITY` ( - `COLLATION_NAME` varchar(64) NOT NULL DEFAULT '', - `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '' + `COLLATION_NAME` varchar(32) NOT NULL DEFAULT '', + `CHARACTER_SET_NAME` varchar(32) NOT NULL DEFAULT '' ) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW COLUMNS FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY; Field Type Null Key Default Extra -COLLATION_NAME varchar(64) NO -CHARACTER_SET_NAME varchar(64) NO +COLLATION_NAME varchar(32) NO +CHARACTER_SET_NAME varchar(32) NO # Testcases 3.2.4.2 and 3.2.4.3 are checked in suite/funcs_1/t/charset_collation*.test ######################################################################## # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and diff --git a/mysql-test/suite/funcs_1/r/is_collations.result b/mysql-test/suite/funcs_1/r/is_collations.result index ca9259b67eb..234aeff8ff2 100644 --- a/mysql-test/suite/funcs_1/r/is_collations.result +++ b/mysql-test/suite/funcs_1/r/is_collations.result @@ -28,8 +28,8 @@ DROP FUNCTION test.f1; ######################################################################### DESCRIBE information_schema.COLLATIONS; Field Type Null Key Default Extra -COLLATION_NAME varchar(64) NO -CHARACTER_SET_NAME varchar(64) NO +COLLATION_NAME varchar(32) NO +CHARACTER_SET_NAME varchar(32) NO ID bigint(11) NO 0 IS_DEFAULT varchar(3) NO IS_COMPILED varchar(3) NO @@ -37,8 +37,8 @@ SORTLEN bigint(3) NO 0 SHOW CREATE TABLE information_schema.COLLATIONS; Table Create Table COLLATIONS CREATE TEMPORARY TABLE `COLLATIONS` ( - `COLLATION_NAME` varchar(64) NOT NULL DEFAULT '', - `CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '', + `COLLATION_NAME` varchar(32) NOT NULL DEFAULT '', + `CHARACTER_SET_NAME` varchar(32) NOT NULL DEFAULT '', `ID` bigint(11) NOT NULL DEFAULT '0', `IS_DEFAULT` varchar(3) NOT NULL DEFAULT '', `IS_COMPILED` varchar(3) NOT NULL DEFAULT '', @@ -46,8 +46,8 @@ COLLATIONS CREATE TEMPORARY TABLE `COLLATIONS` ( ) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW COLUMNS FROM information_schema.COLLATIONS; Field Type Null Key Default Extra -COLLATION_NAME varchar(64) NO -CHARACTER_SET_NAME varchar(64) NO +COLLATION_NAME varchar(32) NO +CHARACTER_SET_NAME varchar(32) NO ID bigint(11) NO 0 IS_DEFAULT varchar(3) NO IS_COMPILED varchar(3) NO diff --git a/mysql-test/suite/funcs_1/r/is_columns.result b/mysql-test/suite/funcs_1/r/is_columns.result index 99a497d806d..e0780a60e2e 100644 --- a/mysql-test/suite/funcs_1/r/is_columns.result +++ b/mysql-test/suite/funcs_1/r/is_columns.result @@ -40,8 +40,8 @@ CHARACTER_MAXIMUM_LENGTH bigint(21) unsigned YES NULL CHARACTER_OCTET_LENGTH bigint(21) unsigned YES NULL NUMERIC_PRECISION bigint(21) unsigned YES NULL NUMERIC_SCALE bigint(21) unsigned YES NULL -CHARACTER_SET_NAME varchar(64) YES NULL -COLLATION_NAME varchar(64) YES NULL +CHARACTER_SET_NAME varchar(32) YES NULL +COLLATION_NAME varchar(32) YES NULL COLUMN_TYPE longtext NO NULL COLUMN_KEY varchar(3) NO EXTRA varchar(27) NO @@ -62,8 +62,8 @@ COLUMNS CREATE TEMPORARY TABLE `COLUMNS` ( `CHARACTER_OCTET_LENGTH` bigint(21) unsigned DEFAULT NULL, `NUMERIC_PRECISION` bigint(21) unsigned DEFAULT NULL, `NUMERIC_SCALE` bigint(21) unsigned DEFAULT NULL, - `CHARACTER_SET_NAME` varchar(64) DEFAULT NULL, - `COLLATION_NAME` varchar(64) DEFAULT NULL, + `CHARACTER_SET_NAME` varchar(32) DEFAULT NULL, + `COLLATION_NAME` varchar(32) DEFAULT NULL, `COLUMN_TYPE` longtext NOT NULL, `COLUMN_KEY` varchar(3) NOT NULL DEFAULT '', `EXTRA` varchar(27) NOT NULL DEFAULT '', @@ -84,8 +84,8 @@ CHARACTER_MAXIMUM_LENGTH bigint(21) unsigned YES NULL CHARACTER_OCTET_LENGTH bigint(21) unsigned YES NULL NUMERIC_PRECISION bigint(21) unsigned YES NULL NUMERIC_SCALE bigint(21) unsigned YES NULL -CHARACTER_SET_NAME varchar(64) YES NULL -COLLATION_NAME varchar(64) YES NULL +CHARACTER_SET_NAME varchar(32) YES NULL +COLLATION_NAME varchar(32) YES NULL COLUMN_TYPE longtext NO NULL COLUMN_KEY varchar(3) NO EXTRA varchar(27) NO diff --git a/mysql-test/suite/funcs_1/r/is_columns_is.result b/mysql-test/suite/funcs_1/r/is_columns_is.result index 84daef5f8da..7a2257713d2 100644 --- a/mysql-test/suite/funcs_1/r/is_columns_is.result +++ b/mysql-test/suite/funcs_1/r/is_columns_is.result @@ -3,22 +3,22 @@ WHERE table_schema = 'information_schema' AND table_name <> 'profiling' ORDER BY table_schema, table_name, column_name; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select +NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select +NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select -NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select +NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select @@ -200,11 +200,11 @@ NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema ROUTINES SQL_MODE 18 NO varchar 8192 24576 NULL NULL utf8 utf8_general_ci varchar(8192) select NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select -NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select +NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select @@ -244,7 +244,7 @@ NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NU NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select -NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select @@ -357,18 +357,18 @@ WHERE table_schema = 'information_schema' AND table_name <> 'profiling' ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION; COL_CML TABLE_SCHEMA TABLE_NAME COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE -3.0000 information_schema CHARACTER_SETS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema CHARACTER_SETS CHARACTER_SET_NAME varchar 32 96 utf8 utf8_general_ci varchar(32) +3.0000 information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME varchar 32 96 utf8 utf8_general_ci varchar(32) 3.0000 information_schema CHARACTER_SETS DESCRIPTION varchar 60 180 utf8 utf8_general_ci varchar(60) NULL information_schema CHARACTER_SETS MAXLEN bigint NULL NULL NULL NULL bigint(3) -3.0000 information_schema COLLATIONS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLLATIONS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema COLLATIONS COLLATION_NAME varchar 32 96 utf8 utf8_general_ci varchar(32) +3.0000 information_schema COLLATIONS CHARACTER_SET_NAME varchar 32 96 utf8 utf8_general_ci varchar(32) NULL information_schema COLLATIONS ID bigint NULL NULL NULL NULL bigint(11) 3.0000 information_schema COLLATIONS IS_DEFAULT varchar 3 9 utf8 utf8_general_ci varchar(3) 3.0000 information_schema COLLATIONS IS_COMPILED varchar 3 9 utf8 utf8_general_ci varchar(3) NULL information_schema COLLATIONS SORTLEN bigint NULL NULL NULL NULL bigint(3) -3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar 32 96 utf8 utf8_general_ci varchar(32) +3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar 32 96 utf8 utf8_general_ci varchar(32) 3.0000 information_schema COLUMNS TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) 3.0000 information_schema COLUMNS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema COLUMNS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) @@ -381,8 +381,8 @@ NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL N NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) unsigned NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) unsigned -3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMNS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 32 96 utf8 utf8_general_ci varchar(32) +3.0000 information_schema COLUMNS COLLATION_NAME varchar 32 96 utf8 utf8_general_ci varchar(32) 1.0000 information_schema COLUMNS COLUMN_TYPE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext 3.0000 information_schema COLUMNS COLUMN_KEY varchar 3 9 utf8 utf8_general_ci varchar(3) 3.0000 information_schema COLUMNS EXTRA varchar 27 81 utf8 utf8_general_ci varchar(27) @@ -550,7 +550,7 @@ NULL information_schema PROCESSLIST TIME bigint NULL NULL NULL NULL bigint(7) 3.0000 information_schema ROUTINES SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7) NULL information_schema ROUTINES CREATED datetime NULL NULL NULL NULL datetime NULL information_schema ROUTINES LAST_ALTERED datetime NULL NULL NULL NULL datetime -1.0000 information_schema ROUTINES SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext +3.0000 information_schema ROUTINES SQL_MODE varchar 8192 24576 utf8 utf8_general_ci varchar(8192) 3.0000 information_schema ROUTINES ROUTINE_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema ROUTINES DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77) 3.0000 information_schema ROUTINES CHARACTER_SET_CLIENT varchar 32 96 utf8 utf8_general_ci varchar(32) @@ -558,8 +558,8 @@ NULL information_schema ROUTINES LAST_ALTERED datetime NULL NULL NULL NULL datet 3.0000 information_schema ROUTINES DATABASE_COLLATION varchar 32 96 utf8 utf8_general_ci varchar(32) 3.0000 information_schema SCHEMATA CATALOG_NAME varchar 512 1536 utf8 utf8_general_ci varchar(512) 3.0000 information_schema SCHEMATA SCHEMA_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SCHEMATA DEFAULT_COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar 32 96 utf8 utf8_general_ci varchar(32) +3.0000 information_schema SCHEMATA DEFAULT_COLLATION_NAME varchar 32 96 utf8 utf8_general_ci varchar(32) 3.0000 information_schema SCHEMATA SQL_PATH varchar 512 1536 utf8 utf8_general_ci varchar(512) 3.0000 information_schema SCHEMA_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81) 3.0000 information_schema SCHEMA_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) @@ -602,7 +602,7 @@ NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint( NULL information_schema TABLES CREATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema TABLES UPDATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema TABLES CHECK_TIME datetime NULL NULL NULL NULL datetime -3.0000 information_schema TABLES TABLE_COLLATION varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema TABLES TABLE_COLLATION varchar 32 96 utf8 utf8_general_ci varchar(32) NULL information_schema TABLES CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema TABLES CREATE_OPTIONS varchar 255 765 utf8 utf8_general_ci varchar(255) 3.0000 information_schema TABLES TABLE_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80) diff --git a/mysql-test/suite/funcs_1/r/is_routines.result b/mysql-test/suite/funcs_1/r/is_routines.result index ba564c42f91..e7a900f5c0b 100644 --- a/mysql-test/suite/funcs_1/r/is_routines.result +++ b/mysql-test/suite/funcs_1/r/is_routines.result @@ -45,7 +45,7 @@ SQL_PATH varchar(64) YES NULL SECURITY_TYPE varchar(7) NO CREATED datetime NO 0000-00-00 00:00:00 LAST_ALTERED datetime NO 0000-00-00 00:00:00 -SQL_MODE longtext NO NULL +SQL_MODE varchar(8192) NO ROUTINE_COMMENT varchar(64) NO DEFINER varchar(77) NO CHARACTER_SET_CLIENT varchar(32) NO @@ -71,7 +71,7 @@ ROUTINES CREATE TEMPORARY TABLE `ROUTINES` ( `SECURITY_TYPE` varchar(7) NOT NULL DEFAULT '', `CREATED` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `LAST_ALTERED` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `SQL_MODE` longtext NOT NULL, + `SQL_MODE` varchar(8192) NOT NULL DEFAULT '', `ROUTINE_COMMENT` varchar(64) NOT NULL DEFAULT '', `DEFINER` varchar(77) NOT NULL DEFAULT '', `CHARACTER_SET_CLIENT` varchar(32) NOT NULL DEFAULT '', @@ -97,7 +97,7 @@ SQL_PATH varchar(64) YES NULL SECURITY_TYPE varchar(7) NO CREATED datetime NO 0000-00-00 00:00:00 LAST_ALTERED datetime NO 0000-00-00 00:00:00 -SQL_MODE longtext NO NULL +SQL_MODE varchar(8192) NO ROUTINE_COMMENT varchar(64) NO DEFINER varchar(77) NO CHARACTER_SET_CLIENT varchar(32) NO diff --git a/mysql-test/suite/funcs_1/r/is_schemata.result b/mysql-test/suite/funcs_1/r/is_schemata.result index 33ab912efce..2850655148e 100644 --- a/mysql-test/suite/funcs_1/r/is_schemata.result +++ b/mysql-test/suite/funcs_1/r/is_schemata.result @@ -30,24 +30,24 @@ DESCRIBE information_schema.SCHEMATA; Field Type Null Key Default Extra CATALOG_NAME varchar(512) YES NULL SCHEMA_NAME varchar(64) NO -DEFAULT_CHARACTER_SET_NAME varchar(64) NO -DEFAULT_COLLATION_NAME varchar(64) NO +DEFAULT_CHARACTER_SET_NAME varchar(32) NO +DEFAULT_COLLATION_NAME varchar(32) NO SQL_PATH varchar(512) YES NULL SHOW CREATE TABLE information_schema.SCHEMATA; Table Create Table SCHEMATA CREATE TEMPORARY TABLE `SCHEMATA` ( `CATALOG_NAME` varchar(512) DEFAULT NULL, `SCHEMA_NAME` varchar(64) NOT NULL DEFAULT '', - `DEFAULT_CHARACTER_SET_NAME` varchar(64) NOT NULL DEFAULT '', - `DEFAULT_COLLATION_NAME` varchar(64) NOT NULL DEFAULT '', + `DEFAULT_CHARACTER_SET_NAME` varchar(32) NOT NULL DEFAULT '', + `DEFAULT_COLLATION_NAME` varchar(32) NOT NULL DEFAULT '', `SQL_PATH` varchar(512) DEFAULT NULL ) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW COLUMNS FROM information_schema.SCHEMATA; Field Type Null Key Default Extra CATALOG_NAME varchar(512) YES NULL SCHEMA_NAME varchar(64) NO -DEFAULT_CHARACTER_SET_NAME varchar(64) NO -DEFAULT_COLLATION_NAME varchar(64) NO +DEFAULT_CHARACTER_SET_NAME varchar(32) NO +DEFAULT_COLLATION_NAME varchar(32) NO SQL_PATH varchar(512) YES NULL SELECT catalog_name, schema_name, sql_path FROM information_schema.schemata diff --git a/mysql-test/suite/funcs_1/r/is_tables.result b/mysql-test/suite/funcs_1/r/is_tables.result index ab45ca509e7..1ab863b9b7d 100644 --- a/mysql-test/suite/funcs_1/r/is_tables.result +++ b/mysql-test/suite/funcs_1/r/is_tables.result @@ -45,7 +45,7 @@ AUTO_INCREMENT bigint(21) unsigned YES NULL CREATE_TIME datetime YES NULL UPDATE_TIME datetime YES NULL CHECK_TIME datetime YES NULL -TABLE_COLLATION varchar(64) YES NULL +TABLE_COLLATION varchar(32) YES NULL CHECKSUM bigint(21) unsigned YES NULL CREATE_OPTIONS varchar(255) YES NULL TABLE_COMMENT varchar(80) NO @@ -69,7 +69,7 @@ TABLES CREATE TEMPORARY TABLE `TABLES` ( `CREATE_TIME` datetime DEFAULT NULL, `UPDATE_TIME` datetime DEFAULT NULL, `CHECK_TIME` datetime DEFAULT NULL, - `TABLE_COLLATION` varchar(64) DEFAULT NULL, + `TABLE_COLLATION` varchar(32) DEFAULT NULL, `CHECKSUM` bigint(21) unsigned DEFAULT NULL, `CREATE_OPTIONS` varchar(255) DEFAULT NULL, `TABLE_COMMENT` varchar(80) NOT NULL DEFAULT '' @@ -93,7 +93,7 @@ AUTO_INCREMENT bigint(21) unsigned YES NULL CREATE_TIME datetime YES NULL UPDATE_TIME datetime YES NULL CHECK_TIME datetime YES NULL -TABLE_COLLATION varchar(64) YES NULL +TABLE_COLLATION varchar(32) YES NULL CHECKSUM bigint(21) unsigned YES NULL CREATE_OPTIONS varchar(255) YES NULL TABLE_COMMENT varchar(80) NO diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 1b6f5131c48..3e788db13d2 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -6013,9 +6013,10 @@ ST_FIELD_INFO schema_fields_info[]= {"CATALOG_NAME", FN_REFLEN, MYSQL_TYPE_STRING, 0, 1, 0, SKIP_OPEN_TABLE}, {"SCHEMA_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Database", SKIP_OPEN_TABLE}, - {"DEFAULT_CHARACTER_SET_NAME", 64, MYSQL_TYPE_STRING, 0, 0, 0, + {"DEFAULT_CHARACTER_SET_NAME", MY_CS_NAME_SIZE, MYSQL_TYPE_STRING, 0, 0, 0, + SKIP_OPEN_TABLE}, + {"DEFAULT_COLLATION_NAME", MY_CS_NAME_SIZE, MYSQL_TYPE_STRING, 0, 0, 0, SKIP_OPEN_TABLE}, - {"DEFAULT_COLLATION_NAME", 64, MYSQL_TYPE_STRING, 0, 0, 0, SKIP_OPEN_TABLE}, {"SQL_PATH", FN_REFLEN, MYSQL_TYPE_STRING, 0, 1, 0, SKIP_OPEN_TABLE}, {0, 0, MYSQL_TYPE_STRING, 0, 0, 0, SKIP_OPEN_TABLE} }; @@ -6049,7 +6050,8 @@ ST_FIELD_INFO tables_fields_info[]= {"CREATE_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, "Create_time", OPEN_FULL_TABLE}, {"UPDATE_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, "Update_time", OPEN_FULL_TABLE}, {"CHECK_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, "Check_time", OPEN_FULL_TABLE}, - {"TABLE_COLLATION", 64, MYSQL_TYPE_STRING, 0, 1, "Collation", OPEN_FRM_ONLY}, + {"TABLE_COLLATION", MY_CS_NAME_SIZE, MYSQL_TYPE_STRING, 0, 1, "Collation", + OPEN_FRM_ONLY}, {"CHECKSUM", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0, (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Checksum", OPEN_FULL_TABLE}, {"CREATE_OPTIONS", 255, MYSQL_TYPE_STRING, 0, 1, "Create_options", @@ -6080,8 +6082,10 @@ ST_FIELD_INFO columns_fields_info[]= 0, (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0, OPEN_FRM_ONLY}, {"NUMERIC_SCALE", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONGLONG, 0, (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0, OPEN_FRM_ONLY}, - {"CHARACTER_SET_NAME", 64, MYSQL_TYPE_STRING, 0, 1, 0, OPEN_FRM_ONLY}, - {"COLLATION_NAME", 64, MYSQL_TYPE_STRING, 0, 1, "Collation", OPEN_FRM_ONLY}, + {"CHARACTER_SET_NAME", MY_CS_NAME_SIZE, MYSQL_TYPE_STRING, 0, 1, 0, + OPEN_FRM_ONLY}, + {"COLLATION_NAME", MY_CS_NAME_SIZE, MYSQL_TYPE_STRING, 0, 1, "Collation", + OPEN_FRM_ONLY}, {"COLUMN_TYPE", 65535, MYSQL_TYPE_STRING, 0, 0, "Type", OPEN_FRM_ONLY}, {"COLUMN_KEY", 3, MYSQL_TYPE_STRING, 0, 0, "Key", OPEN_FRM_ONLY}, {"EXTRA", 27, MYSQL_TYPE_STRING, 0, 0, "Extra", OPEN_FRM_ONLY}, @@ -6093,10 +6097,10 @@ ST_FIELD_INFO columns_fields_info[]= ST_FIELD_INFO charsets_fields_info[]= { - {"CHARACTER_SET_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Charset", - SKIP_OPEN_TABLE}, - {"DEFAULT_COLLATE_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Default collation", + {"CHARACTER_SET_NAME", MY_CS_NAME_SIZE, MYSQL_TYPE_STRING, 0, 0, "Charset", SKIP_OPEN_TABLE}, + {"DEFAULT_COLLATE_NAME", MY_CS_NAME_SIZE, MYSQL_TYPE_STRING, 0, 0, + "Default collation", SKIP_OPEN_TABLE}, {"DESCRIPTION", 60, MYSQL_TYPE_STRING, 0, 0, "Description", SKIP_OPEN_TABLE}, {"MAXLEN", 3, MYSQL_TYPE_LONGLONG, 0, 0, "Maxlen", SKIP_OPEN_TABLE}, @@ -6106,8 +6110,9 @@ ST_FIELD_INFO charsets_fields_info[]= ST_FIELD_INFO collation_fields_info[]= { - {"COLLATION_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Collation", SKIP_OPEN_TABLE}, - {"CHARACTER_SET_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Charset", + {"COLLATION_NAME", MY_CS_NAME_SIZE, MYSQL_TYPE_STRING, 0, 0, "Collation", + SKIP_OPEN_TABLE}, + {"CHARACTER_SET_NAME", MY_CS_NAME_SIZE, MYSQL_TYPE_STRING, 0, 0, "Charset", SKIP_OPEN_TABLE}, {"ID", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0, 0, "Id", SKIP_OPEN_TABLE}, @@ -6170,8 +6175,10 @@ ST_FIELD_INFO events_fields_info[]= ST_FIELD_INFO coll_charset_app_fields_info[]= { - {"COLLATION_NAME", 64, MYSQL_TYPE_STRING, 0, 0, 0, SKIP_OPEN_TABLE}, - {"CHARACTER_SET_NAME", 64, MYSQL_TYPE_STRING, 0, 0, 0, SKIP_OPEN_TABLE}, + {"COLLATION_NAME", MY_CS_NAME_SIZE, MYSQL_TYPE_STRING, 0, 0, 0, + SKIP_OPEN_TABLE}, + {"CHARACTER_SET_NAME", MY_CS_NAME_SIZE, MYSQL_TYPE_STRING, 0, 0, 0, + SKIP_OPEN_TABLE}, {0, 0, MYSQL_TYPE_STRING, 0, 0, 0, SKIP_OPEN_TABLE} }; @@ -6200,7 +6207,7 @@ ST_FIELD_INFO proc_fields_info[]= SKIP_OPEN_TABLE}, {"CREATED", 0, MYSQL_TYPE_DATETIME, 0, 0, "Created", SKIP_OPEN_TABLE}, {"LAST_ALTERED", 0, MYSQL_TYPE_DATETIME, 0, 0, "Modified", SKIP_OPEN_TABLE}, - {"SQL_MODE", 65535, MYSQL_TYPE_STRING, 0, 0, 0, SKIP_OPEN_TABLE}, + {"SQL_MODE", 32*256, MYSQL_TYPE_STRING, 0, 0, 0, SKIP_OPEN_TABLE}, {"ROUTINE_COMMENT", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Comment", SKIP_OPEN_TABLE}, {"DEFINER", 77, MYSQL_TYPE_STRING, 0, 0, "Definer", SKIP_OPEN_TABLE}, From 53b3052352c0e8ff6f58a7a4ce7db8a8a85083dd Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Thu, 13 Nov 2008 16:09:11 +0400 Subject: [PATCH 079/141] Bug#39955 SELECT on INFORMATION_SCHEMA.GLOBAL_VARIABLES takes too long VARIABLE_VALUE field is decreased to 1024 symbols. (affected I_S tables: GLOBAL_VARIABLES, SESSION_VARIABLES, GLOBAL_STATUS, SESSION_STATUS). The only variable which can be longer than 1024 is init_connect. The variable will be truncated with warning. Additional fix: Added where condition filter which speed up queries which have where condition with expressions which use VARIABLE_NAME field. mysql-test/r/information_schema.result: test result mysql-test/r/show_check.result: result fix mysql-test/suite/funcs_1/r/is_columns_is.result: result fix mysql-test/t/information_schema.test: test case sql/sql_show.cc: VARIABLE_VALUE field is decreased to 1024 symbols. (affected I_S tables: GLOBAL_VARIABLES, SESSION_VARIABLES, GLOBAL_STATUS, SESSION_STATUS). The only variable which can be longer than 1024 is init_connect. The variable will be truncated with warning. Additional fix: Added where condition filter which speed up queries which have where condition with expressions which use VARIABLE_NAME field. --- mysql-test/r/information_schema.result | 47 ++++++++++++++++++ mysql-test/r/show_check.result | 6 +-- .../suite/funcs_1/r/is_columns_is.result | 16 +++--- mysql-test/t/information_schema.test | 27 ++++++++++ sql/sql_show.cc | 49 ++++++++++++------- 5 files changed, 116 insertions(+), 29 deletions(-) diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result index 8f4caa3d6d1..0ed501252f6 100644 --- a/mysql-test/r/information_schema.result +++ b/mysql-test/r/information_schema.result @@ -1651,4 +1651,51 @@ id select_type table type possible_keys key key_len ref rows Extra explain select count(*) from information_schema.views; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE views ALL NULL NULL NULL NULL NULL Open_frm_only; Scanned all databases +set global init_connect="drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;"; +select * from information_schema.global_variables where variable_name='init_connect'; +VARIABLE_NAME VARIABLE_VALUE +INIT_CONNECT drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists t1; +drop table if exists t1;drop table if exists +Warnings: +Warning 1265 Data truncated for column 'VARIABLE_VALUE' at row 1 +set global init_connect=""; End of 5.1 tests. diff --git a/mysql-test/r/show_check.result b/mysql-test/r/show_check.result index ddc08dca7bb..d054e5cdc05 100644 --- a/mysql-test/r/show_check.result +++ b/mysql-test/r/show_check.result @@ -100,19 +100,19 @@ drop table t1; show variables like "wait_timeout%"; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def VARIABLES VARIABLE_NAME Variable_name 253 64 12 N 1 0 8 -def VARIABLES VARIABLE_VALUE Value 253 20480 5 Y 0 0 8 +def VARIABLES VARIABLE_VALUE Value 253 1024 5 Y 0 0 8 Variable_name Value wait_timeout 28800 show variables like "WAIT_timeout%"; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def VARIABLES VARIABLE_NAME Variable_name 253 64 12 N 1 0 8 -def VARIABLES VARIABLE_VALUE Value 253 20480 5 Y 0 0 8 +def VARIABLES VARIABLE_VALUE Value 253 1024 5 Y 0 0 8 Variable_name Value wait_timeout 28800 show variables like "this_doesn't_exists%"; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def VARIABLES VARIABLE_NAME Variable_name 253 64 0 N 1 0 8 -def VARIABLES VARIABLE_VALUE Value 253 20480 0 Y 0 0 8 +def VARIABLES VARIABLE_VALUE Value 253 1024 0 Y 0 0 8 Variable_name Value show table status from test like "this_doesn't_exists%"; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr diff --git a/mysql-test/suite/funcs_1/r/is_columns_is.result b/mysql-test/suite/funcs_1/r/is_columns_is.result index 7a2257713d2..15466887ecc 100644 --- a/mysql-test/suite/funcs_1/r/is_columns_is.result +++ b/mysql-test/suite/funcs_1/r/is_columns_is.result @@ -110,9 +110,9 @@ NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NUL NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 NULL YES varchar 20480 61440 NULL NULL utf8 utf8_general_ci varchar(20480) select +NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL utf8 utf8_general_ci varchar(1024) select NULL information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 20480 61440 NULL NULL utf8 utf8_general_ci varchar(20480) select +NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL utf8 utf8_general_ci varchar(1024) select NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -213,9 +213,9 @@ NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NU NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select NULL information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 NULL YES varchar 20480 61440 NULL NULL utf8 utf8_general_ci varchar(20480) select +NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL utf8 utf8_general_ci varchar(1024) select NULL information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 20480 61440 NULL NULL utf8 utf8_general_ci varchar(20480) select +NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL utf8 utf8_general_ci varchar(1024) select NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select @@ -464,9 +464,9 @@ NULL information_schema FILES CHECKSUM bigint NULL NULL NULL NULL bigint(21) uns 3.0000 information_schema FILES STATUS varchar 20 60 utf8 utf8_general_ci varchar(20) 3.0000 information_schema FILES EXTRA varchar 255 765 utf8 utf8_general_ci varchar(255) 3.0000 information_schema GLOBAL_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema GLOBAL_STATUS VARIABLE_VALUE varchar 20480 61440 utf8 utf8_general_ci varchar(20480) +3.0000 information_schema GLOBAL_STATUS VARIABLE_VALUE varchar 1024 3072 utf8 utf8_general_ci varchar(1024) 3.0000 information_schema GLOBAL_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema GLOBAL_VARIABLES VARIABLE_VALUE varchar 20480 61440 utf8 utf8_general_ci varchar(20480) +3.0000 information_schema GLOBAL_VARIABLES VARIABLE_VALUE varchar 1024 3072 utf8 utf8_general_ci varchar(1024) 3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) 3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) @@ -567,9 +567,9 @@ NULL information_schema ROUTINES LAST_ALTERED datetime NULL NULL NULL NULL datet 3.0000 information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema SCHEMA_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3) 3.0000 information_schema SESSION_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SESSION_STATUS VARIABLE_VALUE varchar 20480 61440 utf8 utf8_general_ci varchar(20480) +3.0000 information_schema SESSION_STATUS VARIABLE_VALUE varchar 1024 3072 utf8 utf8_general_ci varchar(1024) 3.0000 information_schema SESSION_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SESSION_VARIABLES VARIABLE_VALUE varchar 20480 61440 utf8 utf8_general_ci varchar(20480) +3.0000 information_schema SESSION_VARIABLES VARIABLE_VALUE varchar 1024 3072 utf8 utf8_general_ci varchar(1024) 3.0000 information_schema STATISTICS TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) 3.0000 information_schema STATISTICS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema STATISTICS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) diff --git a/mysql-test/t/information_schema.test b/mysql-test/t/information_schema.test index 4027293da66..667a9279e84 100644 --- a/mysql-test/t/information_schema.test +++ b/mysql-test/t/information_schema.test @@ -1346,4 +1346,31 @@ explain select count(*) from information_schema.tables; explain select count(*) from information_schema.columns; explain select count(*) from information_schema.views; +# +# Bug#39955 SELECT on INFORMATION_SCHEMA.GLOBAL_VARIABLES takes too long +# +set global init_connect="drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;\ +drop table if exists t1;drop table if exists t1;"; +select * from information_schema.global_variables where variable_name='init_connect'; +set global init_connect=""; + --echo End of 5.1 tests. diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 3e788db13d2..0d51c7457c3 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -83,6 +83,7 @@ static void store_key_options(THD *thd, String *packet, TABLE *table, static void append_algorithm(TABLE_LIST *table, String *buff); +static COND * make_cond_for_info_schema(COND *cond, TABLE_LIST *table); /*************************************************************************** ** List all table types supported @@ -2072,7 +2073,8 @@ static bool show_status_array(THD *thd, const char *wild, enum enum_var_type value_type, struct system_status_var *status_var, const char *prefix, TABLE *table, - bool ucase_names) + bool ucase_names, + COND *cond) { MY_ALIGNED_BYTE_ARRAY(buff_data, SHOW_VAR_FUNC_BUFF_SIZE, long); char * const buff= (char *) &buff_data; @@ -2082,8 +2084,12 @@ static bool show_status_array(THD *thd, const char *wild, int len; LEX_STRING null_lex_str; SHOW_VAR tmp, *var; + COND *partial_cond= 0; + enum_check_fields save_count_cuted_fields= thd->count_cuted_fields; + bool res= FALSE; DBUG_ENTER("show_status_array"); + thd->count_cuted_fields= CHECK_FIELD_WARN; null_lex_str.str= 0; // For sys_var->value_ptr() null_lex_str.length= 0; @@ -2091,6 +2097,7 @@ static bool show_status_array(THD *thd, const char *wild, if (*prefix) *prefix_end++= '_'; len=name_buffer + sizeof(name_buffer) - prefix_end; + partial_cond= make_cond_for_info_schema(cond, table->pos_in_table_list); for (; variables->name; variables++) { @@ -2099,6 +2106,9 @@ static bool show_status_array(THD *thd, const char *wild, if (ucase_names) make_upper(name_buffer); + restore_record(table, s->default_values); + table->field[0]->store(name_buffer, strlen(name_buffer), + system_charset_info); /* if var->type is SHOW_FUNC, call the function. Repeat as necessary, if new var is again SHOW_FUNC @@ -2110,12 +2120,13 @@ static bool show_status_array(THD *thd, const char *wild, if (show_type == SHOW_ARRAY) { show_status_array(thd, wild, (SHOW_VAR *) var->value, value_type, - status_var, name_buffer, table, ucase_names); + status_var, name_buffer, table, ucase_names, partial_cond); } else { if (!(wild && wild[0] && wild_case_compare(system_charset_info, - name_buffer, wild))) + name_buffer, wild)) && + (!partial_cond || partial_cond->val_int())) { char *value=var->value; const char *pos, *end; // We assign a lot of const's @@ -2202,21 +2213,23 @@ static bool show_status_array(THD *thd, const char *wild, DBUG_ASSERT(0); break; } - restore_record(table, s->default_values); - table->field[0]->store(name_buffer, strlen(name_buffer), - system_charset_info); table->field[1]->store(pos, (uint32) (end - pos), system_charset_info); + thd->count_cuted_fields= CHECK_FIELD_IGNORE; table->field[1]->set_notnull(); pthread_mutex_unlock(&LOCK_global_system_variables); if (schema_table_store_record(thd, table)) - DBUG_RETURN(TRUE); + { + res= TRUE; + goto end; + } } } } - - DBUG_RETURN(FALSE); +end: + thd->count_cuted_fields= save_count_cuted_fields; + DBUG_RETURN(res); } @@ -5244,7 +5257,7 @@ int fill_variables(THD *thd, TABLE_LIST *tables, COND *cond) rw_rdlock(&LOCK_system_variables_hash); res= show_status_array(thd, wild, enumerate_sys_vars(thd, sorted_vars), - option_type, NULL, "", tables->table, upper_case_names); + option_type, NULL, "", tables->table, upper_case_names, cond); rw_unlock(&LOCK_system_variables_hash); DBUG_RETURN(res); } @@ -5287,7 +5300,7 @@ int fill_status(THD *thd, TABLE_LIST *tables, COND *cond) res= show_status_array(thd, wild, (SHOW_VAR *)all_status_vars.buffer, option_type, tmp1, "", tables->table, - upper_case_names); + upper_case_names, cond); pthread_mutex_unlock(&LOCK_status); DBUG_RETURN(res); } @@ -6456,7 +6469,7 @@ ST_FIELD_INFO variables_fields_info[]= { {"VARIABLE_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Variable_name", SKIP_OPEN_TABLE}, - {"VARIABLE_VALUE", 20480, MYSQL_TYPE_STRING, 0, 1, "Value", SKIP_OPEN_TABLE}, + {"VARIABLE_VALUE", 1024, MYSQL_TYPE_STRING, 0, 1, "Value", SKIP_OPEN_TABLE}, {0, 0, MYSQL_TYPE_STRING, 0, 0, 0, SKIP_OPEN_TABLE} }; @@ -6615,9 +6628,9 @@ ST_SCHEMA_TABLE schema_tables[]= {"FILES", files_fields_info, create_schema_table, fill_schema_files, 0, 0, -1, -1, 0, 0}, {"GLOBAL_STATUS", variables_fields_info, create_schema_table, - fill_status, make_old_format, 0, -1, -1, 0, 0}, + fill_status, make_old_format, 0, 0, -1, 0, 0}, {"GLOBAL_VARIABLES", variables_fields_info, create_schema_table, - fill_variables, make_old_format, 0, -1, -1, 0, 0}, + fill_variables, make_old_format, 0, 0, -1, 0, 0}, {"KEY_COLUMN_USAGE", key_column_usage_fields_info, create_schema_table, get_all_tables, 0, get_schema_key_column_usage_record, 4, 5, 0, OPEN_TABLE_ONLY}, @@ -6642,14 +6655,14 @@ ST_SCHEMA_TABLE schema_tables[]= {"SCHEMA_PRIVILEGES", schema_privileges_fields_info, create_schema_table, fill_schema_schema_privileges, 0, 0, -1, -1, 0, 0}, {"SESSION_STATUS", variables_fields_info, create_schema_table, - fill_status, make_old_format, 0, -1, -1, 0, 0}, + fill_status, make_old_format, 0, 0, -1, 0, 0}, {"SESSION_VARIABLES", variables_fields_info, create_schema_table, - fill_variables, make_old_format, 0, -1, -1, 0, 0}, + fill_variables, make_old_format, 0, 0, -1, 0, 0}, {"STATISTICS", stat_fields_info, create_schema_table, get_all_tables, make_old_format, get_schema_stat_record, 1, 2, 0, OPEN_TABLE_ONLY|OPTIMIZE_I_S_TABLE}, {"STATUS", variables_fields_info, create_schema_table, fill_status, - make_old_format, 0, -1, -1, 1, 0}, + make_old_format, 0, 0, -1, 1, 0}, {"TABLES", tables_fields_info, create_schema_table, get_all_tables, make_old_format, get_schema_tables_record, 1, 2, 0, OPTIMIZE_I_S_TABLE}, @@ -6665,7 +6678,7 @@ ST_SCHEMA_TABLE schema_tables[]= {"USER_PRIVILEGES", user_privileges_fields_info, create_schema_table, fill_schema_user_privileges, 0, 0, -1, -1, 0, 0}, {"VARIABLES", variables_fields_info, create_schema_table, fill_variables, - make_old_format, 0, -1, -1, 1, 0}, + make_old_format, 0, 0, -1, 1, 0}, {"VIEWS", view_fields_info, create_schema_table, get_all_tables, 0, get_schema_views_record, 1, 2, 0, OPEN_VIEW_ONLY|OPTIMIZE_I_S_TABLE}, From fc27d0380a7a78f6bc33ba55dd3357b14e674893 Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Thu, 13 Nov 2008 16:11:51 +0400 Subject: [PATCH 080/141] Bug#38909 CREATE_OPTIONS in information_schema produces wrong results table->partition_info is unitialized when we open frm file only. The fix is check share->partition_info_len which is set on frm opening stage. mysql-test/r/information_schema_part.result: test result mysql-test/t/information_schema_part.test: test case sql/sql_show.cc: table->partition_info is unitialized when we open frm file only. The fix is check share->partition_info_len which is set on frm opening stage. --- mysql-test/r/information_schema_part.result | 6 ++++++ mysql-test/t/information_schema_part.test | 10 ++++++++++ sql/sql_show.cc | 8 +++++--- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/mysql-test/r/information_schema_part.result b/mysql-test/r/information_schema_part.result index 74d52e9521f..04dc9ccf2c0 100644 --- a/mysql-test/r/information_schema_part.result +++ b/mysql-test/r/information_schema_part.result @@ -145,3 +145,9 @@ table_schema = "test" AND table_name = "t1"; PARTITION_DESCRIPTION 10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53 drop table t1; +drop table if exists t1; +create table t1 (f1 int key) partition by key(f1) partitions 2; +select create_options from information_schema.tables where table_schema="test"; +create_options +partitioned +drop table t1; diff --git a/mysql-test/t/information_schema_part.test b/mysql-test/t/information_schema_part.test index 4cbf21ca1d3..f1415d12f79 100644 --- a/mysql-test/t/information_schema_part.test +++ b/mysql-test/t/information_schema_part.test @@ -121,3 +121,13 @@ SHOW CREATE TABLE t1; SELECT PARTITION_DESCRIPTION FROM information_schema.partitions WHERE table_schema = "test" AND table_name = "t1"; drop table t1; + +# +# Bug#38909 CREATE_OPTIONS in information_schema produces wrong results +# +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (f1 int key) partition by key(f1) partitions 2; +select create_options from information_schema.tables where table_schema="test"; +drop table t1; diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 0d51c7457c3..76496db4817 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -3511,6 +3511,7 @@ static int get_schema_tables_record(THD *thd, TABLE_LIST *tables, TABLE_SHARE *share= show_table->s; handler *file= show_table->file; handlerton *tmp_db_type= share->db_type(); + bool is_partitioned= FALSE; if (share->tmp_table == SYSTEM_TMP_TABLE) table->field[3]->store(STRING_WITH_LEN("SYSTEM VIEW"), cs); else if (share->tmp_table) @@ -3527,7 +3528,10 @@ static int get_schema_tables_record(THD *thd, TABLE_LIST *tables, #ifdef WITH_PARTITION_STORAGE_ENGINE if (share->db_type() == partition_hton && share->partition_info_len) + { tmp_db_type= share->default_part_db_type; + is_partitioned= TRUE; + } #endif tmp_buff= (char *) ha_resolve_storage_engine_name(tmp_db_type); table->field[4]->store(tmp_buff, strlen(tmp_buff), cs); @@ -3572,9 +3576,7 @@ static int get_schema_tables_record(THD *thd, TABLE_LIST *tables, NullS); } #ifdef WITH_PARTITION_STORAGE_ENGINE - if (show_table->s->db_type() == partition_hton && - show_table->part_info != NULL && - show_table->part_info->no_parts > 0) + if (is_partitioned) ptr= strmov(ptr, " partitioned"); #endif if (share->transactional != HA_CHOICE_UNDEF) From c049fc6bd62f9ef3b836a04be49ddc0fd0e4edc0 Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Thu, 13 Nov 2008 17:06:48 +0400 Subject: [PATCH 081/141] Bug#39541 CHECK TABLE on information_schema myisam tables produces error issue 'The storage engine for the table doesn't support check' note for I_S tables mysql-test/r/mysqlcheck.result: test result mysql-test/t/mysqlcheck.test: test case sql/sql_table.cc: issue 'The storage engine for the table doesn't support check' note for I_S tables --- mysql-test/r/mysqlcheck.result | 6 ++++++ mysql-test/t/mysqlcheck.test | 7 +++++++ sql/sql_table.cc | 6 ++++++ 3 files changed, 19 insertions(+) diff --git a/mysql-test/r/mysqlcheck.result b/mysql-test/r/mysqlcheck.result index 8d7a2d41649..89f853e88f7 100644 --- a/mysql-test/r/mysqlcheck.result +++ b/mysql-test/r/mysqlcheck.result @@ -57,4 +57,10 @@ drop view v_bug25347; drop table t_bug25347; drop database d_bug25347; use test; +create view v1 as select * from information_schema.routines; +check table v1, information_schema.routines; +Table Op Msg_type Msg_text +test.v1 check status OK +information_schema.routines check note The storage engine for the table doesn't support check +drop view v1; End of 5.0 tests diff --git a/mysql-test/t/mysqlcheck.test b/mysql-test/t/mysqlcheck.test index 8d5e1a1c4c5..09ca98d01ad 100644 --- a/mysql-test/t/mysqlcheck.test +++ b/mysql-test/t/mysqlcheck.test @@ -58,4 +58,11 @@ drop table t_bug25347; drop database d_bug25347; use test; +# +# Bug#39541 CHECK TABLE on information_schema myisam tables produces error +# +create view v1 as select * from information_schema.routines; +check table v1, information_schema.routines; +drop view v1; + --echo End of 5.0 tests diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 1724513eb8f..8baeca9ccf7 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -2322,6 +2322,12 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables, goto send_result; } + if (table->schema_table) + { + result_code= HA_ADMIN_NOT_IMPLEMENTED; + goto send_result; + } + if ((table->table->db_stat & HA_READ_ONLY) && open_for_modify) { char buff[FN_REFLEN + MYSQL_ERRMSG_SIZE]; From f5583481e3439a74e22170eab631755cc094c32c Mon Sep 17 00:00:00 2001 From: Patrick Crews Date: Thu, 13 Nov 2008 16:01:01 -0500 Subject: [PATCH 082/141] Bug#40645 Test main.federated_innodb does not always clean up after itself Reordered include files so that no mess will be left if this test is run without InnoDB Previously, this test would leave a database named 'federated' in such a case and would cause tests that examined existing databases to fail. --- mysql-test/t/federated_innodb.test | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mysql-test/t/federated_innodb.test b/mysql-test/t/federated_innodb.test index 772e37a2929..0617cb15d97 100644 --- a/mysql-test/t/federated_innodb.test +++ b/mysql-test/t/federated_innodb.test @@ -1,5 +1,10 @@ -source include/federated.inc; +# NOTE: Keep any include/ files that will kill / skip a test BEFORE any others +# having federated.inc before have_innodb.inc allows for an orphaned database +# that can cause other tests to fail. +# See Bug #40645 Test main.federated_innodb does not always clean up after itself + source include/have_innodb.inc; +source include/federated.inc; # # Bug#25513 Federated transaction failures From f2a610e1e072f3b50709be3f419ea3ac1d7a3aa5 Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Fri, 14 Nov 2008 02:01:41 +0100 Subject: [PATCH 083/141] Bug #20430 mysqld.exe windows service stuck in "SERVICE_STOP_PENDING" status The problem appears to be a race condition, when service is being stopped right after startup. We set the service status to SERVICE_RUNNING way too early it cannot yet handle stop requests - initialization has not finished and hEventShutdown that signals server to stop is not yet created. If somebody issues "net stop MySQL" at this time, MySQL is not informed about the stop and continues to run as usual, while NTService::ServiceMain() stucks forever waiting for mysql's "main" thread to finish. Solution is to remain in SERVICE_START_PENDING status until after server initialization is fully complete and only then change the status to SERVICE_RUNNING. In SERVICE_START_PENDING we do not accept service control requests, i.e it is not possible to stop service in that time. sql/mysqld.cc: Set service status to running after all initialization is complete sql/nt_servc.cc: New method SetRunning() to be called by application to set service status to SERVICE_RUNNING when apllication has finished initialization. sql/nt_servc.h: New method SetRunning() to be called by application when initialization completes --- sql/mysqld.cc | 3 +++ sql/nt_servc.cc | 12 ++++++++---- sql/nt_servc.h | 14 +++++++++++++- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/sql/mysqld.cc b/sql/mysqld.cc index c3e5449b22b..ba6c8c6169f 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -3840,6 +3840,9 @@ we force server id to 2, but this MySQL server will not act as a slave."); : mysqld_unix_port), mysqld_port, MYSQL_COMPILATION_COMMENT); +#if defined(_WIN32) && !defined(EMBEDDED_LIBRARY) + Service.SetRunning(); +#endif #if defined(__NT__) || defined(HAVE_SMEM) handle_connections_methods(); diff --git a/sql/nt_servc.cc b/sql/nt_servc.cc index a04f284a3de..e570898f373 100644 --- a/sql/nt_servc.cc +++ b/sql/nt_servc.cc @@ -245,10 +245,6 @@ void NTService::ServiceMain(DWORD argc, LPTSTR *argv) if (!pService->StartService()) goto error; - // Check that the service is now running. - if (!pService->SetStatus(SERVICE_RUNNING,NO_ERROR, 0, 0, 0)) - goto error; - // wait for exit event WaitForSingleObject (pService->hExitEvent, INFINITE); @@ -264,6 +260,14 @@ error: return; } + +void NTService::SetRunning() +{ + if (pService) + pService->SetStatus(SERVICE_RUNNING,NO_ERROR, 0, 0, 0); +} + + /* ------------------------------------------------------------------------ StartService() - starts the appliaction thread -------------------------------------------------------------------------- */ diff --git a/sql/nt_servc.h b/sql/nt_servc.h index a3c12569114..9b689e434e1 100644 --- a/sql/nt_servc.h +++ b/sql/nt_servc.h @@ -56,7 +56,19 @@ class NTService BOOL IsService(LPCSTR ServiceName); BOOL got_service_option(char **argv, char *service_option); BOOL is_super_user(); - void Stop(void); //to be called from app. to stop service + + /* + SetRunning() is to be called by the application + when initialization completes and it can accept + stop request + */ + void SetRunning(void); + + /* + Stop() is to be called by the application to stop + the service + */ + void Stop(void); protected: LPSTR ServiceName; From e3de8d361efbe43d505665ddc959fef77400ca8a Mon Sep 17 00:00:00 2001 From: Ramil Kalimullin Date: Fri, 14 Nov 2008 11:40:46 +0400 Subject: [PATCH 084/141] Fix for bug#37527: mysqlcheck fails to report entire database when InnoDB frm file corruption Problem: mysqlcheck runs 'SHOW FULL TABLE' queries to get table lists. The query may fail for some reasons (e.g. null .frm file) then mysqlcheck doesn't process the database tables. Fix: try to run 'SHOW TABLES' if 'SHOW FULL TABLES' failed. client/mysqlcheck.c: Fix for bug#37527: mysqlcheck fails to report entire database when InnoDB frm file corruption - run "SHOW TABLES" query if "SHOW /*!50002 FULL*/ TABLES" failed; - print error info if both failed. mysql-test/r/mysqlcheck.result: Fix for bug#37527: mysqlcheck fails to report entire database when InnoDB frm file corruption - test result. mysql-test/t/mysqlcheck.test: Fix for bug#37527: mysqlcheck fails to report entire database when InnoDB frm file corruption - test case. --- client/mysqlcheck.c | 9 +++++++-- mysql-test/r/mysqlcheck.result | 7 +++++++ mysql-test/t/mysqlcheck.test | 20 ++++++++++++++++++++ 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/client/mysqlcheck.c b/client/mysqlcheck.c index 473e172adf9..513d1974ed0 100644 --- a/client/mysqlcheck.c +++ b/client/mysqlcheck.c @@ -488,9 +488,14 @@ static int process_all_tables_in_db(char *database) LINT_INIT(res); if (use_db(database)) return 1; - if (mysql_query(sock, "SHOW /*!50002 FULL*/ TABLES") || - !((res= mysql_store_result(sock)))) + if ((mysql_query(sock, "SHOW /*!50002 FULL*/ TABLES") && + mysql_query(sock, "SHOW TABLES")) || + !(res= mysql_store_result(sock))) + { + my_printf_error(0, "Error: Couldn't get table list for database %s: %s", + MYF(0), database, mysql_error(sock)); return 1; + } num_columns= mysql_num_fields(res); diff --git a/mysql-test/r/mysqlcheck.result b/mysql-test/r/mysqlcheck.result index 89f853e88f7..f8dad6a7769 100644 --- a/mysql-test/r/mysqlcheck.result +++ b/mysql-test/r/mysqlcheck.result @@ -63,4 +63,11 @@ Table Op Msg_type Msg_text test.v1 check status OK information_schema.routines check note The storage engine for the table doesn't support check drop view v1; +CREATE TABLE t1(a INT); +CREATE TABLE t2(a INT); +test.t1 +Error : Incorrect information in file: './test/t1.frm' +error : Corrupt +test.t2 OK +DROP TABLE t1, t2; End of 5.0 tests diff --git a/mysql-test/t/mysqlcheck.test b/mysql-test/t/mysqlcheck.test index 09ca98d01ad..91006d280a8 100644 --- a/mysql-test/t/mysqlcheck.test +++ b/mysql-test/t/mysqlcheck.test @@ -65,4 +65,24 @@ create view v1 as select * from information_schema.routines; check table v1, information_schema.routines; drop view v1; + +# +# Bug#37527: mysqlcheck fails to report entire database +# when frm file corruption +# +CREATE TABLE t1(a INT); +CREATE TABLE t2(a INT); +# backup then null t1.frm +--copy_file $MYSQLTEST_VARDIR/master-data/test/t1.frm $MYSQLTEST_VARDIR/master-data/test/t1.frm.bak +--remove_file $MYSQLTEST_VARDIR/master-data/test/t1.frm +--write_file $MYSQLTEST_VARDIR/master-data/test/t1.frm +EOF +--exec $MYSQL_CHECK test +# restore t1.frm +--remove_file $MYSQLTEST_VARDIR/master-data/test/t1.frm +--copy_file $MYSQLTEST_VARDIR/master-data/test/t1.frm.bak $MYSQLTEST_VARDIR/master-data/test/t1.frm +--remove_file $MYSQLTEST_VARDIR/master-data/test/t1.frm.bak +DROP TABLE t1, t2; + + --echo End of 5.0 tests From dbc062bf2c5fe8a38151e72eb7a3c110da6d856b Mon Sep 17 00:00:00 2001 From: Ramil Kalimullin Date: Fri, 14 Nov 2008 11:42:29 +0400 Subject: [PATCH 085/141] Test case for bug #34774: key prefix on text field in federated tables can cause server to crash! The bug will be fixed by patch for #34779: "crash in checksum table on federated tables with blobs containing nulls" Only a test case commited. mysql-test/r/federated.result: Test case for bug #34774: key prefix on text field in federated tables can cause server to crash! - test result. mysql-test/t/federated.test: Test case for bug #34774: key prefix on text field in federated tables can cause server to crash! - test case. --- mysql-test/r/federated.result | 9 +++++++++ mysql-test/t/federated.test | 19 +++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/mysql-test/r/federated.result b/mysql-test/r/federated.result index 45b615864ac..f0de3e9b04a 100644 --- a/mysql-test/r/federated.result +++ b/mysql-test/r/federated.result @@ -2085,6 +2085,15 @@ Table Checksum test.t1 2465757603 DROP TABLE t1; DROP TABLE t1; +CREATE TABLE t1 (a TEXT, b TEXT, KEY(b(1))); +INSERT INTO t1 VALUES (NULL, NULL), (NULL, NULL), (NULL, NULL), (NULL, NULL); +CREATE TABLE t1 +(a TEXT, b TEXT, KEY(b(1))) ENGINE=FEDERATED +CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/test/t1'; +SELECT t1.a FROM t1, t1 as t2 WHERE t2.b NOT LIKE t1.b; +a +DROP TABLE t1; +DROP TABLE t1; End of 5.0 tests SET @@GLOBAL.CONCURRENT_INSERT= @OLD_MASTER_CONCURRENT_INSERT; SET @@GLOBAL.CONCURRENT_INSERT= @OLD_SLAVE_CONCURRENT_INSERT; diff --git a/mysql-test/t/federated.test b/mysql-test/t/federated.test index 8bbb87ccd9c..c977cb65fa0 100644 --- a/mysql-test/t/federated.test +++ b/mysql-test/t/federated.test @@ -1824,6 +1824,25 @@ DROP TABLE t1; connection master; DROP TABLE t1; + +# +# Bug #34774 key prefix on text field in federated tables can cause +# server to crash! +# +connection slave; +CREATE TABLE t1 (a TEXT, b TEXT, KEY(b(1))); +INSERT INTO t1 VALUES (NULL, NULL), (NULL, NULL), (NULL, NULL), (NULL, NULL); +connection master; +--replace_result $SLAVE_MYPORT SLAVE_PORT +eval CREATE TABLE t1 + (a TEXT, b TEXT, KEY(b(1))) ENGINE=FEDERATED + CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/test/t1'; +SELECT t1.a FROM t1, t1 as t2 WHERE t2.b NOT LIKE t1.b; +connection slave; +DROP TABLE t1; +connection master; +DROP TABLE t1; + connection default; --echo End of 5.0 tests From 42607435af2c48e89160140c079eec4b4286dfe5 Mon Sep 17 00:00:00 2001 From: Matthias Leich Date: Fri, 14 Nov 2008 17:18:20 +0100 Subject: [PATCH 086/141] Fix for Bug#39979 main.events_time_zone does not clean up + minor improvements. --- mysql-test/r/events_time_zone.result | 11 ++-- mysql-test/t/events_time_zone.test | 83 +++++++++++++++++++--------- 2 files changed, 65 insertions(+), 29 deletions(-) diff --git a/mysql-test/r/events_time_zone.result b/mysql-test/r/events_time_zone.result index b20aa445183..155a9d155af 100644 --- a/mysql-test/r/events_time_zone.result +++ b/mysql-test/r/events_time_zone.result @@ -14,6 +14,7 @@ RETURN FLOOR((i % (step * n) + 0.1) / step); END// SET @step3= @step * 3; SET @step6= @step * 6; +SET @unix_time= UNIX_TIMESTAMP() - 1; SET @unix_time= @unix_time - @unix_time % @step6; INSERT INTO mysql.time_zone VALUES (NULL, 'N'); SET @tzid= LAST_INSERT_ID(); @@ -21,7 +22,7 @@ INSERT INTO mysql.time_zone_transition_type VALUES (@tzid, 0, 0, 0, 'b16420_0'); INSERT INTO mysql.time_zone_transition_type VALUES (@tzid, 1, @step3 - @step, 1, 'b16420_1'); -INSERT INTO mysql.time_zone_name VALUES ('bug16420', @tzid); +INSERT INTO mysql.time_zone_name VALUES ('', @tzid); CREATE TABLE t1 (count INT, unix_time INT, local_time INT, comment CHAR(80)); CREATE TABLE t2 (count INT); INSERT INTO t2 VALUES (1); @@ -48,7 +49,7 @@ END// SET TIME_ZONE= '+00:00'; CREATE EVENT e1 ON SCHEDULE EVERY @step SECOND STARTS FROM_UNIXTIME(@unix_time) DO SELECT f1(""); -SET TIME_ZONE= 'bug16420'; +SET TIME_ZONE= ''; CREATE EVENT e2 ON SCHEDULE EVERY @step SECOND STARTS FROM_UNIXTIME(@unix_time) DO SELECT f1(""); SET GLOBAL EVENT_SCHEDULER= ON; @@ -86,6 +87,7 @@ DELETE FROM mysql.time_zone_name WHERE time_zone_id = @tzid; DELETE FROM mysql.time_zone_transition_type WHERE time_zone_id = @tzid; DELETE FROM mysql.time_zone_transition WHERE time_zone_id = @tzid; DELETE FROM mysql.time_zone WHERE time_zone_id = @tzid; +ALTER TABLE mysql.time_zone AUTO_INCREMENT = 6; SET TIME_ZONE= '+00:00'; CREATE TABLE t1 (event CHAR(2), dt DATE, offset INT); INSERT INTO mysql.time_zone VALUES (NULL, 'N'); @@ -111,8 +113,8 @@ INSERT INTO mysql.time_zone_transition VALUES (@tzid, @now + 7 * @step, 2); INSERT INTO mysql.time_zone_transition VALUES (@tzid, @now + 12 * @step, 3); -INSERT INTO mysql.time_zone_name VALUES ('bug16420_2', @tzid); -SET TIME_ZONE= 'bug16420_2'; +INSERT INTO mysql.time_zone_name VALUES ('', @tzid); +SET TIME_ZONE= ''; SET GLOBAL EVENT_SCHEDULER= ON; SET GLOBAL EVENT_SCHEDULER= OFF; Below we should see the following: @@ -143,6 +145,7 @@ DELETE FROM mysql.time_zone_name WHERE time_zone_id = @tzid; DELETE FROM mysql.time_zone_transition_type WHERE time_zone_id = @tzid; DELETE FROM mysql.time_zone_transition WHERE time_zone_id = @tzid; DELETE FROM mysql.time_zone WHERE time_zone_id = @tzid; +ALTER TABLE mysql.time_zone AUTO_INCREMENT = 6; DROP FUNCTION round_to_step; DROP TABLE t_step; DROP DATABASE mysqltest_db1; diff --git a/mysql-test/t/events_time_zone.test b/mysql-test/t/events_time_zone.test index af3466a339c..ccae7847618 100644 --- a/mysql-test/t/events_time_zone.test +++ b/mysql-test/t/events_time_zone.test @@ -1,11 +1,40 @@ -# This test case is sensitive to execution timing. You may control -# this sensitivity by the parameter below. Small values will result -# in fast but more unstable execution, large values will improve -# stability at the cost of speed. Basically, N is a number of seconds -# to wait for operation to complete. Should be positive. Test runs -# about 25*N seconds (it sleeps most of the time, so CPU speed is not -# relevant). +# 1. This test case is sensitive to execution timing. You may control +# this sensitivity by the parameter below. Small values will result +# in fast but more unstable execution, large values will improve +# stability at the cost of speed. Basically, N is a number of seconds +# to wait for operation to complete. Should be positive. Test runs +# about 25*N seconds (it sleeps most of the time, so CPU speed is not +# relevant). let $N = 5; +# +# 2. Some subtests +# - create a new time zone +# - run some statements +# - delete the new time zone. +# But the time zone name used gets somewhere cached and it cannot be +# "reused" later in the same or another session for a new time zone. +# Experiments (2008-11 MySQL 5.1) showed that none of the available +# RESET/FLUSH commands removes these entries. +# 2008-11 MySQL 5.1 Bug#39979 main.events_time_zone does not clean up +# second bad effect +# Therefore we compute unique and unusual timezone names to minimize +# the likelihood that a later test uses the same name. +# +# 3. The subtests mentioned in 2. cause that the AUTO_INCREMENT value +# within "SHOW CREATE TABLE mysql.timezone" differ from the initial one. +# (Bug#39979 main.events_time_zone does not clean up) +# Therefore we reset this value after each of these subtests. +# +# Note(mleich): +# There is a significant likelihood that future improvements of the server +# cause that the solutions for the issues mentioned in 2. and 3. will no +# more work. +# A mysql-test-run.pl feature which allows to enforce +# 1. Server shutdown (-> Problem mentioned in 2. disappears) +# 2. Reset all data to initial state (-> Problem mentioned in 3. disappears) +# 3. Server start +# after a tests would be a perfect replacement. +# --source include/big_test.inc @@ -73,19 +102,15 @@ delimiter ;// SET @step3= @step * 3; SET @step6= @step * 6; -# Disable query log to hide current time. ---disable_query_log SET @unix_time= UNIX_TIMESTAMP() - 1; ---enable_query_log - SET @unix_time= @unix_time - @unix_time % @step6; INSERT INTO mysql.time_zone VALUES (NULL, 'N'); SET @tzid= LAST_INSERT_ID(); INSERT INTO mysql.time_zone_transition_type - VALUES (@tzid, 0, 0, 0, 'b16420_0'); + VALUES (@tzid, 0, 0, 0, 'b16420_0'); INSERT INTO mysql.time_zone_transition_type - VALUES (@tzid, 1, @step3 - @step, 1, 'b16420_1'); + VALUES (@tzid, 1, @step3 - @step, 1, 'b16420_1'); let $transition_unix_time= `SELECT @unix_time`; let $count= 30; @@ -99,7 +124,9 @@ while ($count) dec $count; } --enable_query_log -INSERT INTO mysql.time_zone_name VALUES ('bug16420', @tzid); +let $tz_name = `SELECT CONCAT('b16420_a',UNIX_TIMESTAMP())`; +--replace_result $tz_name +eval INSERT INTO mysql.time_zone_name VALUES ('$tz_name', @tzid); CREATE TABLE t1 (count INT, unix_time INT, local_time INT, comment CHAR(80)); CREATE TABLE t2 (count INT); @@ -135,7 +162,8 @@ SET TIME_ZONE= '+00:00'; CREATE EVENT e1 ON SCHEDULE EVERY @step SECOND STARTS FROM_UNIXTIME(@unix_time) DO SELECT f1(""); -SET TIME_ZONE= 'bug16420'; +--replace_result $tz_name +eval SET TIME_ZONE= '$tz_name'; CREATE EVENT e2 ON SCHEDULE EVERY @step SECOND STARTS FROM_UNIXTIME(@unix_time) DO SELECT f1(""); @@ -196,6 +224,8 @@ DELETE FROM mysql.time_zone_name WHERE time_zone_id = @tzid; DELETE FROM mysql.time_zone_transition_type WHERE time_zone_id = @tzid; DELETE FROM mysql.time_zone_transition WHERE time_zone_id = @tzid; DELETE FROM mysql.time_zone WHERE time_zone_id = @tzid; +let $time_zone_auto_inc = `SELECT MAX(Time_zone_id) + 1 FROM mysql.time_zone`; +eval ALTER TABLE mysql.time_zone AUTO_INCREMENT = $time_zone_auto_inc; #---------------------------------------------------------------------- @@ -216,13 +246,13 @@ SET @offset_month_03= UNIX_TIMESTAMP('2030-03-31 12:00:00') - @now - 5*@step; SET @offset_month_04= UNIX_TIMESTAMP('2030-04-30 12:00:00') - @now - 13*@step; INSERT INTO mysql.time_zone_transition_type - VALUES (@tzid, 0, @offset_month_01, 0, 'b16420_0'); + VALUES (@tzid, 0, @offset_month_01, 0, 'b16420_0'); INSERT INTO mysql.time_zone_transition_type - VALUES (@tzid, 1, @offset_month_02, 1, 'b16420_1'); + VALUES (@tzid, 1, @offset_month_02, 1, 'b16420_1'); INSERT INTO mysql.time_zone_transition_type - VALUES (@tzid, 2, @offset_month_03, 1, 'b16420_2'); + VALUES (@tzid, 2, @offset_month_03, 1, 'b16420_2'); INSERT INTO mysql.time_zone_transition_type - VALUES (@tzid, 3, @offset_month_04, 1, 'b16420_3'); + VALUES (@tzid, 3, @offset_month_04, 1, 'b16420_3'); INSERT INTO mysql.time_zone_transition VALUES (@tzid, @now, 0); INSERT INTO mysql.time_zone_transition @@ -231,11 +261,12 @@ INSERT INTO mysql.time_zone_transition VALUES (@tzid, @now + 7 * @step, 2); INSERT INTO mysql.time_zone_transition VALUES (@tzid, @now + 12 * @step, 3); -# We have to user a new time zone name, because 'bug16420' has been -# cached already. -INSERT INTO mysql.time_zone_name VALUES ('bug16420_2', @tzid); +let $tz_name = `SELECT CONCAT('b16420_b',UNIX_TIMESTAMP())`; +--replace_result $tz_name +eval INSERT INTO mysql.time_zone_name VALUES ('$tz_name', @tzid); -SET TIME_ZONE= 'bug16420_2'; +--replace_result $tz_name +eval SET TIME_ZONE= '$tz_name'; SET GLOBAL EVENT_SCHEDULER= ON; @@ -280,6 +311,8 @@ DELETE FROM mysql.time_zone_name WHERE time_zone_id = @tzid; DELETE FROM mysql.time_zone_transition_type WHERE time_zone_id = @tzid; DELETE FROM mysql.time_zone_transition WHERE time_zone_id = @tzid; DELETE FROM mysql.time_zone WHERE time_zone_id = @tzid; +let $time_zone_auto_inc = `SELECT MAX(Time_zone_id) + 1 FROM mysql.time_zone`; +eval ALTER TABLE mysql.time_zone AUTO_INCREMENT = $time_zone_auto_inc; DROP FUNCTION round_to_step; DROP TABLE t_step; @@ -291,8 +324,8 @@ eval USE $old_db; --enable_query_log let $wait_condition= - select count(*) = 0 from information_schema.processlist - where db='mysqltest_db1' and command = 'Connect' and user=current_user(); + SELECT COUNT(*) = 0 FROM information_schema.processlist + WHERE db='mysqltest_db1' AND command = 'Connect' AND user=current_user(); --source include/wait_condition.inc --echo End of 5.1 tests. From 56b9586fd1d94ebd70662417a1d2ac1921da4ad2 Mon Sep 17 00:00:00 2001 From: Gleb Shchepa Date: Fri, 14 Nov 2008 21:25:57 +0400 Subject: [PATCH 087/141] Bug #40021: Renaming view fails, archived .frm for view is missing after downgrade Obsolete arc/ directory and view .frm file backup support has been removed by the patch for bug 17823. However, that bugfix caused a problem with "live downgrades" of the server: if we rename some view 4 times under 5.1.29/5.0.72 and then try to rename it under 5.1.28/5.0.70 on the same database, the server fails with a error: query 'RENAME TABLE ... TO ...' failed: 6: Error on delete of '....frm-0001' (Errcode: 2) Also .frm file of that view may be lost (renamed to .frm~). The server failed because it tried to rename latest 3 backup .frm files renaming the view: the server used an integer value of the "revision" field of .frm file to extract those file names. After the fix for bug 17823 those files were not created/maintained any more, however the "revision" field was incremented as usual. So, the server failed renaming non existent files. This fix solves the problem by removing the support for "revision" .frm file field: 1. New server silently ignores existent "revision" fields in old .frm files and never write it down; 2. Old server assumes, that missing "revision" field in new .frm files means default value of 0. 3. Accordingly to the fix for bug 17823 the new server drops arc/ directory on alter/rename view, so after "live downgrade" old server begins maintenance of the arc/ directory from scratch without conflicts with .frm files. sql/parse_file.cc: Bug #40021: Renaming view fails, archived .frm for view is missing after downgrade 1. static write_parameter(): the old_version parameter and the section for FILE_OPTIONS_REV have been re moved. 2. write_parameter(): the max_versions parameter has been removed; 3. sql_create_definition_file(): removal of dead code; 4. rename_in_schema_file(): revision and num_view_backups parameters and dead code have been removed; 5. File_parser::parse(): FILE_OPTIONS_REV section has been removed. sql/parse_file.h: Bug #40021: Renaming view fails, archived .frm for view is missing after downgrade 1. The FILE_OPTIONS_REV constant has been removed. 2. sql_create_definition_file and rename_in_schema_file functions: obsolete versions, revision and num_view_backups parameters have been removed. sql/sql_db.cc: Bug #40021: Renaming view fails, archived .frm for view is missing after downgrade Commentary update. sql/sql_trigger.cc: Bug #40021: Renaming view fails, archived .frm for view is missing after downgrade sql_create_definition_file() calls have been updates to new parameter lists. sql/sql_view.cc: Bug #40021: Renaming view fails, archived .frm for view is missing after downgrade 1. The mysql_create_view function code is used for both CREATE VIEW and ALTER queries, but query cache is necessary for ALTER command only. Check for a non first view revision has been replaced with a direct check for ALTER query. 2. The num_view_backups global constant has been removed. 3. view_parameters: the "revision" .frm field support has been removed. 4. sql_create_definition_file and rename_in_schema_file function calls have been updates to new parameter lists. sql/table.h: Bug #40021: Renaming view fails, archived .frm for view is missing after downgrade TABLE_LIST: the revision field has been removed. --- sql/parse_file.cc | 93 ++-------------------------------------------- sql/parse_file.h | 6 +-- sql/sql_db.cc | 2 - sql/sql_trigger.cc | 8 ++-- sql/sql_view.cc | 33 ++++------------ sql/table.h | 1 - 6 files changed, 17 insertions(+), 126 deletions(-) diff --git a/sql/parse_file.cc b/sql/parse_file.cc index 2b947fcac4f..ade0709cf0d 100644 --- a/sql/parse_file.cc +++ b/sql/parse_file.cc @@ -88,7 +88,6 @@ write_escaped_string(IO_CACHE *file, LEX_STRING *val_s) file pointer to IO_CACHE structure for writing base pointer to data structure parameter pointer to parameter descriptor - old_version for returning back old version number value RETURN FALSE - OK @@ -96,8 +95,7 @@ write_escaped_string(IO_CACHE *file, LEX_STRING *val_s) */ static my_bool -write_parameter(IO_CACHE *file, gptr base, File_option *parameter, - ulonglong *old_version) +write_parameter(IO_CACHE *file, gptr base, File_option *parameter) { char num_buf[20]; // buffer for numeric operations // string for numeric operations @@ -125,15 +123,6 @@ write_parameter(IO_CACHE *file, gptr base, File_option *parameter, DBUG_RETURN(TRUE); break; } - case FILE_OPTIONS_REV: - { - ulonglong *val_i= (ulonglong *)(base + parameter->offset); - *old_version= (*val_i)++; - num.set(*val_i, &my_charset_bin); - if (my_b_append(file, (const byte *)num.ptr(), num.length())) - DBUG_RETURN(TRUE); - break; - } case FILE_OPTIONS_TIMESTAMP: { /* string have to be allocated already */ @@ -205,7 +194,6 @@ write_parameter(IO_CACHE *file, gptr base, File_option *parameter, base base address for parameter reading (structure like TABLE) parameters parameters description - max_versions number of versions to save RETURN FALSE - OK @@ -215,13 +203,11 @@ write_parameter(IO_CACHE *file, gptr base, File_option *parameter, my_bool sql_create_definition_file(const LEX_STRING *dir, const LEX_STRING *file_name, const LEX_STRING *type, - gptr base, File_option *parameters, - uint max_versions) + gptr base, File_option *parameters) { File handler; IO_CACHE file; char path[FN_REFLEN+1]; // +1 to put temporary file name for sure - ulonglong old_version= ULONGLONG_MAX; int path_end; File_option *param; DBUG_ENTER("sql_create_definition_file"); @@ -255,7 +241,7 @@ sql_create_definition_file(const LEX_STRING *dir, const LEX_STRING *file_name, if (my_b_append(&file, (const byte *)param->name.str, param->name.length) || my_b_append(&file, (const byte *)STRING_WITH_LEN("=")) || - write_parameter(&file, base, param, &old_version) || + write_parameter(&file, base, param) || my_b_append(&file, (const byte *)STRING_WITH_LEN("\n"))) goto err_w_cache; } @@ -269,55 +255,6 @@ sql_create_definition_file(const LEX_STRING *dir, const LEX_STRING *file_name, } path[path_end]='\0'; -#ifdef FRM_ARCHIVE - // archive copies management: disabled unused feature (see bug #17823). - if (!access(path, F_OK)) - { - if (old_version != ULONGLONG_MAX && max_versions != 0) - { - // save backup - char path_arc[FN_REFLEN]; - // backup old version - char path_to[FN_REFLEN]; - - // check archive directory existence - fn_format(path_arc, "arc", dir->str, "", MY_UNPACK_FILENAME); - if (access(path_arc, F_OK)) - { - if (my_mkdir(path_arc, 0777, MYF(MY_WME))) - { - DBUG_RETURN(TRUE); - } - } - - my_snprintf(path_to, FN_REFLEN, "%s/%s-%04lu", - path_arc, file_name->str, (ulong) old_version); - if (my_rename(path, path_to, MYF(MY_WME))) - { - DBUG_RETURN(TRUE); - } - - // remove very old version - if (old_version > max_versions) - { - my_snprintf(path_to, FN_REFLEN, "%s/%s-%04lu", - path_arc, file_name->str, - (ulong)(old_version - max_versions)); - if (!access(path_arc, F_OK) && my_delete(path_to, MYF(MY_WME))) - { - DBUG_RETURN(TRUE); - } - } - } - else - { - if (my_delete(path, MYF(MY_WME))) // no backups - { - DBUG_RETURN(TRUE); - } - } - } -#endif//FRM_ARCHIVE { // rename temporary file @@ -346,8 +283,6 @@ err_w_file: schema name of given schema old_name original file name new_name new file name - revision revision number - num_view_backups number of backups RETURN 0 - OK @@ -356,8 +291,7 @@ err_w_file: */ my_bool rename_in_schema_file(THD *thd, const char *schema, const char *old_name, - const char *new_name, ulonglong revision, - uint num_view_backups) + const char *new_name) { char old_path[FN_REFLEN], new_path[FN_REFLEN], arc_path[FN_REFLEN]; @@ -376,23 +310,6 @@ my_bool rename_in_schema_file(THD *thd, strxnmov(arc_path, FN_REFLEN, mysql_data_home, "/", schema, "/arc", NullS); (void) unpack_filename(arc_path, arc_path); -#ifdef FRM_ARCHIVE - if (revision > 0 && !access(arc_path, F_OK)) - { - ulonglong limit= ((revision > num_view_backups) ? - revision - num_view_backups : 0); - for (; revision > limit ; revision--) - { - my_snprintf(old_path, FN_REFLEN, "%s/%s%s-%04lu", - arc_path, old_name, reg_ext, (ulong)revision); - (void) unpack_filename(old_path, old_path); - my_snprintf(new_path, FN_REFLEN, "%s/%s%s-%04lu", - arc_path, new_name, reg_ext, (ulong)revision); - (void) unpack_filename(new_path, new_path); - my_rename(old_path, new_path, MYF(0)); - } - } -#else//FRM_ARCHIVE { // remove obsolete 'arc' directory and files if any MY_DIR *new_dirp; if ((new_dirp = my_dir(arc_path, MYF(MY_DONT_SORT)))) @@ -401,7 +318,6 @@ my_bool rename_in_schema_file(THD *thd, (void) mysql_rm_arc_files(thd, new_dirp, arc_path); } } -#endif//FRM_ARCHIVE return 0; } @@ -838,7 +754,6 @@ File_parser::parse(gptr base, MEM_ROOT *mem_root, break; } case FILE_OPTIONS_ULONGLONG: - case FILE_OPTIONS_REV: if (!(eol= strchr(ptr, '\n'))) { my_error(ER_FPARSER_ERROR_IN_PARAMETER, MYF(0), diff --git a/sql/parse_file.h b/sql/parse_file.h index ec920b58667..ad7d1629e0a 100644 --- a/sql/parse_file.h +++ b/sql/parse_file.h @@ -23,7 +23,6 @@ enum file_opt_type { FILE_OPTIONS_STRING, /* String (LEX_STRING) */ FILE_OPTIONS_ESTRING, /* Escaped string (LEX_STRING) */ FILE_OPTIONS_ULONGLONG, /* ulonglong parameter (ulonglong) */ - FILE_OPTIONS_REV, /* Revision version number (ulonglong) */ FILE_OPTIONS_TIMESTAMP, /* timestamp (LEX_STRING have to be allocated with length 20 (19+1) */ FILE_OPTIONS_STRLIST, /* list of escaped strings @@ -81,11 +80,10 @@ File_parser *sql_parse_prepare(const LEX_STRING *file_name, my_bool sql_create_definition_file(const LEX_STRING *dir, const LEX_STRING *file_name, const LEX_STRING *type, - gptr base, File_option *parameters, uint versions); + gptr base, File_option *parameters); my_bool rename_in_schema_file(THD *thd, const char *schema, const char *old_name, - const char *new_name, ulonglong revision, - uint num_view_backups); + const char *new_name); class File_parser: public Sql_alloc { diff --git a/sql/sql_db.cc b/sql/sql_db.cc index 8fbb407555a..c3cf7429222 100644 --- a/sql/sql_db.cc +++ b/sql/sql_db.cc @@ -909,7 +909,6 @@ static long mysql_rm_known_files(THD *thd, MY_DIR *dirp, const char *db, /* .frm archive: Those archives are obsolete, but following code should exist to remove existent "arc" directories. - See #ifdef FRM_ARCHIVE directives for obsolete code. */ char newpath[FN_REFLEN]; MY_DIR *new_dirp; @@ -1069,7 +1068,6 @@ static my_bool rm_dir_w_symlink(const char *org_path, my_bool send_error) NOTE A support of "arc" directories is obsolete, however this function should exist to remove existent "arc" directories. - See #ifdef FRM_ARCHIVE directives for obsolete code. */ long mysql_rm_arc_files(THD *thd, MY_DIR *dirp, const char *org_path) { diff --git a/sql/sql_trigger.cc b/sql/sql_trigger.cc index bead50e1da8..d3b5289cd68 100644 --- a/sql/sql_trigger.cc +++ b/sql/sql_trigger.cc @@ -479,7 +479,7 @@ bool Table_triggers_list::create_trigger(THD *thd, TABLE_LIST *tables, trigname.trigger_table.length= tables->table_name_length; if (sql_create_definition_file(&dir, &trigname_file, &trigname_file_type, - (gptr)&trigname, trigname_file_parameters, 0)) + (gptr)&trigname, trigname_file_parameters)) return 1; /* @@ -569,7 +569,7 @@ bool Table_triggers_list::create_trigger(THD *thd, TABLE_LIST *tables, /* Create trigger definition file. */ if (!sql_create_definition_file(&dir, &file, &triggers_file_type, - (gptr)this, triggers_file_parameters, 0)) + (gptr)this, triggers_file_parameters)) return 0; err_with_cleanup: @@ -656,7 +656,7 @@ static bool save_trigger_file(Table_triggers_list *triggers, const char *db, file.str= file_buff; return sql_create_definition_file(&dir, &file, &triggers_file_type, - (gptr)triggers, triggers_file_parameters, 0); + (gptr)triggers, triggers_file_parameters); } @@ -1427,7 +1427,7 @@ Table_triggers_list::change_table_name_in_trignames(const char *db_name, trigname.trigger_table= *new_table_name; if (sql_create_definition_file(&dir, &trigname_file, &trigname_file_type, - (gptr)&trigname, trigname_file_parameters, 0)) + (gptr)&trigname, trigname_file_parameters)) return trigger; } diff --git a/sql/sql_view.cc b/sql/sql_view.cc index 8e6d3ed583a..f65a62bed75 100644 --- a/sql/sql_view.cc +++ b/sql/sql_view.cc @@ -660,7 +660,7 @@ bool mysql_create_view(THD *thd, TABLE_LIST *views, } VOID(pthread_mutex_unlock(&LOCK_open)); - if (view->revision != 1) + if (mode != VIEW_CREATE_NEW) query_cache_invalidate3(thd, view, 0); start_waiting_global_read_lock(thd); if (res) @@ -678,12 +678,8 @@ err: } -/* index of revision number in following table */ -static const int revision_number_position= 8; -/* index of last required parameter for making view */ -static const int required_view_parameters= 10; -/* number of backups */ -static const int num_view_backups= 3; +/* number of required parameters for making view */ +static const int required_view_parameters= 9; /* table of VIEW .frm field descriptors @@ -716,9 +712,6 @@ static File_option view_parameters[]= {{(char*) STRING_WITH_LEN("with_check_option")}, my_offsetof(TABLE_LIST, with_check), FILE_OPTIONS_ULONGLONG}, - {{(char*) STRING_WITH_LEN("revision")}, - my_offsetof(TABLE_LIST, revision), - FILE_OPTIONS_REV}, {{(char*) STRING_WITH_LEN("timestamp")}, my_offsetof(TABLE_LIST, timestamp), FILE_OPTIONS_TIMESTAMP}, @@ -880,18 +873,9 @@ loop_out: } /* - read revision number - TODO: read dependence list, too, to process cascade/restrict TODO: special cascade/restrict procedure for alter? */ - if (parser->parse((gptr)view, thd->mem_root, - view_parameters + revision_number_position, 1, - &file_parser_dummy_hook)) - { - error= thd->net.report_error? -1 : 0; - goto err; - } } else { @@ -933,7 +917,7 @@ loop_out: } if (sql_create_definition_file(&dir, &file, view_file_type, - (gptr)view, view_parameters, num_view_backups)) + (gptr)view, view_parameters)) { error= thd->net.report_error? -1 : 1; goto err; @@ -1868,8 +1852,7 @@ mysql_rename_view(THD *thd, goto err; /* rename view and it's backups */ - if (rename_in_schema_file(thd, view->db, view->table_name, new_name, - view_def.revision - 1, num_view_backups)) + if (rename_in_schema_file(thd, view->db, view->table_name, new_name)) goto err; strxnmov(dir_buff, FN_REFLEN, mysql_data_home, "/", view->db, "/", NullS); @@ -1883,12 +1866,10 @@ mysql_rename_view(THD *thd, - file_buff); if (sql_create_definition_file(&pathstr, &file, view_file_type, - (gptr)&view_def, view_parameters, - num_view_backups)) + (gptr)&view_def, view_parameters)) { /* restore renamed view in case of error */ - rename_in_schema_file(thd, view->db, new_name, view->table_name, - view_def.revision - 1, num_view_backups); + rename_in_schema_file(thd, view->db, new_name, view->table_name); goto err; } } else diff --git a/sql/table.h b/sql/table.h index 08326e2fbe0..0884f5ba3d2 100644 --- a/sql/table.h +++ b/sql/table.h @@ -657,7 +657,6 @@ struct TABLE_LIST st_lex_user definer; /* definer of view */ ulonglong file_version; /* version of file's field set */ ulonglong updatable_view; /* VIEW can be updated */ - ulonglong revision; /* revision control number */ ulonglong algorithm; /* 0 any, 1 tmp tables , 2 merging */ ulonglong view_suid; /* view is suid (TRUE dy default) */ ulonglong with_check; /* WITH CHECK OPTION */ From 58fddfccddd0857cd7ab15d13d42efc37e8191ef Mon Sep 17 00:00:00 2001 From: Matthias Leich Date: Fri, 14 Nov 2008 19:20:16 +0100 Subject: [PATCH 088/141] Fix for Bug#40644 main.group_concat_max_len_func random failures + minor improvements --- mysql-test/r/group_concat_max_len_func.result | 74 +++++++++-------- mysql-test/t/group_concat_max_len_func.test | 81 ++++++++++--------- 2 files changed, 87 insertions(+), 68 deletions(-) diff --git a/mysql-test/r/group_concat_max_len_func.result b/mysql-test/r/group_concat_max_len_func.result index 715a84ce72b..52d67b8d274 100644 --- a/mysql-test/r/group_concat_max_len_func.result +++ b/mysql-test/r/group_concat_max_len_func.result @@ -1,31 +1,41 @@ SET @save = @@global.group_concat_max_len; -drop table if exists t1; +DROP TABLE IF EXISTS t1; ## Creating new table t1 ## CREATE TABLE t1 ( -id INT NOT NULL auto_increment, +id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), -rollno int NOT NULL, +rollno INT NOT NULL, name VARCHAR(30) ); '#--------------------FN_DYNVARS_034_01-------------------------#' -## Setting initial value of variable to 4 ## +## Setting initial value of variable to 4 ## SET @@global.group_concat_max_len = 4; -## Inserting some rows in table ## -INSERT into t1(rollno, name) values(1, 'Record_1'); -INSERT into t1(rollno, name) values(2, 'Record_2'); -INSERT into t1(rollno, name) values(1, 'Record_3'); -INSERT into t1(rollno, name) values(3, 'Record_4'); -INSERT into t1(rollno, name) values(1, 'Record_5'); -INSERT into t1(rollno, name) values(3, 'Record_6'); -INSERT into t1(rollno, name) values(4, 'Record_7'); -INSERT into t1(rollno, name) values(4, 'Record_8'); -## Creating two new connections ## +## Inserting some rows in table ## +INSERT INTO t1(rollno, name) VALUES(1, 'Record_1'); +INSERT INTO t1(rollno, name) VALUES(2, 'Record_2'); +INSERT INTO t1(rollno, name) VALUES(1, 'Record_3'); +INSERT INTO t1(rollno, name) VALUES(3, 'Record_4'); +INSERT INTO t1(rollno, name) VALUES(1, 'Record_5'); +INSERT INTO t1(rollno, name) VALUES(3, 'Record_6'); +INSERT INTO t1(rollno, name) VALUES(4, 'Record_7'); +INSERT INTO t1(rollno, name) VALUES(4, 'Record_8'); +SELECT * FROM t1 ORDER BY id; +id rollno name +1 1 Record_1 +2 2 Record_2 +3 1 Record_3 +4 3 Record_4 +5 1 Record_5 +6 3 Record_6 +7 4 Record_7 +8 4 Record_8 +## Creating two new connections ## '#--------------------FN_DYNVARS_034_02-------------------------#' ## Connecting with test_con1 ## -## Accessing data and using group_concat on column whose value is greater than 4 ## -SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno; -id rollno group_concat(name) +## Accessing data and using group_concat on column whose value is greater than 4 ## +SELECT id, rollno, GROUP_CONCAT(name) FROM t1 GROUP BY rollno; +id rollno GROUP_CONCAT(name) 1 1 Reco 2 2 Reco 4 3 Reco @@ -33,10 +43,10 @@ id rollno group_concat(name) Warnings: Warning 1260 4 line(s) were cut by GROUP_CONCAT() ## Changing session value of variable and verifying its behavior, ## -## warning should come here ## +## warning should come here ## SET @@session.group_concat_max_len = 10; -SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno; -id rollno group_concat(name) +SELECT id, rollno, GROUP_CONCAT(name) FROM t1 GROUP BY rollno; +id rollno GROUP_CONCAT(name) 1 1 Record_1,R 2 2 Record_2 4 3 Record_4,R @@ -44,18 +54,18 @@ id rollno group_concat(name) Warnings: Warning 1260 3 line(s) were cut by GROUP_CONCAT() '#--------------------FN_DYNVARS_034_03-------------------------#' -## Connecting with new connection test_con2 ## -## Verifying initial value of variable. It should be 4 ## +## Connecting with new connection test_con2 ## +## Verifying initial value of variable. It should be 4 ## SELECT @@session.group_concat_max_len = 4; @@session.group_concat_max_len = 4 1 -## Setting session value of variable to 20 and verifying variable is concating ## -## column's value to 20 or not ## +## Setting session value of variable to 20 and verifying variable is concating ## +## column's value to 20 or not ## SET @@session.group_concat_max_len = 20; ## Verifying value of name column, it should not me more than 20 characters ## ## Warning should come here ## -SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno; -id rollno group_concat(name) +SELECT id, rollno, GROUP_CONCAT(name) FROM t1 GROUP BY rollno; +id rollno GROUP_CONCAT(name) 1 1 Record_1,Record_3,Re 2 2 Record_2 4 3 Record_4,Record_6 @@ -63,17 +73,17 @@ id rollno group_concat(name) Warnings: Warning 1260 1 line(s) were cut by GROUP_CONCAT() '#--------------------FN_DYNVARS_034_04-------------------------#' -## Setting session value of variable to 26. No warning should appear here ## -## because the value after concatination is less than 30 ## +## Setting session value of variable to 26. No warning should appear here ## +## because the value after concatination is less than 30 ## SET @@session.group_concat_max_len = 26; -## Verifying value of name column, it should not give warning now ## -SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno; -id rollno group_concat(name) +## Verifying value of name column, it should not give warning now ## +SELECT id, rollno, GROUP_CONCAT(name) FROM t1 GROUP BY rollno; +id rollno GROUP_CONCAT(name) 1 1 Record_1,Record_3,Record_5 2 2 Record_2 4 3 Record_4,Record_6 7 4 Record_7,Record_8 ## Dropping table t1 ## -DROP table t1; +DROP TABLE t1; ## Disconnecting both the connection ## SET @@global.group_concat_max_len = @save; diff --git a/mysql-test/t/group_concat_max_len_func.test b/mysql-test/t/group_concat_max_len_func.test index d1dc8df43a0..29a4ff5becb 100644 --- a/mysql-test/t/group_concat_max_len_func.test +++ b/mysql-test/t/group_concat_max_len_func.test @@ -11,18 +11,23 @@ # Creation Date: 2008-03-07 # # Author: Salman Rawala # # # +# Last modification: # +# 2008-11-14 mleich Fix Bug#40644 main.group_concat_max_len_func random # +# failures # +# + minor improvements # +# # # Description: Test Cases of Dynamic System Variable group_concat_max_len # # that checks the functionality of this variable # # # -# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # -# server-system-variables.html # +# Reference: # +# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html # # # ############################################################################### SET @save = @@global.group_concat_max_len; --disable_warnings -drop table if exists t1; +DROP TABLE IF EXISTS t1; --enable_warnings ######################### @@ -32,34 +37,38 @@ drop table if exists t1; --echo ## Creating new table t1 ## CREATE TABLE t1 ( -id INT NOT NULL auto_increment, +id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), -rollno int NOT NULL, +rollno INT NOT NULL, name VARCHAR(30) ); --echo '#--------------------FN_DYNVARS_034_01-------------------------#' ######################################################################## # Setting initial value of group_concat_max_len, inserting some rows -# & creating 2 new connections +# & creating 2 new connections ######################################################################## ---echo ## Setting initial value of variable to 4 ## +--echo ## Setting initial value of variable to 4 ## SET @@global.group_concat_max_len = 4; ---echo ## Inserting some rows in table ## -INSERT into t1(rollno, name) values(1, 'Record_1'); -INSERT into t1(rollno, name) values(2, 'Record_2'); -INSERT into t1(rollno, name) values(1, 'Record_3'); -INSERT into t1(rollno, name) values(3, 'Record_4'); -INSERT into t1(rollno, name) values(1, 'Record_5'); -INSERT into t1(rollno, name) values(3, 'Record_6'); -INSERT into t1(rollno, name) values(4, 'Record_7'); -INSERT into t1(rollno, name) values(4, 'Record_8'); +--echo ## Inserting some rows in table ## +INSERT INTO t1(rollno, name) VALUES(1, 'Record_1'); +INSERT INTO t1(rollno, name) VALUES(2, 'Record_2'); +INSERT INTO t1(rollno, name) VALUES(1, 'Record_3'); +INSERT INTO t1(rollno, name) VALUES(3, 'Record_4'); +INSERT INTO t1(rollno, name) VALUES(1, 'Record_5'); +INSERT INTO t1(rollno, name) VALUES(3, 'Record_6'); +INSERT INTO t1(rollno, name) VALUES(4, 'Record_7'); +INSERT INTO t1(rollno, name) VALUES(4, 'Record_8'); +# The following "auxiliary" select ensures that all records are on disk +# = result sets got by parallel sessions cannot suffer from effects +# caused by the MyISAM feature "concurrent_inserts". +SELECT * FROM t1 ORDER BY id; ---echo ## Creating two new connections ## -CONNECT (test_con1,localhost,root,,); -CONNECT (test_con2,localhost,root,,); +--echo ## Creating two new connections ## +connect (test_con1,localhost,root,,); +connect (test_con2,localhost,root,,); --echo '#--------------------FN_DYNVARS_034_02-------------------------#' @@ -68,16 +77,16 @@ CONNECT (test_con2,localhost,root,,); ############################################################################### --echo ## Connecting with test_con1 ## -CONNECTION test_con1; +connection test_con1; ---echo ## Accessing data and using group_concat on column whose value is greater than 4 ## -SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno; +--echo ## Accessing data and using group_concat on column whose value is greater than 4 ## +SELECT id, rollno, GROUP_CONCAT(name) FROM t1 GROUP BY rollno; --echo ## Changing session value of variable and verifying its behavior, ## ---echo ## warning should come here ## +--echo ## warning should come here ## SET @@session.group_concat_max_len = 10; -SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno; +SELECT id, rollno, GROUP_CONCAT(name) FROM t1 GROUP BY rollno; --echo '#--------------------FN_DYNVARS_034_03-------------------------#' @@ -85,19 +94,19 @@ SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno; # Verifying behavior of variable by increasing session value of variable # ############################################################################## ---echo ## Connecting with new connection test_con2 ## +--echo ## Connecting with new connection test_con2 ## connection test_con2; ---echo ## Verifying initial value of variable. It should be 4 ## +--echo ## Verifying initial value of variable. It should be 4 ## SELECT @@session.group_concat_max_len = 4; ---echo ## Setting session value of variable to 20 and verifying variable is concating ## ---echo ## column's value to 20 or not ## +--echo ## Setting session value of variable to 20 and verifying variable is concating ## +--echo ## column's value to 20 or not ## SET @@session.group_concat_max_len = 20; --echo ## Verifying value of name column, it should not me more than 20 characters ## --echo ## Warning should come here ## -SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno; +SELECT id, rollno, GROUP_CONCAT(name) FROM t1 GROUP BY rollno; --echo '#--------------------FN_DYNVARS_034_04-------------------------#' @@ -106,12 +115,12 @@ SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno; # greater than the maximum concat length of name column # ############################################################################### ---echo ## Setting session value of variable to 26. No warning should appear here ## ---echo ## because the value after concatination is less than 30 ## +--echo ## Setting session value of variable to 26. No warning should appear here ## +--echo ## because the value after concatination is less than 30 ## SET @@session.group_concat_max_len = 26; ---echo ## Verifying value of name column, it should not give warning now ## -SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno; +--echo ## Verifying value of name column, it should not give warning now ## +SELECT id, rollno, GROUP_CONCAT(name) FROM t1 GROUP BY rollno; ############################################################ @@ -119,11 +128,11 @@ SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno; ############################################################ --echo ## Dropping table t1 ## -DROP table t1; +DROP TABLE t1; --echo ## Disconnecting both the connection ## -DISCONNECT test_con2; -DISCONNECT test_con1; +disconnect test_con2; +disconnect test_con1; connection default; From 9ca6e03b66e7b3c9546bdeaf7dd37cfe7f0541c5 Mon Sep 17 00:00:00 2001 From: Kristofer Pettersson Date: Mon, 17 Nov 2008 15:17:21 +0100 Subject: [PATCH 089/141] Bug#40778 thd_security_context has bad architecture; allocates on unprotected memroot The function thd_security_context allocates memory on an unprotected MEM_ROOT if the message length becomes longer than requested and the initial buffer memory needs to be reallocated. This patch fixes the design error by copying parts of the reallocated buffer to the destination buffer. This works because the destination buffer isn't owned by the String object and thus isn't freed when a new buffer is allocated. Any new memory allocated by the String object is reclaimed when the object is destroyed at the end of the function call. --- sql/sql_class.cc | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 956466d3a17..26792a995a0 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -311,7 +311,7 @@ void thd_inc_row_count(THD *thd) Dumps a text description of a thread, its security context (user, host) and the current query. - @param thd current thread context + @param thd thread context @param buffer pointer to preferred result buffer @param length length of buffer @param max_query_len how many chars of query to copy (0 for all) @@ -385,7 +385,17 @@ char *thd_security_context(THD *thd, char *buffer, unsigned int length, } if (str.c_ptr_safe() == buffer) return buffer; - return thd->strmake(str.ptr(), str.length()); + + /* + We have to copy the new string to the destination buffer because the string + was reallocated to a larger buffer to be able to fit. + */ + DBUG_ASSERT(buffer != NULL); + length= min(str.length(), length-1); + memcpy(buffer, str.c_ptr_quick(), length); + /* Make sure that the new string is null terminated */ + buffer[length]= '\0'; + return buffer; } /** From 88a88636271aee2b89000a99c18d551813f0dcc5 Mon Sep 17 00:00:00 2001 From: Alexey Botchkov Date: Mon, 17 Nov 2008 19:41:09 +0400 Subject: [PATCH 090/141] Bug#31616 div_precision_increment description looks wrong Item_func_div didn't calculate the precision of the result properly. The result of 5/0.0001 is 5000 so we have to add decimals of the divisor to the planned precision. per-file comments: mysql-test/r/type_newdecimal.result Bug#31616 div_precision_increment description looks wrong test result fixed mysql-test/t/type_newdecimal.test Bug#31616 div_precision_increment description looks wrong test case sql/item_func.cc Bug#31616 div_precision_increment description looks wrong precision must be increased with args[1]->decimals parameter --- mysql-test/r/type_newdecimal.result | 15 +++++++++++++++ mysql-test/t/type_newdecimal.test | 10 ++++++++++ sql/item_func.cc | 6 ++++-- 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/type_newdecimal.result b/mysql-test/r/type_newdecimal.result index 1bb07534a7f..90b6f524692 100644 --- a/mysql-test/r/type_newdecimal.result +++ b/mysql-test/r/type_newdecimal.result @@ -1524,4 +1524,19 @@ select (1.20396873 * 0.89550000 * 0.68000000 * 1.08721696 * 0.99500000 * (1.20396873 * 0.89550000 * 0.68000000 * 1.08721696 * 0.99500000 * 1.01500000 * 1.01500000 * 0.99500000) 0.812988073953673124592306939480 +create table t1 as select 5.05 / 0.014; +Warnings: +Note 1265 Data truncated for column '5.05 / 0.014' at row 1 +show warnings; +Level Code Message +Note 1265 Data truncated for column '5.05 / 0.014' at row 1 +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `5.05 / 0.014` decimal(10,6) default NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +select * from t1; +5.05 / 0.014 +360.714286 +DROP TABLE t1; End of 5.0 tests diff --git a/mysql-test/t/type_newdecimal.test b/mysql-test/t/type_newdecimal.test index c44abdb144e..a5331582df6 100644 --- a/mysql-test/t/type_newdecimal.test +++ b/mysql-test/t/type_newdecimal.test @@ -1225,4 +1225,14 @@ DROP TABLE t1; select (1.20396873 * 0.89550000 * 0.68000000 * 1.08721696 * 0.99500000 * 1.01500000 * 1.01500000 * 0.99500000); +# +# Bug #31616 div_precision_increment description looks wrong +# + +create table t1 as select 5.05 / 0.014; +show warnings; +show create table t1; +select * from t1; +DROP TABLE t1; + --echo End of 5.0 tests diff --git a/sql/item_func.cc b/sql/item_func.cc index e663e1fcf83..dfe1082fd73 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -1316,8 +1316,10 @@ my_decimal *Item_func_div::decimal_op(my_decimal *decimal_value) void Item_func_div::result_precision() { - uint arg_prec= args[0]->decimal_precision() + prec_increment; - uint precision=min(arg_prec, DECIMAL_MAX_PRECISION); + uint precision=min(args[0]->decimal_precision() + + args[1]->decimals + prec_increment, + DECIMAL_MAX_PRECISION); + /* Integer operations keep unsigned_flag if one of arguments is unsigned */ if (result_type() == INT_RESULT) unsigned_flag= args[0]->unsigned_flag | args[1]->unsigned_flag; From 1199dfcbfa996b7053e7aba113b639a74162052b Mon Sep 17 00:00:00 2001 From: Alexey Botchkov Date: Mon, 17 Nov 2008 20:06:03 +0400 Subject: [PATCH 091/141] Bug#34517 SHOW GLOBAL STATUS does not work properly in embedded server. GLOBAL STATUS is calculated by studying the list of threads. In the embedded server threads were not linked to the internal list, so the calculation always returns 0. Fixed by 'linking' the embedded-server threads to the same list per-file comments: libmysqld/lib_sql.cc Bug#34517 SHOW GLOBAL STATUS does not work properly in embedded server. Add newly created 'threads' to the internal thread list. Remove them from the list as they're freed. mysql-test/r/information_schema.result Bug#34517 SHOW GLOBAL STATUS does not work properly in embedded server. test result mysql-test/t/information_schema.test Bug#34517 SHOW GLOBAL STATUS does not work properly in embedded server. test case added --- libmysqld/lib_sql.cc | 2 ++ mysql-test/r/information_schema.result | 9 +++++++++ mysql-test/t/information_schema.test | 10 ++++++++++ 3 files changed, 21 insertions(+) diff --git a/libmysqld/lib_sql.cc b/libmysqld/lib_sql.cc index 6e82812239e..e78c656d565 100644 --- a/libmysqld/lib_sql.cc +++ b/libmysqld/lib_sql.cc @@ -384,6 +384,7 @@ static void emb_free_embedded_thd(MYSQL *mysql) thd->clear_data_list(); thread_count--; thd->store_globals(); + thd->unlink(); delete thd; mysql->thd=0; } @@ -627,6 +628,7 @@ void *create_embedded_thd(int client_flag) bzero((char*) &thd->net, sizeof(thd->net)); thread_count++; + threads.append(thd); return thd; err: delete(thd); diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result index 0ed501252f6..85af461eb14 100644 --- a/mysql-test/r/information_schema.result +++ b/mysql-test/r/information_schema.result @@ -1698,4 +1698,13 @@ drop table if exists t1;drop table if exists Warnings: Warning 1265 Data truncated for column 'VARIABLE_VALUE' at row 1 set global init_connect=""; +create table t0 select * from information_schema.global_status where VARIABLE_NAME='COM_SELECT'; +SELECT 1; +1 +1 +select a.VARIABLE_VALUE - b.VARIABLE_VALUE from t0 b, information_schema.global_status a +where a.VARIABLE_NAME = b.VARIABLE_NAME; +a.VARIABLE_VALUE - b.VARIABLE_VALUE +2 +drop table t0; End of 5.1 tests. diff --git a/mysql-test/t/information_schema.test b/mysql-test/t/information_schema.test index 667a9279e84..bcb22c44076 100644 --- a/mysql-test/t/information_schema.test +++ b/mysql-test/t/information_schema.test @@ -1373,4 +1373,14 @@ drop table if exists t1;drop table if exists t1;"; select * from information_schema.global_variables where variable_name='init_connect'; set global init_connect=""; +# +# Bug #34517 SHOW GLOBAL STATUS does not work properly in embedded server. +# + +create table t0 select * from information_schema.global_status where VARIABLE_NAME='COM_SELECT'; +SELECT 1; +select a.VARIABLE_VALUE - b.VARIABLE_VALUE from t0 b, information_schema.global_status a + where a.VARIABLE_NAME = b.VARIABLE_NAME; +drop table t0; + --echo End of 5.1 tests. From 116b87f7bb4d70a1e2d614bd1da0dce0f2d2b8fd Mon Sep 17 00:00:00 2001 From: Patrick Crews Date: Mon, 17 Nov 2008 15:25:27 -0500 Subject: [PATCH 092/141] Bug#33970 Test main.csv_alter_table disabled. Re-enabling this test in 5.1 tree since the bug that caused disabling (Bug#33696 CSV storage engine allows nullable colums via ALTER TABLE statements) doesn't appear in 5.1 (6.0 only) Recorded .result file and removed test from the main.disabled.def file. --- mysql-test/r/csv_alter_table.result | 40 +++++++++++++++++++++++++++++ mysql-test/t/disabled.def | 1 - 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 mysql-test/r/csv_alter_table.result diff --git a/mysql-test/r/csv_alter_table.result b/mysql-test/r/csv_alter_table.result new file mode 100644 index 00000000000..b406e40b15d --- /dev/null +++ b/mysql-test/r/csv_alter_table.result @@ -0,0 +1,40 @@ +# ===== csv_alter_table.1 ===== +DROP TABLE IF EXISTS t1; +CREATE TABLE t1 (a int NOT NULL) ENGINE = CSV; +ALTER TABLE t1 ADD COLUMN b CHAR(5) NOT NULL; +DESC t1; +Field Type Null Key Default Extra +a int(11) NO NULL +b char(5) NO NULL +ALTER TABLE t1 DROP COLUMN b; +DESC t1; +Field Type Null Key Default Extra +a int(11) NO NULL +ALTER TABLE t1 MODIFY a BIGINT NOT NULL; +DESC t1; +Field Type Null Key Default Extra +a bigint(20) NO NULL +ALTER TABLE t1 CHANGE a a INT NOT NULL; +DESC t1; +Field Type Null Key Default Extra +a int(11) NO NULL +DROP TABLE t1; +# ===== csv_alter_table.2 ===== +DROP TABLE IF EXISTS t1; +CREATE TABLE t1 (a int NOT NULL) ENGINE = CSV; +ALTER TABLE t1 ADD COLUMN b CHAR(5); +ERROR 42000: The storage engine for the table doesn't support nullable columns +DESC t1; +Field Type Null Key Default Extra +a int(11) NO NULL +ALTER TABLE t1 MODIFY a BIGINT; +ERROR 42000: The storage engine for the table doesn't support nullable columns +DESC t1; +Field Type Null Key Default Extra +a int(11) NO NULL +ALTER TABLE t1 CHANGE a a INT; +ERROR 42000: The storage engine for the table doesn't support nullable columns +DESC t1; +Field Type Null Key Default Extra +a int(11) NO NULL +DROP TABLE t1; diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 8c89d01f0f8..c01bb4b9e44 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -10,6 +10,5 @@ # ############################################################################## federated_transactions : Bug#29523 Transactions do not work -csv_alter_table : Bug#33696 2008-01-21 pcrews no .result file - bug allows NULL columns in CSV tables log_tables.test : Bug #37798: main.log_tables fails randomly on powermacg5 and windows slow_query_log_func.test : Bug #37962: *_func tests containing sleeps/race conditions From 3e02f955749443d378c197c0e710315313ec41e0 Mon Sep 17 00:00:00 2001 From: Alexey Botchkov Date: Tue, 18 Nov 2008 13:52:03 +0400 Subject: [PATCH 093/141] merging --- mysql-test/r/type_newdecimal.result | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/r/type_newdecimal.result b/mysql-test/r/type_newdecimal.result index 0487cd56da4..f2b08d1c6b7 100644 --- a/mysql-test/r/type_newdecimal.result +++ b/mysql-test/r/type_newdecimal.result @@ -1543,7 +1543,7 @@ Note 1265 Data truncated for column '5.05 / 0.014' at row 1 show create table t1; Table Create Table t1 CREATE TABLE `t1` ( - `5.05 / 0.014` decimal(10,6) default NULL + `5.05 / 0.014` decimal(10,6) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 select * from t1; 5.05 / 0.014 From 480046c52e5938582a67223606f3813336b4405a Mon Sep 17 00:00:00 2001 From: Chad MILLER Date: Tue, 18 Nov 2008 11:45:44 -0500 Subject: [PATCH 094/141] Bug#39178: non-RSA keys in connection to a RSA-keyed yaSSL-using server \ using crashes server When the server is configured to use a RSA key, and when the client sends a cipher-suite list that contains a non-RSA key as acceptable, the server would try to process that key even though it was impossible. Now, yaSSL sets its own acceptable-cipher list according to what kind of key the server is started with, and will never explore and try to pair impossible combinations. This involves a partial import of the current YaSSL tree, not the whole thing, so as to try to avoid introducing new bugs. (Updated to avoid many whitespace changes and make diff smaller.) --- extra/yassl/include/cert_wrapper.hpp | 3 + extra/yassl/include/openssl/prefix_ssl.h | 1 + extra/yassl/include/openssl/ssl.h | 9 +- extra/yassl/include/yassl_imp.hpp | 4 +- extra/yassl/include/yassl_int.hpp | 12 +- extra/yassl/include/yassl_types.hpp | 12 +- extra/yassl/src/cert_wrapper.cpp | 36 +++-- extra/yassl/src/ssl.cpp | 25 +++- extra/yassl/src/yassl_error.cpp | 7 +- extra/yassl/src/yassl_imp.cpp | 163 +++++++++++++++-------- extra/yassl/src/yassl_int.cpp | 108 ++++++++++++--- mysql-test/r/openssl_1.result | 17 ++- mysql-test/t/openssl_1.test | 43 +++++- 13 files changed, 334 insertions(+), 106 deletions(-) diff --git a/extra/yassl/include/cert_wrapper.hpp b/extra/yassl/include/cert_wrapper.hpp index ce8003aa4cf..572b9f87293 100644 --- a/extra/yassl/include/cert_wrapper.hpp +++ b/extra/yassl/include/cert_wrapper.hpp @@ -34,6 +34,7 @@ #include "yassl_types.hpp" // SignatureAlgorithm #include "buffer.hpp" // input_buffer #include "asn.hpp" // SignerList +#include "openssl/ssl.h" // internal and external use #include STL_LIST_FILE #include STL_ALGORITHM_FILE @@ -87,6 +88,7 @@ class CertManager { bool verifyNone_; // no error if verify fails bool failNoCert_; bool sendVerify_; + VerifyCallback verifyCallback_; // user verify callback public: CertManager(); ~CertManager(); @@ -118,6 +120,7 @@ public: void setFailNoCert(); void setSendVerify(); void setPeerX509(X509*); + void setVerifyCallback(VerifyCallback); private: CertManager(const CertManager&); // hide copy CertManager& operator=(const CertManager&); // and assign diff --git a/extra/yassl/include/openssl/prefix_ssl.h b/extra/yassl/include/openssl/prefix_ssl.h index 3a3a8c26c9c..138d9fb8821 100644 --- a/extra/yassl/include/openssl/prefix_ssl.h +++ b/extra/yassl/include/openssl/prefix_ssl.h @@ -52,6 +52,7 @@ #define SSL_load_error_strings yaSSL_load_error_strings #define SSL_set_session yaSSL_set_session #define SSL_get_session yaSSL_get_session +#define SSL_flush_sessions yaSSL_flush_sessions #define SSL_SESSION_set_timeout yaSSL_SESSION_set_timeout #define SSL_CTX_set_session_cache_mode yaSSL_CTX_set_session_cache_mode #define SSL_get_peer_certificate yaSSL_get_peer_certificate diff --git a/extra/yassl/include/openssl/ssl.h b/extra/yassl/include/openssl/ssl.h index c0b87f804ad..de09f1ebe4b 100644 --- a/extra/yassl/include/openssl/ssl.h +++ b/extra/yassl/include/openssl/ssl.h @@ -170,8 +170,9 @@ enum { /* X509 Constants */ X509_V_ERR_CRL_SIGNATURE_FAILURE = 10, X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD = 11, X509_V_ERR_CRL_HAS_EXPIRED = 12, - X509_V_ERR_CERT_REVOKED = 13 - + X509_V_ERR_CERT_REVOKED = 13, + X509_V_FLAG_CRL_CHECK = 14, + X509_V_FLAG_CRL_CHECK_ALL = 15 }; @@ -202,7 +203,8 @@ SSL_CTX* SSL_CTX_new(SSL_METHOD*); SSL* SSL_new(SSL_CTX*); int SSL_set_fd (SSL*, YASSL_SOCKET_T); YASSL_SOCKET_T SSL_get_fd(const SSL*); -int SSL_connect(SSL*); +int SSL_connect(SSL*); // if you get an error from connect + // see note at top of REAMDE int SSL_write(SSL*, const void*, int); int SSL_read(SSL*, void*, int); int SSL_accept(SSL*); @@ -227,6 +229,7 @@ void SSL_load_error_strings(void); int SSL_set_session(SSL *ssl, SSL_SESSION *session); SSL_SESSION* SSL_get_session(SSL* ssl); +void SSL_flush_sessions(SSL_CTX *ctx, long tm); long SSL_SESSION_set_timeout(SSL_SESSION*, long); long SSL_CTX_set_session_cache_mode(SSL_CTX* ctx, long mode); X509* SSL_get_peer_certificate(SSL*); diff --git a/extra/yassl/include/yassl_imp.hpp b/extra/yassl/include/yassl_imp.hpp index f6434443cb0..8893ba8a8ba 100644 --- a/extra/yassl/include/yassl_imp.hpp +++ b/extra/yassl/include/yassl_imp.hpp @@ -667,10 +667,12 @@ struct Parameters { Cipher suites_[MAX_SUITE_SZ]; char cipher_name_[MAX_SUITE_NAME]; char cipher_list_[MAX_CIPHERS][MAX_SUITE_NAME]; + bool removeDH_; // for server's later use Parameters(ConnectionEnd, const Ciphers&, ProtocolVersion, bool haveDH); - void SetSuites(ProtocolVersion pv, bool removeDH = false); + void SetSuites(ProtocolVersion pv, bool removeDH = false, + bool removeRSA = false, bool removeDSA = false); void SetCipherNames(); private: Parameters(const Parameters&); // hide copy diff --git a/extra/yassl/include/yassl_int.hpp b/extra/yassl/include/yassl_int.hpp index b207f0bffbd..d18dc41860c 100644 --- a/extra/yassl/include/yassl_int.hpp +++ b/extra/yassl/include/yassl_int.hpp @@ -1,5 +1,5 @@ /* - Copyright (C) 2000-2007 MySQL AB + Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -268,12 +268,14 @@ class Sessions { STL::list list_; RandomPool random_; // for session cleaning Mutex mutex_; // no-op for single threaded + int count_; // flush counter - Sessions() {} // only GetSessions can create + Sessions() : count_(0) {} // only GetSessions can create public: SSL_SESSION* lookup(const opaque*, SSL_SESSION* copy = 0); void add(const SSL&); void remove(const opaque*); + void Flush(); ~Sessions(); @@ -425,8 +427,10 @@ private: pem_password_cb passwordCb_; void* userData_; bool sessionCacheOff_; + bool sessionCacheFlushOff_; Stats stats_; Mutex mutex_; // for Stats + VerifyCallback verifyCallback_; public: explicit SSL_CTX(SSL_METHOD* meth); ~SSL_CTX(); @@ -437,18 +441,22 @@ public: const Ciphers& GetCiphers() const; const DH_Parms& GetDH_Parms() const; const Stats& GetStats() const; + const VerifyCallback getVerifyCallback() const; pem_password_cb GetPasswordCb() const; void* GetUserData() const; bool GetSessionCacheOff() const; + bool GetSessionCacheFlushOff() const; void setVerifyPeer(); void setVerifyNone(); void setFailNoCert(); + void setVerifyCallback(VerifyCallback); bool SetCipherList(const char*); bool SetDH(const DH&); void SetPasswordCb(pem_password_cb cb); void SetUserData(void*); void SetSessionCacheOff(); + void SetSessionCacheFlushOff(); void IncrementStats(StatsField); void AddCA(x509* ca); diff --git a/extra/yassl/include/yassl_types.hpp b/extra/yassl/include/yassl_types.hpp index e4b81f98fff..28535792828 100644 --- a/extra/yassl/include/yassl_types.hpp +++ b/extra/yassl/include/yassl_types.hpp @@ -1,5 +1,5 @@ /* - Copyright (C) 2000-2007 MySQL AB + Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,6 +29,13 @@ #include "type_traits.hpp" +#ifdef _MSC_VER + // disable conversion warning + // 4996 warning to use MS extensions e.g., strcpy_s instead of strncpy + #pragma warning(disable:4244 4996) +#endif + + namespace yaSSL { #define YASSL_LIB @@ -163,7 +170,7 @@ const int RMD_LEN = 20; // RIPEMD-160 digest length const int PREFIX = 3; // up to 3 prefix letters for secret rounds const int KEY_PREFIX = 7; // up to 7 prefix letters for key rounds const int FORTEZZA_MAX = 128; // Maximum Fortezza Key length -const int MAX_SUITE_SZ = 64; // 32 max suites * sizeof(suite) +const int MAX_SUITE_SZ = 128; // 64 max suites * sizeof(suite) const int MAX_SUITE_NAME = 48; // max length of suite name const int MAX_CIPHERS = 32; // max supported ciphers for cipher list const int SIZEOF_ENUM = 1; // SSL considers an enum 1 byte, not 4 @@ -205,6 +212,7 @@ const int SEED_LEN = RAN_LEN * 2; // TLS seed, client + server random const int DEFAULT_TIMEOUT = 500; // Default Session timeout in seconds const int MAX_RECORD_SIZE = 16384; // 2^14, max size by standard const int COMPRESS_EXTRA = 1024; // extra compression possible addition +const int SESSION_FLUSH_COUNT = 256; // when to flush session cache typedef uint8 Cipher; // first byte is always 0x00 for SSLv3 & TLS diff --git a/extra/yassl/src/cert_wrapper.cpp b/extra/yassl/src/cert_wrapper.cpp index 5eacf9083f9..1af5705d11d 100644 --- a/extra/yassl/src/cert_wrapper.cpp +++ b/extra/yassl/src/cert_wrapper.cpp @@ -1,5 +1,5 @@ /* - Copyright (C) 2000-2007 MySQL AB + Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,6 +24,7 @@ #include "runtime.hpp" #include "cert_wrapper.hpp" #include "yassl_int.hpp" +#include "error.hpp" #if defined(USE_CML_LIB) #include "cmapi_cpp.h" @@ -90,7 +91,7 @@ opaque* x509::use_buffer() //CertManager CertManager::CertManager() : peerX509_(0), verifyPeer_(false), verifyNone_(false), failNoCert_(false), - sendVerify_(false) + sendVerify_(false), verifyCallback_(0) {} @@ -154,6 +155,12 @@ void CertManager::setSendVerify() } +void CertManager::setVerifyCallback(VerifyCallback vc) +{ + verifyCallback_ = vc; +} + + void CertManager::AddPeerCert(x509* x) { peerList_.push_back(x); // take ownership @@ -236,7 +243,7 @@ uint CertManager::get_privateKeyLength() const int CertManager::Validate() { CertList::reverse_iterator last = peerList_.rbegin(); - int count = peerList_.size(); + size_t count = peerList_.size(); while ( count > 1 ) { TaoCrypt::Source source((*last)->get_buffer(), (*last)->get_length()); @@ -257,7 +264,8 @@ int CertManager::Validate() TaoCrypt::Source source((*last)->get_buffer(), (*last)->get_length()); TaoCrypt::CertDecoder cert(source, true, &signers_, verifyNone_); - if (int err = cert.GetError().What()) + int err = cert.GetError().What(); + if ( err && err != TaoCrypt::SIG_OTHER_E) return err; uint sz = cert.GetPublicKey().size(); @@ -269,13 +277,25 @@ int CertManager::Validate() else peerKeyType_ = dsa_sa_algo; - int iSz = strlen(cert.GetIssuer()) + 1; - int sSz = strlen(cert.GetCommonName()) + 1; - int bSz = strlen(cert.GetBeforeDate()) + 1; - int aSz = strlen(cert.GetAfterDate()) + 1; + size_t iSz = strlen(cert.GetIssuer()) + 1; + size_t sSz = strlen(cert.GetCommonName()) + 1; + int bSz = (int)strlen(cert.GetBeforeDate()) + 1; + int aSz = (int)strlen(cert.GetAfterDate()) + 1; peerX509_ = NEW_YS X509(cert.GetIssuer(), iSz, cert.GetCommonName(), sSz, cert.GetBeforeDate(), bSz, cert.GetAfterDate(), aSz); + + if (err == TaoCrypt::SIG_OTHER_E && verifyCallback_) { + X509_STORE_CTX store; + store.error = err; + store.error_depth = static_cast(count) - 1; + store.current_cert = peerX509_; + + int ok = verifyCallback_(0, &store); + if (ok) return 0; + } + + if (err == TaoCrypt::SIG_OTHER_E) return err; } return 0; } diff --git a/extra/yassl/src/ssl.cpp b/extra/yassl/src/ssl.cpp index f09a43be56e..29aa034f885 100644 --- a/extra/yassl/src/ssl.cpp +++ b/extra/yassl/src/ssl.cpp @@ -1,5 +1,5 @@ /* - Copyright (C) 2000-2007 MySQL AB + Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -245,6 +245,7 @@ YASSL_SOCKET_T SSL_get_fd(const SSL* ssl) } +// if you get an error from connect see note at top of README int SSL_connect(SSL* ssl) { if (ssl->GetError() == YasslError(SSL_ERROR_WANT_READ)) @@ -447,6 +448,9 @@ long SSL_CTX_set_session_cache_mode(SSL_CTX* ctx, long mode) if (mode == SSL_SESS_CACHE_OFF) ctx->SetSessionCacheOff(); + if (mode == SSL_SESS_CACHE_NO_AUTO_CLEAR) + ctx->SetSessionCacheFlushOff(); + return SSL_SUCCESS; } @@ -493,6 +497,15 @@ long SSL_get_default_timeout(SSL* /*ssl*/) } +void SSL_flush_sessions(SSL_CTX *ctx, long /* tm */) +{ + if (ctx->GetSessionCacheOff()) + return; + + GetSessions().Flush(); +} + + const char* SSL_get_cipher_name(SSL* ssl) { return SSL_get_cipher(ssl); @@ -560,7 +573,7 @@ int SSL_get_error(SSL* ssl, int /*previous*/) only need to turn on for client, becuase server on by default if built in but calling for server will tell you whether it's available or not */ -int SSL_set_compression(SSL* ssl) +int SSL_set_compression(SSL* ssl) /* Chad didn't rename to ya~ because it is prob. bug. */ { return ssl->SetCompression(); } @@ -604,7 +617,7 @@ char* X509_NAME_oneline(X509_NAME* name, char* buffer, int sz) { if (!name->GetName()) return buffer; - int len = strlen(name->GetName()) + 1; + int len = (int)strlen(name->GetName()) + 1; int copySz = min(len, sz); if (!buffer) { @@ -693,7 +706,7 @@ int SSL_CTX_use_PrivateKey_file(SSL_CTX* ctx, const char* file, int format) } -void SSL_CTX_set_verify(SSL_CTX* ctx, int mode, VerifyCallback /*vc*/) +void SSL_CTX_set_verify(SSL_CTX* ctx, int mode, VerifyCallback vc) { if (mode & SSL_VERIFY_PEER) ctx->setVerifyPeer(); @@ -703,6 +716,8 @@ void SSL_CTX_set_verify(SSL_CTX* ctx, int mode, VerifyCallback /*vc*/) if (mode & SSL_VERIFY_FAIL_IF_NO_PEER_CERT) ctx->setFailNoCert(); + + ctx->setVerifyCallback(vc); } @@ -1450,6 +1465,8 @@ unsigned long err_helper(bool peek = false) default : return 0; } + + return 0; // shut up compiler } diff --git a/extra/yassl/src/yassl_error.cpp b/extra/yassl/src/yassl_error.cpp index dc120028e13..a1ef8578da6 100644 --- a/extra/yassl/src/yassl_error.cpp +++ b/extra/yassl/src/yassl_error.cpp @@ -1,5 +1,5 @@ /* - Copyright (C) 2000-2007 MySQL AB + Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -26,6 +26,11 @@ #include "openssl/ssl.h" // SSL_ERROR_WANT_READ #include // strncpy +#ifdef _MSC_VER + // 4996 warning to use MS extensions e.g., strcpy_s instead of strncpy + #pragma warning(disable: 4996) +#endif + namespace yaSSL { diff --git a/extra/yassl/src/yassl_imp.cpp b/extra/yassl/src/yassl_imp.cpp index b43d9c27355..4430ef0213c 100644 --- a/extra/yassl/src/yassl_imp.cpp +++ b/extra/yassl/src/yassl_imp.cpp @@ -1,5 +1,5 @@ /* - Copyright (C) 2000-2007 MySQL AB + Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -136,9 +136,19 @@ void DH_Server::build(SSL& ssl) const CertManager& cert = ssl.getCrypto().get_certManager(); if (ssl.getSecurity().get_parms().sig_algo_ == rsa_sa_algo) + { + if (cert.get_keyType() != rsa_sa_algo) { + ssl.SetError(privateKey_error); + return; + } auth.reset(NEW_YS RSA(cert.get_privateKey(), cert.get_privateKeyLength(), false)); + } else { + if (cert.get_keyType() != dsa_sa_algo) { + ssl.SetError(privateKey_error); + return; + } auth.reset(NEW_YS DSS(cert.get_privateKey(), cert.get_privateKeyLength(), false)); sigSz += DSS_ENCODED_EXTRA; @@ -436,18 +446,21 @@ Parameters::Parameters(ConnectionEnd ce, const Ciphers& ciphers, pending_ = true; // suite not set yet strncpy(cipher_name_, "NONE", 5); + removeDH_ = !haveDH; // only use on server side for set suites + if (ciphers.setSuites_) { // use user set list suites_size_ = ciphers.suiteSz_; memcpy(suites_, ciphers.suites_, ciphers.suiteSz_); SetCipherNames(); } else - SetSuites(pv, ce == server_end && !haveDH); // defaults + SetSuites(pv, ce == server_end && removeDH_); // defaults } -void Parameters::SetSuites(ProtocolVersion pv, bool removeDH) +void Parameters::SetSuites(ProtocolVersion pv, bool removeDH, bool removeRSA, + bool removeDSA) { int i = 0; // available suites, best first @@ -456,67 +469,87 @@ void Parameters::SetSuites(ProtocolVersion pv, bool removeDH) if (isTLS(pv)) { if (!removeDH) { - suites_[i++] = 0x00; - suites_[i++] = TLS_DHE_RSA_WITH_AES_256_CBC_SHA; - suites_[i++] = 0x00; - suites_[i++] = TLS_DHE_DSS_WITH_AES_256_CBC_SHA; + if (!removeRSA) { + suites_[i++] = 0x00; + suites_[i++] = TLS_DHE_RSA_WITH_AES_256_CBC_SHA; + } + if (!removeDSA) { + suites_[i++] = 0x00; + suites_[i++] = TLS_DHE_DSS_WITH_AES_256_CBC_SHA; + } } - suites_[i++] = 0x00; - suites_[i++] = TLS_RSA_WITH_AES_256_CBC_SHA; - - if (!removeDH) { - suites_[i++] = 0x00; - suites_[i++] = TLS_DHE_RSA_WITH_AES_128_CBC_SHA; - suites_[i++] = 0x00; - suites_[i++] = TLS_DHE_DSS_WITH_AES_128_CBC_SHA; + if (!removeRSA) { + suites_[i++] = 0x00; + suites_[i++] = TLS_RSA_WITH_AES_256_CBC_SHA; } - suites_[i++] = 0x00; - suites_[i++] = TLS_RSA_WITH_AES_128_CBC_SHA; - - suites_[i++] = 0x00; - suites_[i++] = TLS_RSA_WITH_AES_256_CBC_RMD160; - suites_[i++] = 0x00; - suites_[i++] = TLS_RSA_WITH_AES_128_CBC_RMD160; - suites_[i++] = 0x00; - suites_[i++] = TLS_RSA_WITH_3DES_EDE_CBC_RMD160; - if (!removeDH) { - suites_[i++] = 0x00; - suites_[i++] = TLS_DHE_RSA_WITH_AES_256_CBC_RMD160; - suites_[i++] = 0x00; - suites_[i++] = TLS_DHE_RSA_WITH_AES_128_CBC_RMD160; - suites_[i++] = 0x00; - suites_[i++] = TLS_DHE_RSA_WITH_3DES_EDE_CBC_RMD160; - - suites_[i++] = 0x00; - suites_[i++] = TLS_DHE_DSS_WITH_AES_256_CBC_RMD160; - suites_[i++] = 0x00; - suites_[i++] = TLS_DHE_DSS_WITH_AES_128_CBC_RMD160; - suites_[i++] = 0x00; - suites_[i++] = TLS_DHE_DSS_WITH_3DES_EDE_CBC_RMD160; - } + if (!removeRSA) { + suites_[i++] = 0x00; + suites_[i++] = TLS_DHE_RSA_WITH_AES_128_CBC_SHA; + } + if (!removeDSA) { + suites_[i++] = 0x00; + suites_[i++] = TLS_DHE_DSS_WITH_AES_128_CBC_SHA; + } + } + if (!removeRSA) { + suites_[i++] = 0x00; + suites_[i++] = TLS_RSA_WITH_AES_128_CBC_SHA; + suites_[i++] = 0x00; + suites_[i++] = TLS_RSA_WITH_AES_256_CBC_RMD160; + suites_[i++] = 0x00; + suites_[i++] = TLS_RSA_WITH_AES_128_CBC_RMD160; + suites_[i++] = 0x00; + suites_[i++] = TLS_RSA_WITH_3DES_EDE_CBC_RMD160; + } + if (!removeDH) { + if (!removeRSA) { + suites_[i++] = 0x00; + suites_[i++] = TLS_DHE_RSA_WITH_AES_256_CBC_RMD160; + suites_[i++] = 0x00; + suites_[i++] = TLS_DHE_RSA_WITH_AES_128_CBC_RMD160; + suites_[i++] = 0x00; + suites_[i++] = TLS_DHE_RSA_WITH_3DES_EDE_CBC_RMD160; + } + if (!removeDSA) { + suites_[i++] = 0x00; + suites_[i++] = TLS_DHE_DSS_WITH_AES_256_CBC_RMD160; + suites_[i++] = 0x00; + suites_[i++] = TLS_DHE_DSS_WITH_AES_128_CBC_RMD160; + suites_[i++] = 0x00; + suites_[i++] = TLS_DHE_DSS_WITH_3DES_EDE_CBC_RMD160; + } + } } - suites_[i++] = 0x00; - suites_[i++] = SSL_RSA_WITH_RC4_128_SHA; - suites_[i++] = 0x00; - suites_[i++] = SSL_RSA_WITH_RC4_128_MD5; - - suites_[i++] = 0x00; - suites_[i++] = SSL_RSA_WITH_3DES_EDE_CBC_SHA; - suites_[i++] = 0x00; - suites_[i++] = SSL_RSA_WITH_DES_CBC_SHA; + if (!removeRSA) { + suites_[i++] = 0x00; + suites_[i++] = SSL_RSA_WITH_RC4_128_SHA; + suites_[i++] = 0x00; + suites_[i++] = SSL_RSA_WITH_RC4_128_MD5; + suites_[i++] = 0x00; + suites_[i++] = SSL_RSA_WITH_3DES_EDE_CBC_SHA; + suites_[i++] = 0x00; + suites_[i++] = SSL_RSA_WITH_DES_CBC_SHA; + } if (!removeDH) { - suites_[i++] = 0x00; - suites_[i++] = SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA; - suites_[i++] = 0x00; - suites_[i++] = SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA; - - suites_[i++] = 0x00; - suites_[i++] = SSL_DHE_RSA_WITH_DES_CBC_SHA; - suites_[i++] = 0x00; - suites_[i++] = SSL_DHE_DSS_WITH_DES_CBC_SHA; + if (!removeRSA) { + suites_[i++] = 0x00; + suites_[i++] = SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA; + } + if (!removeDSA) { + suites_[i++] = 0x00; + suites_[i++] = SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA; + } + if (!removeRSA) { + suites_[i++] = 0x00; + suites_[i++] = SSL_DHE_RSA_WITH_DES_CBC_SHA; + } + if (!removeDSA) { + suites_[i++] = 0x00; + suites_[i++] = SSL_DHE_DSS_WITH_DES_CBC_SHA; + } } suites_size_ = i; @@ -532,7 +565,7 @@ void Parameters::SetCipherNames() for (int j = 0; j < suites; j++) { int index = suites_[j*2 + 1]; // every other suite is suite id - int len = strlen(cipher_names[index]) + 1; + size_t len = strlen(cipher_names[index]) + 1; strncpy(cipher_list_[pos++], cipher_names[index], len); } cipher_list_[pos][0] = 0; @@ -1469,7 +1502,19 @@ void ClientHello::Process(input_buffer&, SSL& ssl) // downgrade to SSLv3 ssl.useSecurity().use_connection().TurnOffTLS(); ProtocolVersion pv = ssl.getSecurity().get_connection().version_; - ssl.useSecurity().use_parms().SetSuites(pv); // reset w/ SSL suites + bool removeDH = ssl.getSecurity().get_parms().removeDH_; + bool removeRSA = false; + bool removeDSA = false; + + const CertManager& cm = ssl.getCrypto().get_certManager(); + if (cm.get_keyType() == rsa_sa_algo) + removeDSA = true; + else + removeRSA = true; + + // reset w/ SSL suites + ssl.useSecurity().use_parms().SetSuites(pv, removeDH, removeRSA, + removeDSA); } else if (ssl.isTLSv1_1() && client_version_.minor_ == 1) // downgrade to TLSv1, but use same suites diff --git a/extra/yassl/src/yassl_int.cpp b/extra/yassl/src/yassl_int.cpp index 0b6cb89e77e..b7f91d72166 100644 --- a/extra/yassl/src/yassl_int.cpp +++ b/extra/yassl/src/yassl_int.cpp @@ -1,5 +1,5 @@ /* - Copyright (C) 2000-2007 MySQL AB + Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -40,28 +40,28 @@ void* operator new(size_t sz, yaSSL::new_t) { - void* ptr = malloc(sz ? sz : 1); - if (!ptr) abort(); + void* ptr = malloc(sz ? sz : 1); + if (!ptr) abort(); - return ptr; + return ptr; } void operator delete(void* ptr, yaSSL::new_t) { - if (ptr) free(ptr); + if (ptr) free(ptr); } void* operator new[](size_t sz, yaSSL::new_t nt) { - return ::operator new(sz, nt); + return ::operator new(sz, nt); } void operator delete[](void* ptr, yaSSL::new_t nt) { - ::operator delete(ptr, nt); + ::operator delete(ptr, nt); } namespace yaSSL { @@ -308,6 +308,20 @@ SSL::SSL(SSL_CTX* ctx) SetError(YasslError(err)); return; } + else if (serverSide) { + // remove RSA or DSA suites depending on cert key type + ProtocolVersion pv = secure_.get_connection().version_; + + bool removeDH = secure_.use_parms().removeDH_; + bool removeRSA = false; + bool removeDSA = false; + + if (cm.get_keyType() == rsa_sa_algo) + removeDSA = true; + else + removeRSA = true; + secure_.use_parms().SetSuites(pv, removeDH, removeRSA, removeDSA); + } } else if (serverSide) { SetError(no_key_file); @@ -320,6 +334,7 @@ SSL::SSL(SSL_CTX* ctx) cm.setVerifyNone(); if (ctx->getMethod()->failNoCert()) cm.setFailNoCert(); + cm.setVerifyCallback(ctx->getVerifyCallback()); if (serverSide) crypto_.SetDH(ctx->GetDH_Parms()); @@ -1034,12 +1049,12 @@ void SSL::fillData(Data& data) { if (GetError()) return; uint dataSz = data.get_length(); // input, data size to fill - uint elements = buffers_.getData().size(); + size_t elements = buffers_.getData().size(); data.set_length(0); // output, actual data filled dataSz = min(dataSz, bufferedData()); - for (uint i = 0; i < elements; i++) { + for (size_t i = 0; i < elements; i++) { input_buffer* front = buffers_.getData().front(); uint frontSz = front->get_remaining(); uint readSz = min(dataSz - data.get_length(), frontSz); @@ -1063,8 +1078,8 @@ void SSL::fillData(Data& data) void SSL::PeekData(Data& data) { if (GetError()) return; - uint dataSz = data.get_length(); // input, data size to fill - uint elements = buffers_.getData().size(); + uint dataSz = data.get_length(); // input, data size to fill + size_t elements = buffers_.getData().size(); data.set_length(0); // output, actual data filled dataSz = min(dataSz, bufferedData()); @@ -1098,9 +1113,9 @@ void SSL::flushBuffer() buffers_.getHandShake().end(), SumBuffer()).total_; output_buffer out(sz); - uint elements = buffers_.getHandShake().size(); + size_t elements = buffers_.getHandShake().size(); - for (uint i = 0; i < elements; i++) { + for (size_t i = 0; i < elements; i++) { output_buffer* front = buffers_.getHandShake().front(); out.write(front->get_buffer(), front->get_size()); @@ -1276,6 +1291,7 @@ void SSL::matchSuite(const opaque* peer, uint length) if (secure_.use_parms().suites_[i] == peer[j]) { secure_.use_parms().suite_[0] = 0x00; secure_.use_parms().suite_[1] = peer[j]; + return; } @@ -1284,7 +1300,7 @@ void SSL::matchSuite(const opaque* peer, uint length) void SSL::set_session(SSL_SESSION* s) -{ +{ if (getSecurity().GetContext()->GetSessionCacheOff()) return; @@ -1565,13 +1581,19 @@ Errors& GetErrors() typedef Mutex::Lock Lock; + void Sessions::add(const SSL& ssl) { if (ssl.getSecurity().get_connection().sessionID_Set_) { - Lock guard(mutex_); - list_.push_back(NEW_YS SSL_SESSION(ssl, random_)); + Lock guard(mutex_); + list_.push_back(NEW_YS SSL_SESSION(ssl, random_)); + count_++; } + + if (count_ > SESSION_FLUSH_COUNT) + if (!ssl.getSecurity().GetContext()->GetSessionCacheFlushOff()) + Flush(); } @@ -1660,6 +1682,25 @@ void Sessions::remove(const opaque* id) } +// flush expired sessions from cache +void Sessions::Flush() +{ + Lock guard(mutex_); + sess_iterator next = list_.begin(); + uint current = lowResTimer(); + + while (next != list_.end()) { + sess_iterator si = next; + ++next; + if ( ((*si)->GetBornOn() + (*si)->GetTimeOut()) < current) { + del_ptr_zero()(*si); + list_.erase(si); + } + } + count_ = 0; // reset flush counter +} + + // remove a self thread error void Errors::Remove() { @@ -1764,7 +1805,8 @@ bool SSL_METHOD::multipleProtocol() const SSL_CTX::SSL_CTX(SSL_METHOD* meth) : method_(meth), certificate_(0), privateKey_(0), passwordCb_(0), - userData_(0), sessionCacheOff_(false) + userData_(0), sessionCacheOff_(false), sessionCacheFlushOff_(false), + verifyCallback_(0) {} @@ -1791,6 +1833,12 @@ SSL_CTX::GetCA_List() const } +const VerifyCallback SSL_CTX::getVerifyCallback() const +{ + return verifyCallback_; +} + + const x509* SSL_CTX::getCert() const { return certificate_; @@ -1851,6 +1899,12 @@ bool SSL_CTX::GetSessionCacheOff() const } +bool SSL_CTX::GetSessionCacheFlushOff() const +{ + return sessionCacheFlushOff_; +} + + void SSL_CTX::SetUserData(void* data) { userData_ = data; @@ -1863,6 +1917,12 @@ void SSL_CTX::SetSessionCacheOff() } +void SSL_CTX::SetSessionCacheFlushOff() +{ + sessionCacheFlushOff_ = true; +} + + void SSL_CTX::setVerifyPeer() { method_->setVerifyPeer(); @@ -1881,6 +1941,12 @@ void SSL_CTX::setFailNoCert() } +void SSL_CTX::setVerifyCallback(VerifyCallback vc) +{ + verifyCallback_ = vc; +} + + bool SSL_CTX::SetDH(const DH& dh) { dhParms_.p_ = dh.p->int_; @@ -1906,7 +1972,7 @@ bool SSL_CTX::SetCipherList(const char* list) int idx = 0; for(;;) { - int len; + size_t len; prev = haystack; haystack = strstr(haystack, needle); @@ -2316,7 +2382,7 @@ X509::X509(const char* i, size_t iSz, const char* s, size_t sSz, : issuer_(i, iSz), subject_(s, sSz), beforeDate_(b, bSz), afterDate_(a, aSz) {} - + X509_NAME* X509::GetIssuer() { @@ -2354,10 +2420,10 @@ ASN1_STRING* X509_NAME::GetEntry(int i) memcpy(entry_.data, &name_[i], sz_ - i); if (entry_.data[sz_ -i - 1]) { entry_.data[sz_ - i] = 0; - entry_.length = sz_ - i; + entry_.length = int(sz_) - i; } else - entry_.length = sz_ - i - 1; + entry_.length = int(sz_) - i - 1; entry_.type = 0; return &entry_; diff --git a/mysql-test/r/openssl_1.result b/mysql-test/r/openssl_1.result index a042d0a5dc3..70151acda22 100644 --- a/mysql-test/r/openssl_1.result +++ b/mysql-test/r/openssl_1.result @@ -73,11 +73,10 @@ variable_name LIKE 'SSL_CALLBACK_CACHE_HITS'; END$$ SELECT variable_name, variable_value FROM thread_status; variable_name variable_value -SSL_ACCEPTS 0 -SSL_CALLBACK_CACHE_HITS 0 +SSL_ACCEPTS # +SSL_CALLBACK_CACHE_HITS # DROP TABLE thread_status; SET GLOBAL event_scheduler=0; -End of 5.1 tests SHOW STATUS LIKE 'Ssl_cipher'; Variable_name Value Ssl_cipher AES128-SHA @@ -192,3 +191,15 @@ UNLOCK TABLES; SSL error: Unable to get private key from 'MYSQL_TEST_DIR/std_data/client-cert.pem' mysqldump: Got error: 2026: SSL connection error when trying to connect DROP TABLE t1; +Variable_name Value +Ssl_cipher DHE-RSA-AES256-SHA +Variable_name Value +Ssl_cipher EDH-RSA-DES-CBC3-SHA +Variable_name Value +Ssl_cipher EDH-RSA-DES-CBC-SHA +Variable_name Value +Ssl_cipher RC4-SHA +select 'is still running; no cipher request crashed the server' as result from dual; +result +is still running; no cipher request crashed the server +End of 5.1 tests diff --git a/mysql-test/t/openssl_1.test b/mysql-test/t/openssl_1.test index 111c723e19c..1f5ada76366 100644 --- a/mysql-test/t/openssl_1.test +++ b/mysql-test/t/openssl_1.test @@ -145,12 +145,12 @@ DELIMITER ;$$ let $wait_condition=select count(*) = 0 from information_schema.events where event_name='event_status'; --source include/wait_condition.inc +# The actual value doesn't matter and can vary based on test ordering and on ssl library. +--replace_column 2 # SELECT variable_name, variable_value FROM thread_status; DROP TABLE thread_status; SET GLOBAL event_scheduler=0; ---echo End of 5.1 tests - # # Test to connect using a list of ciphers @@ -190,3 +190,42 @@ INSERT INTO t1 VALUES (1), (2); --exec $MYSQL_DUMP --skip-create --skip-comments --ssl --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem test 2>&1 DROP TABLE t1; + +# +# Bug#39172: Asking for DH+non-RSA key with server set to use other key caused +# YaSSL to crash the server. +# + +# Common ciphers to openssl and yassl +--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=DHE-RSA-AES256-SHA +--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC3-SHA +--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC-SHA +--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=RC4-SHA +--disable_output + +# Below here caused crashes. ################ +--error 1,0 +--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl-cipher';" --ssl-cipher=NOT----EXIST +# These probably exist but the server's keys can't be used to accept these kinds of connections. +--error 1,0 +--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl-cipher';" --ssl-cipher=DHE-DSS-AES128-RMD +--error 1,0 +--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl-cipher';" --ssl-cipher=DHE-DSS-AES128-SHA +--error 1,0 +--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl-cipher';" --ssl-cipher=DHE-DSS-AES256-RMD +--error 1,0 +--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl-cipher';" --ssl-cipher=DHE-DSS-AES256-SHA +--error 1,0 +--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl-cipher';" --ssl-cipher=DHE-DSS-DES-CBC3-RMD +--error 1,0 +--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl-cipher';" --ssl-cipher=EDH-DSS-DES-CBC3-SHA +--error 1,0 +--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl-cipher';" --ssl-cipher=EDH-DSS-DES-CBC-SHA +# End of crashers. ########################## + +# If this gives a result, then the bug is fixed. +--enable_output +select 'is still running; no cipher request crashed the server' as result from dual; + +## +--echo End of 5.1 tests From 1f09ede4e4adf8deccb2069e321b7157d1b224d2 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 18 Nov 2008 23:37:54 +0100 Subject: [PATCH 095/141] Merge from mysql-5.0.72-release From 4d3f05b09b4fa5e4cf7c77c2222fd6513e772f36 Mon Sep 17 00:00:00 2001 From: Alexey Botchkov Date: Wed, 19 Nov 2008 13:57:23 +0400 Subject: [PATCH 096/141] Bug#38293 Libmysqld crash in mysql_library_init if language file missing That's a Win-specific error. When we create libmysqld.dll we have many libraries like mysys, dbug, strings, etc linked into that dll, so the application built upon this library shouldn't link these libraries to itself, rather use those inside the dll. Fixed by redirecting calls into the libmysqld.dll per-file comments: dbug/dbug.c Bug#38293 Libmysqld crash in mysql_library_init if language file missing fake _db_something definitions added include/my_dbug.h Bug#38293 Libmysqld crash in mysql_library_init if language file missing fake _db_something declarations added libmysqld/examples/CMakeLists.txt Bug#38293 Libmysqld crash in mysql_library_init if language file missing superfluous libraries removed from linking libmysqld/libmysqld.def Bug#38293 Libmysqld crash in mysql_library_init if language file missing set of mysys functions added to the export section --- dbug/dbug.c | 9 +++++ include/my_dbug.h | 16 +++++++++ libmysqld/examples/CMakeLists.txt | 6 ++-- libmysqld/libmysqld.def | 60 +++++++++++++++++++++++++++++++ mysys/mf_tempdir.c | 2 ++ mysys/my_getopt.c | 19 ++++++---- sql/mysqld.cc | 31 ++++++++++------ 7 files changed, 122 insertions(+), 21 deletions(-) diff --git a/dbug/dbug.c b/dbug/dbug.c index 1cebbbcf72a..bbd1abb9598 100644 --- a/dbug/dbug.c +++ b/dbug/dbug.c @@ -2407,4 +2407,13 @@ int i_am_a_dummy_function() { return 0; } +#ifdef __WIN__ +char _db_doprnt_; +char _db_enter_; +char _db_pargs_; +char _db_process_; +char _db_push_; +char _db_return_; +#endif /*__WIN__*/ + #endif diff --git a/include/my_dbug.h b/include/my_dbug.h index a77e439b5db..fa7941faf1c 100644 --- a/include/my_dbug.h +++ b/include/my_dbug.h @@ -108,6 +108,22 @@ extern FILE *_db_fp_(void); #define DBUG_EXPLAIN(buf,len) #define DBUG_EXPLAIN_INITIAL(buf,len) #define IF_DBUG(A) + +#ifdef __WIN__ +/* + On windows all the dll export has to be declared in the *.def file + so as we export these symbols in DEBUG mode we have to export + these in the RELEASE mode also. So below are the dummy symbols + for the RELEASE export +*/ +extern char _db_doprnt_; +extern char _db_enter_; +extern char _db_pargs_; +extern char _db_process_; +extern char _db_push_; +extern char _db_return_; +#endif /*__WIN__*/ + #endif #ifdef __cplusplus } diff --git a/libmysqld/examples/CMakeLists.txt b/libmysqld/examples/CMakeLists.txt index a07d089c757..ca383d59b24 100644 --- a/libmysqld/examples/CMakeLists.txt +++ b/libmysqld/examples/CMakeLists.txt @@ -29,13 +29,13 @@ ADD_DEFINITIONS(-DEMBEDDED_LIBRARY) ADD_EXECUTABLE(mysql_embedded ../../client/completion_hash.cc ../../client/mysql.cc ../../client/readline.cc ../../client/sql_string.cc) -TARGET_LINK_LIBRARIES(mysql_embedded mysys yassl taocrypt zlib debug dbug regex strings wsock32) +TARGET_LINK_LIBRARIES(mysql_embedded debug wsock32) ADD_DEPENDENCIES(mysql_embedded libmysqld) ADD_EXECUTABLE(mysqltest_embedded ../../client/mysqltest.c) -TARGET_LINK_LIBRARIES(mysqltest_embedded mysys yassl taocrypt zlib debug dbug regex strings wsock32) +TARGET_LINK_LIBRARIES(mysqltest_embedded debug wsock32) ADD_DEPENDENCIES(mysqltest_embedded libmysqld) ADD_EXECUTABLE(mysql_client_test_embedded ../../tests/mysql_client_test.c) -TARGET_LINK_LIBRARIES(mysql_client_test_embedded debug dbug mysys yassl taocrypt zlib strings wsock32) +TARGET_LINK_LIBRARIES(mysql_client_test_embedded debug wsock32) ADD_DEPENDENCIES(mysql_client_test_embedded libmysqld) diff --git a/libmysqld/libmysqld.def b/libmysqld/libmysqld.def index 2aa75c0b23c..431c0efdaa0 100644 --- a/libmysqld/libmysqld.def +++ b/libmysqld/libmysqld.def @@ -2,6 +2,66 @@ LIBRARY LIBMYSQLD DESCRIPTION 'MySQL 5.1 Embedded Server Library' VERSION 5.1 EXPORTS + _db_process_ + _db_enter_ + _db_return_ + _db_push_ + _db_doprnt_ + _db_pargs_ + strnmov + get_charset + my_memmem + my_snprintf + pthread_exit + pthread_cond_signal + dynstr_append_mem + init_dynamic_string + dynstr_free + hash_free + my_vsnprintf + dynstr_append + my_close + my_open + dynstr_set + dynstr_append_os_quoted + my_delete + my_seek + my_write + create_temp_file + fn_format + dirname_part + my_hash_insert + hash_search + test_if_hard_path + my_copy + my_mkdir + my_sleep + my_strtod + pthread_cond_wait + my_strnncoll_simple + get_dynamic + my_regerror + init_dynamic_array2 + pthread_create + pthread_cond_init + my_regcomp + my_regexec + my_regex_end + my_regfree + longlong2str + my_set_exception_pointers + my_print_stacktrace + my_thread_stack_size + my_safe_print_str + my_stat + _hash_init + pthread_attr_setstacksize + pthread_attr_init + my_dirend + wild_compare + my_dir + my_micro_time + find_type_or_exit _dig_vec_upper _dig_vec_lower bmove_upp diff --git a/mysys/mf_tempdir.c b/mysys/mf_tempdir.c index b2c18c74347..d6492c90965 100644 --- a/mysys/mf_tempdir.c +++ b/mysys/mf_tempdir.c @@ -85,6 +85,8 @@ char *my_tmpdir(MY_TMPDIR *tmpdir) void free_tmpdir(MY_TMPDIR *tmpdir) { uint i; + if (!tmpdir->full_list.elements) + return; for (i=0; i<=tmpdir->max; i++) my_free(tmpdir->list[i], MYF(0)); delete_dynamic(&tmpdir->full_list); diff --git a/mysys/my_getopt.c b/mysys/my_getopt.c index 6a7ee748930..0f8055860d4 100644 --- a/mysys/my_getopt.c +++ b/mysys/my_getopt.c @@ -397,9 +397,10 @@ invalid value '%s'", my_progname, optp->name, optend); continue; } - get_one_option(optp->id, optp, - *((my_bool*) value) ? - (char*) "1" : disabled_my_option); + if (get_one_option(optp->id, optp, + *((my_bool*) value) ? + (char*) "1" : disabled_my_option)) + return EXIT_ARGUMENT_INVALID; continue; } argument= optend; @@ -457,7 +458,8 @@ invalid value '%s'", optp->arg_type == NO_ARG) { *((my_bool*) optp->value)= (my_bool) 1; - get_one_option(optp->id, optp, argument); + if (get_one_option(optp->id, optp, argument)) + return EXIT_UNSPECIFIED_ERROR; continue; } else if (optp->arg_type == REQUIRED_ARG || @@ -476,7 +478,8 @@ invalid value '%s'", { if (optp->var_type == GET_BOOL) *((my_bool*) optp->value)= (my_bool) 1; - get_one_option(optp->id, optp, argument); + if (get_one_option(optp->id, optp, argument)) + return EXIT_UNSPECIFIED_ERROR; continue; } /* Check if there are more arguments after this one */ @@ -501,7 +504,8 @@ invalid value '%s'", my_progname, argument, optp->name); return error; } - get_one_option(optp->id, optp, argument); + if (get_one_option(optp->id, optp, argument)) + return EXIT_UNSPECIFIED_ERROR; break; } } @@ -524,7 +528,8 @@ invalid value '%s'", my_progname, argument, optp->name); return error; } - get_one_option(optp->id, optp, argument); + if (get_one_option(optp->id, optp, argument)) + return EXIT_UNSPECIFIED_ERROR; (*argc)--; /* option handled (short or long), decrease argument count */ } diff --git a/sql/mysqld.cc b/sql/mysqld.cc index a3b0123ee4a..99583ca8ea9 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -733,7 +733,7 @@ uint connection_count= 0; /* Function declarations */ pthread_handler_t signal_hand(void *arg); -static void mysql_init_variables(void); +static int mysql_init_variables(void); static void get_options(int *argc,char **argv); extern "C" my_bool mysqld_get_one_option(int, const struct my_option *, char *); static void set_server_version(void); @@ -3131,12 +3131,12 @@ static int init_common_variables(const char *conf_file_name, int argc, if (!rpl_filter || !binlog_filter) { sql_perror("Could not allocate replication and binlog filters"); - exit(1); + return 1; } - if (init_thread_environment()) + if (init_thread_environment() || + mysql_init_variables()) return 1; - mysql_init_variables(); #ifdef HAVE_TZNAME { @@ -3735,7 +3735,10 @@ version 5.0 and above. It is replaced by the binary log."); { /* as opt_bin_log==0, no need to free opt_bin_logname */ if (!(opt_bin_logname= my_strdup(opt_update_logname, MYF(MY_WME)))) - exit(EXIT_OUT_OF_MEMORY); + { + sql_print_error("Out of memory"); + return EXIT_OUT_OF_MEMORY; + } sql_print_error("The update log is no longer supported by MySQL in \ version 5.0 and above. It is replaced by the binary log. Now starting MySQL \ with --log-bin='%s' instead.",opt_bin_logname); @@ -7404,7 +7407,7 @@ To see what values a running MySQL server is using, type\n\ as these are initialized by my_getopt. */ -static void mysql_init_variables(void) +static int mysql_init_variables(void) { /* Things reset to zero */ opt_skip_slave_start= opt_reckless_slave = 0; @@ -7485,7 +7488,10 @@ static void mysql_init_variables(void) key_caches.empty(); if (!(dflt_key_cache= get_or_create_key_cache(default_key_cache_base.str, default_key_cache_base.length))) - exit(1); + { + sql_print_error("Cannot allocate the keycache"); + return 1; + } /* set key_cache_hash.default_value = dflt_key_cache */ multi_keycache_init(); @@ -7628,6 +7634,7 @@ static void mysql_init_variables(void) tmpenv = DEFAULT_MYSQL_HOME; (void) strmake(mysql_home, tmpenv, sizeof(mysql_home)-1); #endif + return 0; } @@ -7687,9 +7694,11 @@ mysqld_get_one_option(int optid, #endif break; #include +#ifndef EMBEDDED_LIBRARY case 'V': print_version(); exit(0); +#endif /*EMBEDDED_LIBRARY*/ case 'W': if (!argument) global_system_variables.log_warnings++; @@ -7914,14 +7923,14 @@ mysqld_get_one_option(int optid, if (gethostname(myhostname,sizeof(myhostname)) < 0) { sql_perror("Can't start server: cannot get my own hostname!"); - exit(1); + return 1; } ent=gethostbyname(myhostname); } if (!ent) { sql_perror("Can't start server: cannot resolve hostname!"); - exit(1); + return 1; } my_bind_addr = (ulong) ((in_addr*)ent->h_addr_list[0])->s_addr; } @@ -8118,8 +8127,8 @@ mysqld_get_one_option(int optid, case OPT_FT_BOOLEAN_SYNTAX: if (ft_boolean_check_syntax_string((uchar*) argument)) { - fprintf(stderr, "Invalid ft-boolean-syntax string: %s\n", argument); - exit(1); + sql_print_error("Invalid ft-boolean-syntax string: %s\n", argument); + return 1; } strmake(ft_boolean_syntax, argument, sizeof(ft_boolean_syntax)-1); break; From 36c4b37b16f5f44c97aae330856b742fa708b85f Mon Sep 17 00:00:00 2001 From: Alexey Botchkov Date: Wed, 19 Nov 2008 15:51:31 +0400 Subject: [PATCH 097/141] Bug#38293 Libmysqld crash in mysql_library_init if language file missing additional fix - the 'debug' keyword removed --- libmysqld/examples/CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libmysqld/examples/CMakeLists.txt b/libmysqld/examples/CMakeLists.txt index ca383d59b24..137dd11d28e 100644 --- a/libmysqld/examples/CMakeLists.txt +++ b/libmysqld/examples/CMakeLists.txt @@ -29,13 +29,13 @@ ADD_DEFINITIONS(-DEMBEDDED_LIBRARY) ADD_EXECUTABLE(mysql_embedded ../../client/completion_hash.cc ../../client/mysql.cc ../../client/readline.cc ../../client/sql_string.cc) -TARGET_LINK_LIBRARIES(mysql_embedded debug wsock32) +TARGET_LINK_LIBRARIES(mysql_embedded wsock32) ADD_DEPENDENCIES(mysql_embedded libmysqld) ADD_EXECUTABLE(mysqltest_embedded ../../client/mysqltest.c) -TARGET_LINK_LIBRARIES(mysqltest_embedded debug wsock32) +TARGET_LINK_LIBRARIES(mysqltest_embedded wsock32) ADD_DEPENDENCIES(mysqltest_embedded libmysqld) ADD_EXECUTABLE(mysql_client_test_embedded ../../tests/mysql_client_test.c) -TARGET_LINK_LIBRARIES(mysql_client_test_embedded debug wsock32) +TARGET_LINK_LIBRARIES(mysql_client_test_embedded wsock32) ADD_DEPENDENCIES(mysql_client_test_embedded libmysqld) From 09ac30f679146ac874acfeaac7f790fe21946f6d Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Wed, 19 Nov 2008 16:02:38 +0100 Subject: [PATCH 098/141] Bug#39494 : key_buffer_size > 4GB does not work on 64 bit Windows Cache size is truncated via 32bit ulong in ha_init_key_cache() and ha_resize_key_cache() This change fixes the cast to size_t instead of ulong. This cast is safe, because key_buffer_size parameter is limited to SIZE_T_MAX --- sql/handler.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/handler.cc b/sql/handler.cc index 6d5c0c93f75..47c2ff40119 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -3627,7 +3627,7 @@ int ha_init_key_cache(const char *name, KEY_CACHE *key_cache) if (!key_cache->key_cache_inited) { pthread_mutex_lock(&LOCK_global_system_variables); - ulong tmp_buff_size= (ulong) key_cache->param_buff_size; + size_t tmp_buff_size= (size_t) key_cache->param_buff_size; uint tmp_block_size= (uint) key_cache->param_block_size; uint division_limit= key_cache->param_division_limit; uint age_threshold= key_cache->param_age_threshold; @@ -3651,7 +3651,7 @@ int ha_resize_key_cache(KEY_CACHE *key_cache) if (key_cache->key_cache_inited) { pthread_mutex_lock(&LOCK_global_system_variables); - long tmp_buff_size= (long) key_cache->param_buff_size; + size_t tmp_buff_size= (size_t) key_cache->param_buff_size; long tmp_block_size= (long) key_cache->param_block_size; uint division_limit= key_cache->param_division_limit; uint age_threshold= key_cache->param_age_threshold; From 87c97b4785cb0634bcb0cfda81115ccf05c9b258 Mon Sep 17 00:00:00 2001 From: Matthias Leich Date: Wed, 19 Nov 2008 19:17:26 +0100 Subject: [PATCH 099/141] Fix for Bug#26890 main.multi_update times out The test itself is not faulty. The testcase timeout problem happens if this IMHO mid size resource (space in vardir, virtual memory, amount of disk I/O) consuming test meets a weak (excessive disk I/O caused by parallel applications or paging) testing box. The modifications: - Move the most time and disk I/O consuming subtest for Bug 1820 into its own script (multi_update2) This will reduce the likelihood that we exceed the testcase timeout. - Replace error numbers with error names - Minor improvements of the formatting - --- mysql-test/r/multi_update.result | 23 ----------- mysql-test/r/multi_update2.result | 25 ++++++++++++ mysql-test/t/multi_update.test | 57 ++++++--------------------- mysql-test/t/multi_update2-master.opt | 1 + mysql-test/t/multi_update2.test | 43 ++++++++++++++++++++ 5 files changed, 80 insertions(+), 69 deletions(-) create mode 100644 mysql-test/r/multi_update2.result create mode 100644 mysql-test/t/multi_update2-master.opt create mode 100644 mysql-test/t/multi_update2.test diff --git a/mysql-test/r/multi_update.result b/mysql-test/r/multi_update.result index 18394bfc88a..b85fb559e8c 100644 --- a/mysql-test/r/multi_update.result +++ b/mysql-test/r/multi_update.result @@ -378,29 +378,6 @@ where 0=1; delete t1, t2 from t2,t1 where t1.id1=t2.id2 and 0=1; drop table t1,t2; -create table t1 ( a int not null, b int not null) ; -alter table t1 add index i1(a); -delete from t1 where a > 2000000; -create table t2 like t1; -insert into t2 select * from t1; -select 't2 rows before small delete', count(*) from t1; -t2 rows before small delete count(*) -t2 rows before small delete 2000000 -delete t1,t2 from t1,t2 where t1.b=t2.a and t1.a < 2; -select 't2 rows after small delete', count(*) from t2; -t2 rows after small delete count(*) -t2 rows after small delete 1999999 -select 't1 rows after small delete', count(*) from t1; -t1 rows after small delete count(*) -t1 rows after small delete 1999999 -delete t1,t2 from t1,t2 where t1.b=t2.a and t1.a < 100*1000; -select 't2 rows after big delete', count(*) from t2; -t2 rows after big delete count(*) -t2 rows after big delete 1900001 -select 't1 rows after big delete', count(*) from t1; -t1 rows after big delete count(*) -t1 rows after big delete 1900001 -drop table t1,t2; CREATE TABLE t1 ( a int ); CREATE TABLE t2 ( a int ); DELETE t1 FROM t1, t2 AS t3; diff --git a/mysql-test/r/multi_update2.result b/mysql-test/r/multi_update2.result new file mode 100644 index 00000000000..3712e638f40 --- /dev/null +++ b/mysql-test/r/multi_update2.result @@ -0,0 +1,25 @@ +DROP TABLE IF EXISTS t1,t2; +CREATE TABLE t1 ( a INT NOT NULL, b INT NOT NULL) ; +# The protocolling of many inserts into t1 is suppressed. +ALTER TABLE t1 ADD INDEX i1(a); +DELETE FROM t1 WHERE a > 2000000; +CREATE TABLE t2 LIKE t1; +INSERT INTO t2 SELECT * FROM t1; +SELECT 't2 rows before small delete', COUNT(*) FROM t1; +t2 rows before small delete COUNT(*) +t2 rows before small delete 2000000 +DELETE t1,t2 FROM t1,t2 WHERE t1.b=t2.a AND t1.a < 2; +SELECT 't2 rows after small delete', COUNT(*) FROM t2; +t2 rows after small delete COUNT(*) +t2 rows after small delete 1999999 +SELECT 't1 rows after small delete', COUNT(*) FROM t1; +t1 rows after small delete COUNT(*) +t1 rows after small delete 1999999 +DELETE t1,t2 FROM t1,t2 WHERE t1.b=t2.a AND t1.a < 100*1000; +SELECT 't2 rows after big delete', COUNT(*) FROM t2; +t2 rows after big delete COUNT(*) +t2 rows after big delete 1900001 +SELECT 't1 rows after big delete', COUNT(*) FROM t1; +t1 rows after big delete COUNT(*) +t1 rows after big delete 1900001 +DROP TABLE t1,t2; diff --git a/mysql-test/t/multi_update.test b/mysql-test/t/multi_update.test index 37cdfcf5f26..2bb3b17340c 100644 --- a/mysql-test/t/multi_update.test +++ b/mysql-test/t/multi_update.test @@ -9,9 +9,9 @@ drop table if exists t1,t2,t3; drop database if exists mysqltest; drop view if exists v1; ---error 0,1141,1147 +--error 0,ER_NONEXISTING_GRANT,ER_NONEXISTING_TABLE_GRANT revoke all privileges on mysqltest.t1 from mysqltest_1@localhost; ---error 0,1141,1147 +--error 0,ER_NONEXISTING_GRANT,ER_NONEXISTING_TABLE_GRANT revoke all privileges on mysqltest.* from mysqltest_1@localhost; delete from mysql.user where user=_binary'mysqltest_1'; --enable_warnings @@ -159,9 +159,9 @@ create table t2 (n int(10) not null primary key, d int(10)); insert into t1 values(1,1); insert into t2 values(1,10),(2,20); LOCK TABLES t1 write, t2 read; ---error 1099 +--error ER_TABLE_NOT_LOCKED_FOR_WRITE DELETE t1.*, t2.* FROM t1,t2 where t1.n=t2.n; ---error 1099 +--error ER_TABLE_NOT_LOCKED_FOR_WRITE UPDATE t1,t2 SET t1.d=t2.d,t2.d=30 WHERE t1.n=t2.n; UPDATE t1,t2 SET t1.d=t2.d WHERE t1.n=t2.n; unlock tables; @@ -182,7 +182,7 @@ create table t1 (n int(10), d int(10)); create table t2 (n int(10), d int(10)); insert into t1 values(1,1); insert into t2 values(1,10),(2,20); ---error 1175 +--error ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE UPDATE t1,t2 SET t1.d=t2.d WHERE t1.n=t2.n; set sql_safe_updates=0; drop table t1,t2; @@ -195,7 +195,7 @@ set timestamp=1038000000; UPDATE t1,t2 SET t1.d=t2.d WHERE t1.n=t2.n; select n,d,unix_timestamp(t) from t1; select n,d,unix_timestamp(t) from t2; ---error 1064 +--error ER_PARSE_ERROR UPDATE t1,t2 SET 1=2 WHERE t1.n=t2.n; drop table t1,t2; set timestamp=0; @@ -322,41 +322,6 @@ delete t1, t2 from t2,t1 drop table t1,t2; -# -# Test for bug #1820. -# - -create table t1 ( a int not null, b int not null) ; ---disable_query_log -insert into t1 values (1,1),(2,2),(3,3),(4,4); -let $1=19; -set @d=4; -while ($1) -{ - eval insert into t1 select a+@d,b+@d from t1; - eval set @d=@d*2; - dec $1; -} - ---enable_query_log -alter table t1 add index i1(a); -delete from t1 where a > 2000000; -create table t2 like t1; -insert into t2 select * from t1; - -select 't2 rows before small delete', count(*) from t1; -delete t1,t2 from t1,t2 where t1.b=t2.a and t1.a < 2; -select 't2 rows after small delete', count(*) from t2; -select 't1 rows after small delete', count(*) from t1; - -## Try deleting many rows - -delete t1,t2 from t1,t2 where t1.b=t2.a and t1.a < 100*1000; -select 't2 rows after big delete', count(*) from t2; -select 't1 rows after big delete', count(*) from t1; - -drop table t1,t2; - # # Test alias (this is not correct in 4.0) # @@ -366,7 +331,7 @@ CREATE TABLE t2 ( a int ); DELETE t1 FROM t1, t2 AS t3; DELETE t4 FROM t1, t1 AS t4; DELETE t3 FROM t1 AS t3, t1 AS t4; ---error 1109 +--error ER_UNKNOWN_TABLE DELETE t1 FROM t1 AS t3, t2 AS t4; INSERT INTO t1 values (1),(2); INSERT INTO t2 values (1),(2); @@ -421,7 +386,7 @@ drop database mysqltest; create table t1 (a int, primary key (a)); create table t2 (a int, primary key (a)); create table t3 (a int, primary key (a)); --- error 1109 +-- error ER_UNKNOWN_TABLE delete t1,t3 from t1,t2 where t1.a=t2.a and t2.a=(select t3.a from t3 where t1.a=t3.a); drop table t1, t2, t3; @@ -430,9 +395,9 @@ drop table t1, t2, t3; # create table t1 (col1 int); create table t2 (col1 int); --- error 1093 +-- error ER_UPDATE_TABLE_USED update t1,t2 set t1.col1 = (select max(col1) from t1) where t1.col1 = t2.col1; --- error 1093 +-- error ER_UPDATE_TABLE_USED delete t1 from t1,t2 where t1.col1 < (select max(col1) from t1) and t1.col1 = t2.col1; drop table t1,t2; @@ -457,7 +422,7 @@ drop table t1, t2; # create table t1(a int); create table t2(a int); ---error 1093 +--error ER_UPDATE_TABLE_USED delete from t1,t2 using t1,t2 where t1.a=(select a from t1); drop table t1, t2; # End of 4.1 tests diff --git a/mysql-test/t/multi_update2-master.opt b/mysql-test/t/multi_update2-master.opt new file mode 100644 index 00000000000..9f1a29461ff --- /dev/null +++ b/mysql-test/t/multi_update2-master.opt @@ -0,0 +1 @@ +--set-variable=tmp_table_size=1024 diff --git a/mysql-test/t/multi_update2.test b/mysql-test/t/multi_update2.test new file mode 100644 index 00000000000..47f9bc7bad7 --- /dev/null +++ b/mysql-test/t/multi_update2.test @@ -0,0 +1,43 @@ +# +# Test of update statement that uses many tables. +# + +--disable_warnings +DROP TABLE IF EXISTS t1,t2; +--enable_warnings + +# +# Bug#1820 Rows not deleted from second table on multi-table delete +# + +CREATE TABLE t1 ( a INT NOT NULL, b INT NOT NULL) ; +--echo # The protocolling of many inserts into t1 is suppressed. +--disable_query_log +INSERT INTO t1 VALUES (1,1),(2,2),(3,3),(4,4); +let $1=19; +set @d=4; +while ($1) +{ + eval INSERT INTO t1 SELECT a+@d,b+@d FROM t1; + eval SET @d=@d*2; + dec $1; +} + +--enable_query_log +ALTER TABLE t1 ADD INDEX i1(a); +DELETE FROM t1 WHERE a > 2000000; +CREATE TABLE t2 LIKE t1; +INSERT INTO t2 SELECT * FROM t1; + +SELECT 't2 rows before small delete', COUNT(*) FROM t1; +DELETE t1,t2 FROM t1,t2 WHERE t1.b=t2.a AND t1.a < 2; +SELECT 't2 rows after small delete', COUNT(*) FROM t2; +SELECT 't1 rows after small delete', COUNT(*) FROM t1; + +## Try deleting many rows + +DELETE t1,t2 FROM t1,t2 WHERE t1.b=t2.a AND t1.a < 100*1000; +SELECT 't2 rows after big delete', COUNT(*) FROM t2; +SELECT 't1 rows after big delete', COUNT(*) FROM t1; + +DROP TABLE t1,t2; From e5ae4e2392077508248637981d3276bae8a26e72 Mon Sep 17 00:00:00 2001 From: Staale Smedseng Date: Thu, 20 Nov 2008 08:51:48 +0100 Subject: [PATCH 100/141] A fix for Bug#22891 "session level max_allowed_packet can be set but is ignored". This patch makes @@session.max_allowed_packed and @@session.net_buffer_length read-only as suggested in the bug report. The user will have to use SET GLOBAL (and reconnect) to alter the session values of these variables. The error string ER_VARIABLE_IS_READONLY is introduced. Tests are modified accordingly. sql/set_var.cc: The class sys_var_thd_ulong_session_readonly is introduced as a specialization of sys_var_thd_ulong implementing a read-only session variable. The class overrides check() and check_default() to achieve the read-only property for the session part of the variable. sql/set_var.h: The class sys_var_thd_ulong_session_readonly is introduced as a specialization of sys_var_thd_ulong implementing a read-only session variable. The class overrides check() and check_default() to achieve the read-only property for the session part of the variable. sql/share/errmsg.txt: New error ER_VARIABLE_IS_READONLY. --- mysql-test/r/func_compress.result | 2 +- mysql-test/r/max_allowed_packet_basic.result | 53 +++++++------- mysql-test/r/max_allowed_packet_func.result | 19 ++---- mysql-test/r/net_buffer_length_basic.result | 72 ++------------------ mysql-test/r/packet.result | 12 +--- mysql-test/r/union.result | 8 +-- mysql-test/r/variables.result | 47 +++++-------- mysql-test/t/func_compress.test | 5 +- mysql-test/t/innodb_bug34300.test | 4 +- mysql-test/t/max_allowed_packet_basic.test | 27 ++++++-- mysql-test/t/max_allowed_packet_func.test | 19 ++---- mysql-test/t/net_buffer_length_basic.test | 49 ++++--------- mysql-test/t/packet.test | 24 +++---- mysql-test/t/union.test | 10 ++- mysql-test/t/variables.test | 22 +++--- sql/set_var.cc | 16 ++++- sql/set_var.h | 23 +++++++ sql/share/errmsg.txt | 3 + 18 files changed, 176 insertions(+), 239 deletions(-) diff --git a/mysql-test/r/func_compress.result b/mysql-test/r/func_compress.result index 715f319198c..def03deb351 100644 --- a/mysql-test/r/func_compress.result +++ b/mysql-test/r/func_compress.result @@ -68,7 +68,7 @@ Warnings: Error 1259 ZLIB: Input data corrupted Error 1256 Uncompressed data size too large; the maximum size is 1048576 (probably, length of uncompressed data was corrupted) drop table t1; -set @@max_allowed_packet=1048576*100; +set @@global.max_allowed_packet=1048576*100; select compress(repeat('aaaaaaaaaa', IF(XXX, 10, 10000000))) is null; compress(repeat('aaaaaaaaaa', IF(XXX, 10, 10000000))) is null 0 diff --git a/mysql-test/r/max_allowed_packet_basic.result b/mysql-test/r/max_allowed_packet_basic.result index 3940cc1b2f2..0745d5a36e1 100644 --- a/mysql-test/r/max_allowed_packet_basic.result +++ b/mysql-test/r/max_allowed_packet_basic.result @@ -2,10 +2,7 @@ SET @start_global_value = @@global.max_allowed_packet; SELECT @start_global_value; @start_global_value 1048576 -SET @start_session_value = @@session.max_allowed_packet; -SELECT @start_session_value; -@start_session_value -1048576 +SET @@global.max_allowed_packet = DEFAULT; '#--------------------FN_DYNVARS_070_01-------------------------#' SET @@global.max_allowed_packet = 1000; Warnings: @@ -15,7 +12,9 @@ SELECT @@global.max_allowed_packet; @@global.max_allowed_packet 1048576 SET @@session.max_allowed_packet = 20000; +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value SET @@session.max_allowed_packet = DEFAULT; +ERROR 42000: Variable 'max_allowed_packet' doesn't have a default value SELECT @@session.max_allowed_packet; @@session.max_allowed_packet 1048576 @@ -24,10 +23,6 @@ SET @@global.max_allowed_packet = DEFAULT; SELECT @@global.max_allowed_packet = 1048576; @@global.max_allowed_packet = 1048576 1 -SET @@session.max_allowed_packet = DEFAULT; -SELECT @@session.max_allowed_packet = 1048576; -@@session.max_allowed_packet = 1048576 -1 '#--------------------FN_DYNVARS_070_03-------------------------#' SET @@global.max_allowed_packet = 1024; SELECT @@global.max_allowed_packet; @@ -48,25 +43,30 @@ SELECT @@global.max_allowed_packet; 1073740800 '#--------------------FN_DYNVARS_070_04-------------------------#' SET @@session.max_allowed_packet = 1024; +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value SELECT @@session.max_allowed_packet; @@session.max_allowed_packet -1024 +1048576 SET @@session.max_allowed_packet = 1025; +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value SELECT @@session.max_allowed_packet; @@session.max_allowed_packet -1024 +1048576 SET @@session.max_allowed_packet = 65535; +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value SELECT @@session.max_allowed_packet; @@session.max_allowed_packet -64512 +1048576 SET @@session.max_allowed_packet = 1073741824; +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value SELECT @@session.max_allowed_packet; @@session.max_allowed_packet -1073741824 +1048576 SET @@session.max_allowed_packet = 1073741823; +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value SELECT @@session.max_allowed_packet; @@session.max_allowed_packet -1073740800 +1048576 '#------------------FN_DYNVARS_070_05-----------------------#' SET @@global.max_allowed_packet = 0; Warnings: @@ -103,37 +103,33 @@ SELECT @@global.max_allowed_packet; @@global.max_allowed_packet 1073741824 SET @@session.max_allowed_packet = 0; -Warnings: -Warning 1292 Truncated incorrect max_allowed_packet value: '0' +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value SELECT @@session.max_allowed_packet; @@session.max_allowed_packet -1024 +1048576 SET @@session.max_allowed_packet = 1023; -Warnings: -Warning 1292 Truncated incorrect max_allowed_packet value: '1023' +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value SELECT @@session.max_allowed_packet; @@session.max_allowed_packet -1024 +1048576 SET @@session.max_allowed_packet = -2; -Warnings: -Warning 1292 Truncated incorrect max_allowed_packet value: '0' +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value SELECT @@session.max_allowed_packet; @@session.max_allowed_packet -1024 +1048576 SET @@session.max_allowed_packet = 65530.34.; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 SET @@session.max_allowed_packet = 10737418241; -Warnings: -Warning 1292 Truncated incorrect max_allowed_packet value: '10737418241' +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value SELECT @@session.max_allowed_packet; @@session.max_allowed_packet -1073741824 +1048576 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; SET @@session.max_allowed_packet = test; ERROR 42000: Incorrect argument type to variable 'max_allowed_packet' SELECT @@session.max_allowed_packet; @@session.max_allowed_packet -1073741824 +1048576 '#------------------FN_DYNVARS_070_06-----------------------#' SELECT @@global.max_allowed_packet = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES @@ -166,6 +162,7 @@ SELECT @@max_allowed_packet = @@global.max_allowed_packet; 0 '#---------------------FN_DYNVARS_070_10----------------------#' SET @@max_allowed_packet = 100000; +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value SELECT @@max_allowed_packet = @@local.max_allowed_packet; @@max_allowed_packet = @@local.max_allowed_packet 1 @@ -174,9 +171,10 @@ SELECT @@local.max_allowed_packet = @@session.max_allowed_packet; 1 '#---------------------FN_DYNVARS_070_11----------------------#' SET max_allowed_packet = 1024; +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value SELECT @@max_allowed_packet; @@max_allowed_packet -1024 +1048576 SELECT local.max_allowed_packet; ERROR 42S02: Unknown table 'local' in field list SELECT session.max_allowed_packet; @@ -187,7 +185,6 @@ SET @@global.max_allowed_packet = @start_global_value; SELECT @@global.max_allowed_packet; @@global.max_allowed_packet 1048576 -SET @@session.max_allowed_packet = @start_session_value; SELECT @@session.max_allowed_packet; @@session.max_allowed_packet 1048576 diff --git a/mysql-test/r/max_allowed_packet_func.result b/mysql-test/r/max_allowed_packet_func.result index 9e44bcfb7b1..43da24fa280 100644 --- a/mysql-test/r/max_allowed_packet_func.result +++ b/mysql-test/r/max_allowed_packet_func.result @@ -10,24 +10,15 @@ name BLOB '#--------------------FN_DYNVARS_070_01-------------------------#' ## Setting value of max_allowed packet and net_buffer_length to 1024 ## SET @@session.max_allowed_packet = 1024; -SET @@session.net_buffer_length = 1024; +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value SELECT @@session.max_allowed_packet; @@session.max_allowed_packet -1024 +1048576 +SET @@session.net_buffer_length = 1024; +ERROR HY000: SESSION variable 'net_buffer_length' is read-only. Use SET GLOBAL to assign the value SELECT @@session.net_buffer_length; @@session.net_buffer_length -1024 -## Inserting and fetching data of length greater than 1024 ## -INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); -SELECT length("aaaaaasssssssssssdddddddfffffgggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk") as len; -len -1470 -## Verifying record in table t1 ## -SELECT * from t1; -id name -1 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk -'Bug#35381: Error is not coming on inserting and fetching data of length' -'greater than max_allowed_packet size at session level'; +16384 '#--------------------FN_DYNVARS_070_02-------------------------#' ## Setting value of max_allowed packet and net_buffer_length to 1024 ## SET @@global.max_allowed_packet = 1024; diff --git a/mysql-test/r/net_buffer_length_basic.result b/mysql-test/r/net_buffer_length_basic.result index ddaad3dfa91..be7e9082332 100644 --- a/mysql-test/r/net_buffer_length_basic.result +++ b/mysql-test/r/net_buffer_length_basic.result @@ -1,5 +1,5 @@ SET @start_global_value = @@global.net_buffer_length; -SET @start_session_value = @@session.net_buffer_length; +SET @@global.net_buffer_length = DEFAULT; '#--------------------FN_DYNVARS_109_01-------------------------#' SET @@global.net_buffer_length = 10000; SET @@global.net_buffer_length = DEFAULT; @@ -7,7 +7,9 @@ SELECT @@global.net_buffer_length; @@global.net_buffer_length 16384 SET @@session.net_buffer_length = 20000; +ERROR HY000: SESSION variable 'net_buffer_length' is read-only. Use SET GLOBAL to assign the value SET @@session.net_buffer_length = DEFAULT; +ERROR 42000: Variable 'net_buffer_length' doesn't have a default value SELECT @@session.net_buffer_length; @@session.net_buffer_length 16384 @@ -16,10 +18,6 @@ SET @@global.net_buffer_length = DEFAULT; SELECT @@global.net_buffer_length = 16384; @@global.net_buffer_length = 16384 1 -SET @@session.net_buffer_length = DEFAULT; -SELECT @@session.net_buffer_length = 16384; -@@session.net_buffer_length = 16384 -1 '#--------------------FN_DYNVARS_109_03-------------------------#' SET @@global.net_buffer_length = 1024; SELECT @@global.net_buffer_length; @@ -43,27 +41,6 @@ SELECT @@global.net_buffer_length; 64512 'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; '#--------------------FN_DYNVARS_109_04-------------------------#' -SET @@session.net_buffer_length = 1024; -SELECT @@session.net_buffer_length; -@@session.net_buffer_length -1024 -SET @@session.net_buffer_length = 1025; -SELECT @@session.net_buffer_length; -@@session.net_buffer_length -1024 -SET @@session.net_buffer_length = 1048576; -SELECT @@session.net_buffer_length; -@@session.net_buffer_length -1048576 -SET @@session.net_buffer_length = 1048575; -SELECT @@session.net_buffer_length; -@@session.net_buffer_length -1047552 -SET @@session.net_buffer_length = 65535; -SELECT @@session.net_buffer_length; -@@session.net_buffer_length -64512 -'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; '#------------------FN_DYNVARS_109_05-----------------------#' SET @@global.net_buffer_length = 0; Warnings: @@ -105,42 +82,12 @@ ERROR 42000: Incorrect argument type to variable 'net_buffer_length' SELECT @@global.net_buffer_length; @@global.net_buffer_length 1048576 -SET @@session.net_buffer_length = 0; -Warnings: -Warning 1292 Truncated incorrect net_buffer_length value: '0' -SELECT @@session.net_buffer_length; -@@session.net_buffer_length -1024 -SET @@session.net_buffer_length = -2; -Warnings: -Warning 1292 Truncated incorrect net_buffer_length value: '0' -SELECT @@session.net_buffer_length; -@@session.net_buffer_length -1024 -SET @@session.net_buffer_length = 1048577; -Warnings: -Warning 1292 Truncated incorrect net_buffer_length value: '1048577' -SELECT @@session.net_buffer_length; -@@session.net_buffer_length -1048576 -SET @@session.net_buffer_length = 1048576002; -Warnings: -Warning 1292 Truncated incorrect net_buffer_length value: '1048576002' -SELECT @@session.net_buffer_length; -@@session.net_buffer_length -1048576 -SET @@session.net_buffer_length = 65530.34.; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 -SET @@session.net_buffer_length = 65550; -SELECT @@session.net_buffer_length; -@@session.net_buffer_length -65536 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; SET @@session.net_buffer_length = test; ERROR 42000: Incorrect argument type to variable 'net_buffer_length' SELECT @@session.net_buffer_length; @@session.net_buffer_length -65536 +16384 '#------------------FN_DYNVARS_109_06-----------------------#' SELECT @@global.net_buffer_length = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES @@ -172,18 +119,10 @@ SELECT @@net_buffer_length = @@global.net_buffer_length; @@net_buffer_length = @@global.net_buffer_length 0 '#---------------------FN_DYNVARS_109_10----------------------#' -SET @@net_buffer_length = 100000; -SELECT @@net_buffer_length = @@local.net_buffer_length; -@@net_buffer_length = @@local.net_buffer_length -1 -SELECT @@local.net_buffer_length = @@session.net_buffer_length; -@@local.net_buffer_length = @@session.net_buffer_length -1 '#---------------------FN_DYNVARS_109_11----------------------#' -SET net_buffer_length = 1024; SELECT @@net_buffer_length; @@net_buffer_length -1024 +16384 SELECT local.net_buffer_length; ERROR 42S02: Unknown table 'local' in field list SELECT session.net_buffer_length; @@ -191,4 +130,3 @@ ERROR 42S02: Unknown table 'session' in field list SELECT net_buffer_length = @@session.net_buffer_length; ERROR 42S22: Unknown column 'net_buffer_length' in 'field list' SET @@global.net_buffer_length = @start_global_value; -SET @@session.net_buffer_length = @start_session_value; diff --git a/mysql-test/r/packet.result b/mysql-test/r/packet.result index df0d9ff9adc..fa2fb33d278 100644 --- a/mysql-test/r/packet.result +++ b/mysql-test/r/packet.result @@ -1,32 +1,22 @@ set global max_allowed_packet=100; Warnings: Warning 1292 Truncated incorrect max_allowed_packet value: '100' -set max_allowed_packet=100; -Warnings: -Warning 1292 Truncated incorrect max_allowed_packet value: '100' set global net_buffer_length=100; Warnings: Warning 1292 Truncated incorrect net_buffer_length value: '100' -set net_buffer_length=100; -Warnings: -Warning 1292 Truncated incorrect net_buffer_length value: '100' SELECT length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") as len; len 1024 select repeat('a',2000); repeat('a',2000) -NULL -Warnings: -Warning 1301 Result of repeat() was larger than max_allowed_packet (1024) - truncated +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa select @@net_buffer_length, @@max_allowed_packet; @@net_buffer_length @@max_allowed_packet 1024 1024 SELECT length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") as len; ERROR 08S01: Got a packet bigger than 'max_allowed_packet' bytes set global max_allowed_packet=default; -set max_allowed_packet=default; set global net_buffer_length=default; -set net_buffer_length=default; SELECT length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") as len; len 100 diff --git a/mysql-test/r/union.result b/mysql-test/r/union.result index 3f99a053df4..2a10f34d081 100644 --- a/mysql-test/r/union.result +++ b/mysql-test/r/union.result @@ -1343,10 +1343,10 @@ t3 CREATE TABLE `t3` ( `left(a,100000000)` longtext ) ENGINE=MyISAM DEFAULT CHARSET=latin1 drop tables t1,t2,t3; -SELECT @tmp_max:= @@max_allowed_packet; -@tmp_max:= @@max_allowed_packet +SELECT @tmp_max:= @@global.max_allowed_packet; +@tmp_max:= @@global.max_allowed_packet 1048576 -SET max_allowed_packet=25000000; +SET @@global.max_allowed_packet=25000000; CREATE TABLE t1 (a mediumtext); CREATE TABLE t2 (b varchar(20)); INSERT INTO t1 VALUES ('a'); @@ -1384,7 +1384,7 @@ t3 CREATE TABLE `t3` ( `a` varbinary(510) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DROP TABLES t1,t2,t3; -SET max_allowed_packet:= @tmp_max; +SET @@global.max_allowed_packet:= @tmp_max; create table t1 ( id int not null auto_increment, primary key (id), col1 int); insert into t1 (col1) values (2),(3),(4),(5),(6); select 99 union all select id from t1 order by 1; diff --git a/mysql-test/r/variables.result b/mysql-test/r/variables.result index aee84c98e4f..c52f7f3578e 100644 --- a/mysql-test/r/variables.result +++ b/mysql-test/r/variables.result @@ -228,7 +228,6 @@ VARIABLE_NAME VARIABLE_VALUE MYISAM_MAX_SORT_FILE_SIZE FILE_SIZE set global net_retry_count=10, session net_retry_count=10; set global net_buffer_length=1024, net_write_timeout=200, net_read_timeout=300; -set session net_buffer_length=2048, net_write_timeout=500, net_read_timeout=600; show global variables like 'net_%'; Variable_name Value net_buffer_length 1024 @@ -243,57 +242,45 @@ NET_RETRY_COUNT 10 NET_WRITE_TIMEOUT 200 show session variables like 'net_%'; Variable_name Value -net_buffer_length 2048 -net_read_timeout 600 +net_buffer_length 16384 +net_read_timeout 30 net_retry_count 10 -net_write_timeout 500 +net_write_timeout 60 select * from information_schema.session_variables where variable_name like 'net_%' order by 1; VARIABLE_NAME VARIABLE_VALUE -NET_BUFFER_LENGTH 2048 -NET_READ_TIMEOUT 600 +NET_BUFFER_LENGTH 16384 +NET_READ_TIMEOUT 30 NET_RETRY_COUNT 10 -NET_WRITE_TIMEOUT 500 -set session net_buffer_length=8000, global net_read_timeout=900, net_write_timeout=1000; +NET_WRITE_TIMEOUT 60 +set global net_buffer_length=8000, global net_read_timeout=900, net_write_timeout=1000; show global variables like 'net_%'; Variable_name Value -net_buffer_length 1024 +net_buffer_length 7168 net_read_timeout 900 net_retry_count 10 net_write_timeout 1000 select * from information_schema.global_variables where variable_name like 'net_%' order by 1; VARIABLE_NAME VARIABLE_VALUE -NET_BUFFER_LENGTH 1024 +NET_BUFFER_LENGTH 7168 NET_READ_TIMEOUT 900 NET_RETRY_COUNT 10 NET_WRITE_TIMEOUT 1000 -show session variables like 'net_%'; -Variable_name Value -net_buffer_length 7168 -net_read_timeout 600 -net_retry_count 10 -net_write_timeout 500 -select * from information_schema.session_variables where variable_name like 'net_%' order by 1; -VARIABLE_NAME VARIABLE_VALUE -NET_BUFFER_LENGTH 7168 -NET_READ_TIMEOUT 600 -NET_RETRY_COUNT 10 -NET_WRITE_TIMEOUT 500 -set net_buffer_length=1; +set global net_buffer_length=1; Warnings: Warning 1292 Truncated incorrect net_buffer_length value: '1' -show variables like 'net_buffer_length'; +show global variables like 'net_buffer_length'; Variable_name Value net_buffer_length 1024 -select * from information_schema.session_variables where variable_name like 'net_buffer_length'; +select * from information_schema.global_variables where variable_name like 'net_buffer_length'; VARIABLE_NAME VARIABLE_VALUE NET_BUFFER_LENGTH 1024 -set net_buffer_length=2000000000; +set global net_buffer_length=2000000000; Warnings: Warning 1292 Truncated incorrect net_buffer_length value: '2000000000' -show variables like 'net_buffer_length'; +show global variables like 'net_buffer_length'; Variable_name Value net_buffer_length 1048576 -select * from information_schema.session_variables where variable_name like 'net_buffer_length'; +select * from information_schema.global_variables where variable_name like 'net_buffer_length'; VARIABLE_NAME VARIABLE_VALUE NET_BUFFER_LENGTH 1048576 set character set cp1251_koi8; @@ -461,7 +448,7 @@ select @@long_query_time; @@long_query_time 100.000001 set low_priority_updates=1; -set max_allowed_packet=100; +set global max_allowed_packet=100; Warnings: Warning 1292 Truncated incorrect max_allowed_packet value: '100' set global max_binlog_cache_size=100; @@ -485,7 +472,7 @@ select @@max_user_connections; 100 set global max_write_lock_count=100; set myisam_sort_buffer_size=100; -set net_buffer_length=100; +set global net_buffer_length=100; Warnings: Warning 1292 Truncated incorrect net_buffer_length value: '100' set net_read_timeout=100; diff --git a/mysql-test/t/func_compress.test b/mysql-test/t/func_compress.test index 68f07f258bf..7f17fd2180f 100644 --- a/mysql-test/t/func_compress.test +++ b/mysql-test/t/func_compress.test @@ -43,8 +43,11 @@ drop table t1; # note that when LOW_MEMORY is set the "test" below is meaningless # -set @@max_allowed_packet=1048576*100; +set @@global.max_allowed_packet=1048576*100; --replace_result "''" XXX "'1'" XXX + +# reconnect to make the new max packet size take effect +--connect (newconn, localhost, root,,) eval select compress(repeat('aaaaaaaaaa', IF('$LOW_MEMORY', 10, 10000000))) is null; # diff --git a/mysql-test/t/innodb_bug34300.test b/mysql-test/t/innodb_bug34300.test index 4b4a3fdc8a3..114bcf98c25 100644 --- a/mysql-test/t/innodb_bug34300.test +++ b/mysql-test/t/innodb_bug34300.test @@ -8,7 +8,9 @@ -- disable_query_log -- disable_result_log -SET @@max_allowed_packet=16777216; +# set packet size and reconnect +SET @@global.max_allowed_packet=16777216; +--connect (newconn, localhost, root,,) DROP TABLE IF EXISTS bug34300; CREATE TABLE bug34300 ( diff --git a/mysql-test/t/max_allowed_packet_basic.test b/mysql-test/t/max_allowed_packet_basic.test index beb9b62d6de..8be0e5f670e 100644 --- a/mysql-test/t/max_allowed_packet_basic.test +++ b/mysql-test/t/max_allowed_packet_basic.test @@ -36,8 +36,13 @@ SET @start_global_value = @@global.max_allowed_packet; SELECT @start_global_value; -SET @start_session_value = @@session.max_allowed_packet; -SELECT @start_session_value; + +# give a known value to @@session.max_allowed_packet by assigning to +# @@global and setting up a new connection (for deterministic result +# file diffing) +SET @@global.max_allowed_packet = DEFAULT; +connect (conn1, localhost, root,,); + --echo '#--------------------FN_DYNVARS_070_01-------------------------#' @@ -49,7 +54,9 @@ SET @@global.max_allowed_packet = 1000; SET @@global.max_allowed_packet = DEFAULT; SELECT @@global.max_allowed_packet; +--Error ER_VARIABLE_IS_READONLY SET @@session.max_allowed_packet = 20000; +--Error ER_NO_DEFAULT SET @@session.max_allowed_packet = DEFAULT; SELECT @@session.max_allowed_packet; @@ -62,9 +69,6 @@ SELECT @@session.max_allowed_packet; SET @@global.max_allowed_packet = DEFAULT; SELECT @@global.max_allowed_packet = 1048576; -SET @@session.max_allowed_packet = DEFAULT; -SELECT @@session.max_allowed_packet = 1048576; - --echo '#--------------------FN_DYNVARS_070_03-------------------------#' ############################################################################ @@ -86,14 +90,19 @@ SELECT @@global.max_allowed_packet; # Change the value of max_allowed_packet to a valid value for SESSION Scope # ############################################################################# +--Error ER_VARIABLE_IS_READONLY SET @@session.max_allowed_packet = 1024; SELECT @@session.max_allowed_packet; +--Error ER_VARIABLE_IS_READONLY SET @@session.max_allowed_packet = 1025; SELECT @@session.max_allowed_packet; +--Error ER_VARIABLE_IS_READONLY SET @@session.max_allowed_packet = 65535; SELECT @@session.max_allowed_packet; +--Error ER_VARIABLE_IS_READONLY SET @@session.max_allowed_packet = 1073741824; SELECT @@session.max_allowed_packet; +--Error ER_VARIABLE_IS_READONLY SET @@session.max_allowed_packet = 1073741823; SELECT @@session.max_allowed_packet; @@ -118,14 +127,18 @@ SELECT @@global.max_allowed_packet; SET @@global.max_allowed_packet = test; SELECT @@global.max_allowed_packet; +--Error ER_VARIABLE_IS_READONLY SET @@session.max_allowed_packet = 0; SELECT @@session.max_allowed_packet; +--Error ER_VARIABLE_IS_READONLY SET @@session.max_allowed_packet = 1023; SELECT @@session.max_allowed_packet; +--Error ER_VARIABLE_IS_READONLY SET @@session.max_allowed_packet = -2; SELECT @@session.max_allowed_packet; --Error ER_PARSE_ERROR SET @@session.max_allowed_packet = 65530.34.; +--Error ER_VARIABLE_IS_READONLY SET @@session.max_allowed_packet = 10737418241; SELECT @@session.max_allowed_packet; --echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; @@ -180,6 +193,7 @@ SELECT @@max_allowed_packet = @@global.max_allowed_packet; # Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # ######################################################################################################## +--Error ER_VARIABLE_IS_READONLY SET @@max_allowed_packet = 100000; SELECT @@max_allowed_packet = @@local.max_allowed_packet; SELECT @@local.max_allowed_packet = @@session.max_allowed_packet; @@ -190,6 +204,7 @@ SELECT @@local.max_allowed_packet = @@session.max_allowed_packet; # Check if max_allowed_packet can be accessed with and without @@ sign # ############################################################################# +--Error ER_VARIABLE_IS_READONLY SET max_allowed_packet = 1024; SELECT @@max_allowed_packet; --Error ER_UNKNOWN_TABLE @@ -204,9 +219,9 @@ SELECT max_allowed_packet = @@session.max_allowed_packet; # Restore initial value # #################################### +connection default; SET @@global.max_allowed_packet = @start_global_value; SELECT @@global.max_allowed_packet; -SET @@session.max_allowed_packet = @start_session_value; SELECT @@session.max_allowed_packet; diff --git a/mysql-test/t/max_allowed_packet_func.test b/mysql-test/t/max_allowed_packet_func.test index 37ca15f85f0..8437d480a37 100644 --- a/mysql-test/t/max_allowed_packet_func.test +++ b/mysql-test/t/max_allowed_packet_func.test @@ -43,26 +43,19 @@ name BLOB --echo '#--------------------FN_DYNVARS_070_01-------------------------#' ############################################################################### -# Setting initial value of max_allowed_packet to 1024 at session level and -# verifying its behavior after inserting data greater than 1024 bytes +# Setting initial value of max_allowed_packet to 1024 at session level +# should result in an error (session variable is readonly) ############################################################################### --echo ## Setting value of max_allowed packet and net_buffer_length to 1024 ## +--error ER_VARIABLE_IS_READONLY SET @@session.max_allowed_packet = 1024; -SET @@session.net_buffer_length = 1024; SELECT @@session.max_allowed_packet; + +--error ER_VARIABLE_IS_READONLY +SET @@session.net_buffer_length = 1024; SELECT @@session.net_buffer_length; ---echo ## Inserting and fetching data of length greater than 1024 ## -INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); - -SELECT length("aaaaaasssssssssssdddddddfffffgggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk") as len; - ---echo ## Verifying record in table t1 ## -SELECT * from t1; - ---echo 'Bug#35381: Error is not coming on inserting and fetching data of length' ---echo 'greater than max_allowed_packet size at session level'; --echo '#--------------------FN_DYNVARS_070_02-------------------------#' ############################################################################### diff --git a/mysql-test/t/net_buffer_length_basic.test b/mysql-test/t/net_buffer_length_basic.test index 80403bfec2b..6e1e0559c61 100644 --- a/mysql-test/t/net_buffer_length_basic.test +++ b/mysql-test/t/net_buffer_length_basic.test @@ -38,9 +38,13 @@ SET @start_global_value = @@global.net_buffer_length; # Due to differences in results of linux and windows #SELECT @start_global_value; -SET @start_session_value = @@session.net_buffer_length; -#SELECT @start_session_value; +# give a known value to @@session.net_buffer_length by assigning to +# @@global and setting up a new connection (for deterministic result +# file diffing) +SET @@global.net_buffer_length = DEFAULT; +connect(con1,localhost,root,,); +connection con1; --echo '#--------------------FN_DYNVARS_109_01-------------------------#' ################################################################# @@ -51,7 +55,9 @@ SET @@global.net_buffer_length = 10000; SET @@global.net_buffer_length = DEFAULT; SELECT @@global.net_buffer_length; +--Error ER_VARIABLE_IS_READONLY SET @@session.net_buffer_length = 20000; +--Error ER_NO_DEFAULT SET @@session.net_buffer_length = DEFAULT; SELECT @@session.net_buffer_length; @@ -64,9 +70,6 @@ SELECT @@session.net_buffer_length; SET @@global.net_buffer_length = DEFAULT; SELECT @@global.net_buffer_length = 16384; -SET @@session.net_buffer_length = DEFAULT; -SELECT @@session.net_buffer_length = 16384; - --echo '#--------------------FN_DYNVARS_109_03-------------------------#' ########################################################################### @@ -91,17 +94,7 @@ SELECT @@global.net_buffer_length; # Change the value of net_buffer_length to a valid value for SESSION Scope # ############################################################################ -SET @@session.net_buffer_length = 1024; -SELECT @@session.net_buffer_length; -SET @@session.net_buffer_length = 1025; -SELECT @@session.net_buffer_length; -SET @@session.net_buffer_length = 1048576; -SELECT @@session.net_buffer_length; -SET @@session.net_buffer_length = 1048575; -SELECT @@session.net_buffer_length; -SET @@session.net_buffer_length = 65535; -SELECT @@session.net_buffer_length; ---echo 'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +# Bug#22891: SESSION net_buffer_length is now read-only; assignments skipped --echo '#------------------FN_DYNVARS_109_05-----------------------#' @@ -126,18 +119,8 @@ SELECT @@global.net_buffer_length; SET @@global.net_buffer_length = test; SELECT @@global.net_buffer_length; -SET @@session.net_buffer_length = 0; -SELECT @@session.net_buffer_length; -SET @@session.net_buffer_length = -2; -SELECT @@session.net_buffer_length; -SET @@session.net_buffer_length = 1048577; -SELECT @@session.net_buffer_length; -SET @@session.net_buffer_length = 1048576002; -SELECT @@session.net_buffer_length; ---Error ER_PARSE_ERROR -SET @@session.net_buffer_length = 65530.34.; -SET @@session.net_buffer_length = 65550; -SELECT @@session.net_buffer_length; +# Bug#22891: SESSION net_buffer_length is now read-only; assignments skipped + --echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; --Error ER_WRONG_TYPE_FOR_VAR @@ -190,9 +173,7 @@ SELECT @@net_buffer_length = @@global.net_buffer_length; # Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # ######################################################################################################## -SET @@net_buffer_length = 100000; -SELECT @@net_buffer_length = @@local.net_buffer_length; -SELECT @@local.net_buffer_length = @@session.net_buffer_length; +# Bug#22891: SESSION net_buffer_length is now read-only; assignments skipped --echo '#---------------------FN_DYNVARS_109_11----------------------#' @@ -200,7 +181,7 @@ SELECT @@local.net_buffer_length = @@session.net_buffer_length; # Check if net_buffer_length can be accessed with and without @@ sign # ############################################################################ -SET net_buffer_length = 1024; +# Bug#22891: SESSION net_buffer_length is now read-only; assignments skipped SELECT @@net_buffer_length; --Error ER_UNKNOWN_TABLE SELECT local.net_buffer_length; @@ -214,11 +195,11 @@ SELECT net_buffer_length = @@session.net_buffer_length; # Restore initial value # #################################### +connection default; + SET @@global.net_buffer_length = @start_global_value; # Due to differences in results of linux and windows #SELECT @@global.net_buffer_length; -SET @@session.net_buffer_length = @start_session_value; -#SELECT @@session.net_buffer_length; ###################################################### diff --git a/mysql-test/t/packet.test b/mysql-test/t/packet.test index 4de284b7824..93b46766d99 100644 --- a/mysql-test/t/packet.test +++ b/mysql-test/t/packet.test @@ -8,30 +8,30 @@ # Check protocol handling # -connect (con1,localhost,root,,); - -connection con1; +# setting values below minimum threshold of 1024 will cause truncating set global max_allowed_packet=100; -set max_allowed_packet=100; set global net_buffer_length=100; -set net_buffer_length=100; -# Have to be > 1024 as min value of net_buffer_length is 1024 + +# is not yet in effect SELECT length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") as len; -# Should return NULL as 2000 is bigger than max_allowed_packet select repeat('a',2000); # -# Connection 2 should get error for too big packets +# Connection 1 should get error for too big packets # -connect (con2,localhost,root,,); -connection con2; +connect (con1,localhost,root,,); +connection con1; select @@net_buffer_length, @@max_allowed_packet; --error 1153 SELECT length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") as len; + +# +# Reset to default values and reconnect +# set global max_allowed_packet=default; -set max_allowed_packet=default; set global net_buffer_length=default; -set net_buffer_length=default; +connect (con2,localhost,root,,); +connection con2; SELECT length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") as len; select length(repeat('a',2000)); diff --git a/mysql-test/t/union.test b/mysql-test/t/union.test index f58cd54250b..ad4d57b7128 100644 --- a/mysql-test/t/union.test +++ b/mysql-test/t/union.test @@ -861,8 +861,10 @@ drop tables t1,t2,t3; # exceeds mediumtext maximum length # -SELECT @tmp_max:= @@max_allowed_packet; -SET max_allowed_packet=25000000; +SELECT @tmp_max:= @@global.max_allowed_packet; +SET @@global.max_allowed_packet=25000000; +# switching connection to allow the new max_allowed_packet take effect +--connect (newconn, localhost, root,,) CREATE TABLE t1 (a mediumtext); CREATE TABLE t2 (b varchar(20)); INSERT INTO t1 VALUES ('a'); @@ -884,7 +886,9 @@ INSERT INTO t1 VALUES ('a'); CREATE TABLE t3 SELECT REPEAT(a,2) AS a FROM t1 UNION SELECT b FROM t2; SHOW CREATE TABLE t3; DROP TABLES t1,t2,t3; -SET max_allowed_packet:= @tmp_max; +--connection default +SET @@global.max_allowed_packet:= @tmp_max; +--disconnect newconn # # Bug #10032 Bug in parsing UNION with ORDER BY when one node does not use FROM diff --git a/mysql-test/t/variables.test b/mysql-test/t/variables.test index 221f46605cd..e98436fa62c 100644 --- a/mysql-test/t/variables.test +++ b/mysql-test/t/variables.test @@ -146,25 +146,23 @@ show global variables like 'myisam_max_sort_file_size'; --replace_result 9223372036853727232 FILE_SIZE 2146435072 FILE_SIZE select * from information_schema.global_variables where variable_name like 'myisam_max_sort_file_size'; +# bug#22891: modified to take read-only SESSION net_buffer_length into account set global net_retry_count=10, session net_retry_count=10; set global net_buffer_length=1024, net_write_timeout=200, net_read_timeout=300; -set session net_buffer_length=2048, net_write_timeout=500, net_read_timeout=600; show global variables like 'net_%'; select * from information_schema.global_variables where variable_name like 'net_%' order by 1; show session variables like 'net_%'; select * from information_schema.session_variables where variable_name like 'net_%' order by 1; -set session net_buffer_length=8000, global net_read_timeout=900, net_write_timeout=1000; +set global net_buffer_length=8000, global net_read_timeout=900, net_write_timeout=1000; show global variables like 'net_%'; select * from information_schema.global_variables where variable_name like 'net_%' order by 1; -show session variables like 'net_%'; -select * from information_schema.session_variables where variable_name like 'net_%' order by 1; -set net_buffer_length=1; -show variables like 'net_buffer_length'; -select * from information_schema.session_variables where variable_name like 'net_buffer_length'; +set global net_buffer_length=1; +show global variables like 'net_buffer_length'; +select * from information_schema.global_variables where variable_name like 'net_buffer_length'; #warning 1292 -set net_buffer_length=2000000000; -show variables like 'net_buffer_length'; -select * from information_schema.session_variables where variable_name like 'net_buffer_length'; +set global net_buffer_length=2000000000; +show global variables like 'net_buffer_length'; +select * from information_schema.global_variables where variable_name like 'net_buffer_length'; set character set cp1251_koi8; show variables like "character_set_client"; @@ -274,7 +272,7 @@ select @@long_query_time; set long_query_time=100.000001; select @@long_query_time; set low_priority_updates=1; -set max_allowed_packet=100; +set global max_allowed_packet=100; set global max_binlog_cache_size=100; set global max_binlog_size=100; set global max_connect_errors=100; @@ -288,7 +286,7 @@ set global max_user_connections=100; select @@max_user_connections; set global max_write_lock_count=100; set myisam_sort_buffer_size=100; -set net_buffer_length=100; +set global net_buffer_length=100; set net_read_timeout=100; set net_write_timeout=100; set global query_cache_limit=100; diff --git a/sql/set_var.cc b/sql/set_var.cc index 3e15cce2cea..7d1acc8e4fb 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -296,7 +296,7 @@ static sys_var_thd_bool sys_sql_low_priority_updates(&vars, "sql_low_priority_up &SV::low_priority_updates, fix_low_priority_updates); #endif -static sys_var_thd_ulong sys_max_allowed_packet(&vars, "max_allowed_packet", +static sys_var_thd_ulong_session_readonly sys_max_allowed_packet(&vars, "max_allowed_packet", &SV::max_allowed_packet); static sys_var_long_ptr sys_max_binlog_cache_size(&vars, "max_binlog_cache_size", &max_binlog_cache_size); @@ -369,7 +369,7 @@ static sys_var_thd_enum sys_myisam_stats_method(&vars, "myisam_stats_met &myisam_stats_method_typelib, NULL); -static sys_var_thd_ulong sys_net_buffer_length(&vars, "net_buffer_length", +static sys_var_thd_ulong_session_readonly sys_net_buffer_length(&vars, "net_buffer_length", &SV::net_buffer_length); static sys_var_thd_ulong sys_net_read_timeout(&vars, "net_read_timeout", &SV::net_read_timeout, @@ -2734,6 +2734,18 @@ uchar *sys_var_max_user_conn::value_ptr(THD *thd, enum_var_type type, } +bool sys_var_thd_ulong_session_readonly::check(THD *thd, set_var *var) +{ + if (var->type != OPT_GLOBAL) + { + my_error(ER_VARIABLE_IS_READONLY, MYF(0), "SESSION", name, "GLOBAL"); + return TRUE; + } + + return sys_var_thd_ulong::check(thd, var); +} + + bool sys_var_thd_lc_time_names::check(THD *thd, set_var *var) { MY_LOCALE *locale_match; diff --git a/sql/set_var.h b/sql/set_var.h index 9681c955a98..ab819694e09 100644 --- a/sql/set_var.h +++ b/sql/set_var.h @@ -1024,6 +1024,29 @@ public: }; +/** + * @brief This is a specialization of sys_var_thd_ulong that implements a + read-only session variable. The class overrides check() and check_default() + to achieve the read-only property for the session part of the variable. + */ +class sys_var_thd_ulong_session_readonly : public sys_var_thd_ulong +{ +public: + sys_var_thd_ulong_session_readonly(sys_var_chain *chain_arg, + const char *name_arg, ulong SV::*offset_arg, + sys_check_func c_func= NULL, + sys_after_update_func au_func= NULL, + Binlog_status_enum bl_status_arg= NOT_IN_BINLOG): + sys_var_thd_ulong(chain_arg, name_arg, offset_arg, c_func, au_func, bl_status_arg) + { } + bool check(THD *thd, set_var *var); + bool check_default(enum_var_type type) + { + return type != OPT_GLOBAL || !option_limits; + } +}; + + class sys_var_microseconds :public sys_var_thd { ulonglong SV::*offset; diff --git a/sql/share/errmsg.txt b/sql/share/errmsg.txt index b86007408fb..fd75fee9737 100644 --- a/sql/share/errmsg.txt +++ b/sql/share/errmsg.txt @@ -6151,3 +6151,6 @@ WARN_PLUGIN_DELETE_BUILTIN WARN_PLUGIN_BUSY eng "Plugin is busy and will be uninstalled on shutdown" + +ER_VARIABLE_IS_READONLY + eng "%s variable '%s' is read-only. Use SET %s to assign the value" From 1cd8b9f700a3d20e0af43896b366cef6ef0e7d4c Mon Sep 17 00:00:00 2001 From: Ramil Kalimullin Date: Thu, 20 Nov 2008 14:08:36 +0400 Subject: [PATCH 101/141] Fix for bug#40875: Memory leak in FEDERATED handler Problem: memory leak occurs when we open a federated table that has its share in the hash. Fix: free not used memory. Note: the fix should NOT be merged to 5.1 (the code changed). sql/ha_federated.cc: Fix for bug#40875: Memory leak in FEDERATED handler - free memory (tmp_share.scheme) allocated in the parse_url() if it isn't used anymore. --- sql/ha_federated.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sql/ha_federated.cc b/sql/ha_federated.cc index b4788dd9c87..d4144a41a2a 100644 --- a/sql/ha_federated.cc +++ b/sql/ha_federated.cc @@ -1320,6 +1320,14 @@ static FEDERATED_SHARE *get_share(const char *table_name, TABLE *table) thr_lock_init(&share->lock); pthread_mutex_init(&share->mutex, MY_MUTEX_INIT_FAST); } + else + { + /* + Free tmp_share.scheme allocated in the parse_url() + as we found share in the hash and tmp_share isn't needed anymore. + */ + my_free((gptr) tmp_share.scheme, MYF(MY_ALLOW_ZERO_PTR)); + } share->use_count++; pthread_mutex_unlock(&federated_mutex); From c3dc1d6dfb010c923e4c1721005fbc050bd7dd23 Mon Sep 17 00:00:00 2001 From: Ramil Kalimullin Date: Thu, 20 Nov 2008 15:25:26 +0400 Subject: [PATCH 102/141] Fix for bug#40770: Server Crash when running with triggers including variable settings (rpl_sys) Problem: under certain conditions (e.g. user variables usage in triggers) accessing a user defined variable we may use a variables hash table that belongs to already deleted thread. It happens if thd= new THD; has the same address as just deleted thd as we use if (stored_thd == thd) to check. That may lead to unpredictable results, server crash etc. Fix: use thread_id instead of thd address to distinguish threads. Note: no simple and repeatable test case. sql/item_func.cc: Fix for bug#40770: Server Crash when running with triggers including variable settings (rpl_sys) - store and use thd->thread_id to distinguish threads instead of thread address as it may be the same as just deleted thread had, i.e. we may get (old_thd == new_thd) after delete old_thd; new_thd= new THD; - set entry_thread_id only when we get a real entry, clear it if the hash search fails. sql/item_func.h: Fix for bug#40770: Server Crash when running with triggers including variable settings (rpl_sys) - Item_func_set_user_var::entry_thread_id introduced. --- sql/item_func.cc | 7 +++++-- sql/item_func.h | 8 ++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/sql/item_func.cc b/sql/item_func.cc index f9338e6016b..e117adc3cd0 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -3810,11 +3810,14 @@ static user_var_entry *get_variable(HASH *hash, LEX_STRING &name, bool Item_func_set_user_var::set_entry(THD *thd, bool create_if_not_exists) { - if (thd == entry_thd && entry) + if (entry && thd->thread_id == entry_thread_id) goto end; // update entry->update_query_id for PS - entry_thd= thd; if (!(entry= get_variable(&thd->user_vars, name, create_if_not_exists))) + { + entry_thread_id= 0; return TRUE; + } + entry_thread_id= thd->thread_id; /* Remember the last query which updated it, this way a query can later know if this variable is a constant item in the query (it is if update_query_id diff --git a/sql/item_func.h b/sql/item_func.h index 08906ae826e..3acda817d26 100644 --- a/sql/item_func.h +++ b/sql/item_func.h @@ -1295,16 +1295,16 @@ class Item_func_set_user_var :public Item_func enum Item_result cached_result_type; user_var_entry *entry; /* - The entry_thd variable is used: + The entry_thread_id variable is used: 1) to skip unnecessary updates of the entry field (see above); 2) to reset the entry field that was initialized in the other thread (for example, an item tree of a trigger that updates user variables - may be shared between several connections, and the entry_thd field + may be shared between several connections, and the entry_thread_id field prevents updates of one connection user variables from a concurrent connection calling the same trigger that initially updated some user variable it the first connection context). */ - THD *entry_thd; + my_thread_id entry_thread_id; char buffer[MAX_FIELD_WIDTH]; String value; my_decimal decimal_buff; @@ -1321,7 +1321,7 @@ public: LEX_STRING name; // keep it public Item_func_set_user_var(LEX_STRING a,Item *b) :Item_func(b), cached_result_type(INT_RESULT), - entry(NULL), entry_thd(NULL), name(a) + entry(NULL), entry_thread_id(0), name(a) {} enum Functype functype() const { return SUSERVAR_FUNC; } double val_real(); From 490bc421014689f37f7954bcf82dec5a522d2225 Mon Sep 17 00:00:00 2001 From: Chad MILLER Date: Thu, 20 Nov 2008 09:51:01 -0500 Subject: [PATCH 103/141] Update to change for bug 39178. Revert error-handling change, perhaps temporarily if yassl maintainer has plans for other error handling. --- extra/yassl/src/cert_wrapper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extra/yassl/src/cert_wrapper.cpp b/extra/yassl/src/cert_wrapper.cpp index 1af5705d11d..ebec0882265 100644 --- a/extra/yassl/src/cert_wrapper.cpp +++ b/extra/yassl/src/cert_wrapper.cpp @@ -265,7 +265,7 @@ int CertManager::Validate() TaoCrypt::CertDecoder cert(source, true, &signers_, verifyNone_); int err = cert.GetError().What(); - if ( err && err != TaoCrypt::SIG_OTHER_E) + if ( err ) return err; uint sz = cert.GetPublicKey().size(); From 39efef853ba172b07c3df3869e98d4b894192acc Mon Sep 17 00:00:00 2001 From: Ramil Kalimullin Date: Fri, 21 Nov 2008 13:48:22 +0400 Subject: [PATCH 104/141] Fix for bug#36772: When using UTF8, CONVERT with GROUP BY returns truncated results Problem: performig conversion from {INT, DECIMAL, REAL} to CHAR we incorrectly set its max length in some cases that may lead to truncated results returned. Fix: properly set CONVERT({INT, DECIMAL, REAL}, CHAR) result's max length. mysql-test/r/ctype_utf8.result: Fix for bug#36772: When using UTF8, CONVERT with GROUP BY returns truncated results - test result. mysql-test/t/ctype_utf8.test: Fix for bug#36772: When using UTF8, CONVERT with GROUP BY returns truncated results - test case. sql/item_timefunc.cc: Fix for bug#36772: When using UTF8, CONVERT with GROUP BY returns truncated results - calculating Item_char_typecast::max_length use initial argument's charset mbmaxlen instead of from_cs->mbmaxlen, as from_cs may differ in some case (see comment above). --- mysql-test/r/ctype_utf8.result | 32 ++++++++++++++++++++++++++++++++ mysql-test/t/ctype_utf8.test | 17 +++++++++++++++++ sql/item_timefunc.cc | 13 ++++++++----- 3 files changed, 57 insertions(+), 5 deletions(-) diff --git a/mysql-test/r/ctype_utf8.result b/mysql-test/r/ctype_utf8.result index 5ca1d578d2a..a4d7ca2558f 100644 --- a/mysql-test/r/ctype_utf8.result +++ b/mysql-test/r/ctype_utf8.result @@ -1813,3 +1813,35 @@ select hex(_utf8 B'001111111111'); ERROR HY000: Invalid utf8 character string: 'FF' select (_utf8 X'616263FF'); ERROR HY000: Invalid utf8 character string: 'FF' +CREATE TABLE t1 (a INT NOT NULL, b INT NOT NULL); +INSERT INTO t1 VALUES (70000, 1092), (70001, 1085), (70002, 1065); +SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) FROM t1 GROUP BY b; +CONVERT(a, CHAR) CONVERT(b, CHAR) +70002 1065 +70001 1085 +70000 1092 +SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) FROM t1; +CONVERT(a, CHAR) CONVERT(b, CHAR) +70000 1092 +70001 1085 +70002 1065 +ALTER TABLE t1 ADD UNIQUE (b); +SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) FROM t1 GROUP BY b; +CONVERT(a, CHAR) CONVERT(b, CHAR) +70002 1065 +70001 1085 +70000 1092 +DROP INDEX b ON t1; +SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) FROM t1 GROUP BY b; +CONVERT(a, CHAR) CONVERT(b, CHAR) +70002 1065 +70001 1085 +70000 1092 +ALTER TABLE t1 ADD INDEX (b); +SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) from t1 GROUP BY b; +CONVERT(a, CHAR) CONVERT(b, CHAR) +70002 1065 +70001 1085 +70000 1092 +DROP TABLE t1; +End of 5.0 tests diff --git a/mysql-test/t/ctype_utf8.test b/mysql-test/t/ctype_utf8.test index d184200ad5a..5111660bcbe 100644 --- a/mysql-test/t/ctype_utf8.test +++ b/mysql-test/t/ctype_utf8.test @@ -1437,3 +1437,20 @@ select hex(_utf8 X'616263FF'); select hex(_utf8 B'001111111111'); --error ER_INVALID_CHARACTER_STRING select (_utf8 X'616263FF'); + +# +# Bug #36772: When using UTF8, CONVERT with GROUP BY returns truncated results +# +CREATE TABLE t1 (a INT NOT NULL, b INT NOT NULL); +INSERT INTO t1 VALUES (70000, 1092), (70001, 1085), (70002, 1065); +SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) FROM t1 GROUP BY b; +SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) FROM t1; +ALTER TABLE t1 ADD UNIQUE (b); +SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) FROM t1 GROUP BY b; +DROP INDEX b ON t1; +SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) FROM t1 GROUP BY b; +ALTER TABLE t1 ADD INDEX (b); +SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) from t1 GROUP BY b; +DROP TABLE t1; + +--echo End of 5.0 tests diff --git a/sql/item_timefunc.cc b/sql/item_timefunc.cc index 0cb3c963dad..e9e92952908 100644 --- a/sql/item_timefunc.cc +++ b/sql/item_timefunc.cc @@ -2550,6 +2550,8 @@ void Item_char_typecast::fix_length_and_dec() and thus avoid unnecessary character set conversion. - If the argument is not a number, then from_cs is set to the argument's charset. + + Note (TODO): we could use repertoire technique here. */ from_cs= (args[0]->result_type() == INT_RESULT || args[0]->result_type() == DECIMAL_RESULT || @@ -2557,12 +2559,13 @@ void Item_char_typecast::fix_length_and_dec() (cast_cs->mbminlen == 1 ? cast_cs : &my_charset_latin1) : args[0]->collation.collation; charset_conversion= (cast_cs->mbmaxlen > 1) || - !my_charset_same(from_cs, cast_cs) && - from_cs != &my_charset_bin && - cast_cs != &my_charset_bin; + (!my_charset_same(from_cs, cast_cs) && + from_cs != &my_charset_bin && + cast_cs != &my_charset_bin); collation.set(cast_cs, DERIVATION_IMPLICIT); - char_length= (cast_length >= 0) ? cast_length : - args[0]->max_length/from_cs->mbmaxlen; + char_length= (cast_length >= 0) ? + cast_length : + args[0]->max_length / args[0]->collation.collation->mbmaxlen; max_length= char_length * cast_cs->mbmaxlen; } From ff5685d701f29d2d8eb0d00dcaa4b63b9bbdeb67 Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Fri, 21 Nov 2008 11:15:26 +0100 Subject: [PATCH 105/141] Fix broken link in embedded server (Windows) --- libmysqld/libmysqld.def | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libmysqld/libmysqld.def b/libmysqld/libmysqld.def index 431c0efdaa0..865475cb56c 100644 --- a/libmysqld/libmysqld.def +++ b/libmysqld/libmysqld.def @@ -17,7 +17,7 @@ EXPORTS dynstr_append_mem init_dynamic_string dynstr_free - hash_free + my_hash_free my_vsnprintf dynstr_append my_close @@ -31,7 +31,7 @@ EXPORTS fn_format dirname_part my_hash_insert - hash_search + my_hash_search test_if_hard_path my_copy my_mkdir @@ -54,7 +54,7 @@ EXPORTS my_thread_stack_size my_safe_print_str my_stat - _hash_init + _my_hash_init pthread_attr_setstacksize pthread_attr_init my_dirend From bd6376f1d17240956c1b1f243aaadde2611fcb56 Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Fri, 21 Nov 2008 16:39:59 +0400 Subject: [PATCH 106/141] Bug#34760 Character set autodetection appears to fail the problem is the same as reported in bug#20835, so the fix is backport of bug#20835 patch. mysql-test/r/subselect.result: test result mysql-test/t/subselect.test: test case --- mysql-test/r/subselect.result | 15 +++++++++++++++ mysql-test/t/subselect.test | 19 ++++++++++++++++++- sql/item_cmpfunc.cc | 3 ++- 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result index c5bae840214..6eeb652e3c1 100644 --- a/mysql-test/r/subselect.result +++ b/mysql-test/r/subselect.result @@ -4407,4 +4407,19 @@ pk a 3 30 2 20 DROP TABLE t1,t2; +CREATE TABLE t1 (s1 char(1)); +INSERT INTO t1 VALUES ('a'); +SELECT * FROM t1 WHERE _utf8'a' = ANY (SELECT s1 FROM t1); +s1 +a +DROP TABLE t1; +CREATE TABLE t1(id BIGINT); +CREATE TABLE t2(id1 BIGINT, id2 BIGINT); +INSERT INTO t1 VALUES (1),(2),(3); +INSERT INTO t2 VALUES (2,1),(3,1); +SELECT * FROM t1 i WHERE 1 IN (SELECT l.id2 FROM t2 l WHERE i.id=l.id1); +id +2 +3 +DROP TABLE t1, t2; End of 5.0 tests. diff --git a/mysql-test/t/subselect.test b/mysql-test/t/subselect.test index 2dfad2c58dd..d28e31fb545 100644 --- a/mysql-test/t/subselect.test +++ b/mysql-test/t/subselect.test @@ -3307,5 +3307,22 @@ SELECT * FROM t1 WHERE EXISTS (SELECT DISTINCT a FROM t2 WHERE t1.a < t2.a ORDER BY b); DROP TABLE t1,t2; ---echo End of 5.0 tests. +# +# Bug#20835 (literal string with =any values) +# +CREATE TABLE t1 (s1 char(1)); +INSERT INTO t1 VALUES ('a'); +SELECT * FROM t1 WHERE _utf8'a' = ANY (SELECT s1 FROM t1); +DROP TABLE t1; +# +# Bug#40519 Subselect query using bigint fails +# +CREATE TABLE t1(id BIGINT); +CREATE TABLE t2(id1 BIGINT, id2 BIGINT); +INSERT INTO t1 VALUES (1),(2),(3); +INSERT INTO t2 VALUES (2,1),(3,1); +SELECT * FROM t1 i WHERE 1 IN (SELECT l.id2 FROM t2 l WHERE i.id=l.id1); +DROP TABLE t1, t2; + +--echo End of 5.0 tests. diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc index 0410c781590..4bfae376acc 100644 --- a/sql/item_cmpfunc.cc +++ b/sql/item_cmpfunc.cc @@ -1434,7 +1434,8 @@ bool Item_in_optimizer::fix_left(THD *thd, Item **ref) } not_null_tables_cache= args[0]->not_null_tables(); with_sum_func= args[0]->with_sum_func; - const_item_cache= args[0]->const_item(); + if ((const_item_cache= args[0]->const_item())) + cache->store(args[0]); return 0; } From 3f2044cd6ea79467335720744db7e2d9b575896e Mon Sep 17 00:00:00 2001 From: Alexey Botchkov Date: Fri, 21 Nov 2008 18:15:11 +0400 Subject: [PATCH 107/141] warning of notused function fixed --- sql/mysqld.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 6db372c15e2..1ceabadc860 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -7351,6 +7351,7 @@ SHOW_VAR status_vars[]= { {NullS, NullS, SHOW_LONG} }; +#ifndef EMBEDDED_LIBRARY static void print_version(void) { set_server_version(); @@ -7362,7 +7363,6 @@ static void print_version(void) server_version,SYSTEM_TYPE,MACHINE_TYPE, MYSQL_COMPILATION_COMMENT); } -#ifndef EMBEDDED_LIBRARY static void usage(void) { if (!(default_charset_info= get_charset_by_csname(default_character_set_name, From caf290203f5fdd15a046f1361dcf725ac6253fc4 Mon Sep 17 00:00:00 2001 From: Horst Hunger Date: Fri, 21 Nov 2008 15:36:13 +0100 Subject: [PATCH 108/141] Fix for bug#36873 containing the review results. --- mysql-test/r/wait_timeout_func.result | 58 ++++++++------- mysql-test/t/wait_timeout_func.test | 102 ++++++++++++-------------- 2 files changed, 78 insertions(+), 82 deletions(-) diff --git a/mysql-test/r/wait_timeout_func.result b/mysql-test/r/wait_timeout_func.result index 35fe10a1889..01b4a71df87 100644 --- a/mysql-test/r/wait_timeout_func.result +++ b/mysql-test/r/wait_timeout_func.result @@ -1,30 +1,32 @@ -drop table if exists t1; -## Creating new table t1 ## -CREATE TABLE t1 -( -id INT NOT NULL auto_increment, -PRIMARY KEY (id), -name VARCHAR(30) -); +SET @start_value= @@global.wait_timeout; '#--------------------FN_DYNVARS_186_01-------------------------#' -## Creating new connection test_con1 ## -## Setting value of variable to 5 ## -SET @@session.wait_timeout = 5; -## Inserting record in table t1 ## -INSERT into t1(name) values('Record_1'); -## Using sleep to check timeout ## -'#--------------------FN_DYNVARS_186_02-------------------------#' -## Setting value of variable ## -SET @@global.wait_timeout = 5; -## Creating new connection test_con2 ## -INSERT into t1(name) values('Record_2'); -## Using sleep to check timeout ## +SET @start_time= UNIX_TIMESTAMP(); +connect (test_con1, localhost, root,,); +SELECT @@session.wait_timeout = @@global.wait_timeout AS 'Expect 1'; +Expect 1 +1 +SET @@session.wait_timeout = ; +connect (test_con2, localhost, root,,); +SET @@session.wait_timeout = - 1; +connection default; +wait until connections ready +SELECT info FROM information_schema.processlist; +info +SELECT info FROM information_schema.processlist '#--------------------FN_DYNVARS_186_03-------------------------#' -## Setting value of variable to 1 ## -SET @@global.wait_timeout = 1; -## Creating new connection ## -INSERT into t1(name) values('Record_3'); -## Using sleep to check timeout ## -## We cannot test it further because the server stops due to wait_timeout ## -SELECT * from t1; -ERROR HY000: MySQL server has gone away +SET @@global.wait_timeout= ; +SELECT @@session.wait_timeout = @start_value AS 'Expect 1'; +Expect 1 +1 +connect (test_con3, localhost, root,,); +SELECT @@session.wait_timeout = @@global.wait_timeout AS 'Expect 1'; +Expect 1 +1 +connection default; +SELECT info FROM information_schema.processlist; +info +SELECT info FROM information_schema.processlist +SELECT UNIX_TIMESTAMP() - @start_time >= + ;; +UNIX_TIMESTAMP() - @start_time >= + ; +1 +SET @@global.wait_timeout= @start_value; diff --git a/mysql-test/t/wait_timeout_func.test b/mysql-test/t/wait_timeout_func.test index e825b5a3a39..6b7c8d016d2 100644 --- a/mysql-test/t/wait_timeout_func.test +++ b/mysql-test/t/wait_timeout_func.test @@ -11,93 +11,87 @@ # Creation Date: 2008-03-07 # # Author: Salman Rawala # # # +# Modified: HHunger 2008-08-27 Simplified the test and replaced the sleeps. # +# # # Description: Test Cases of Dynamic System Variable wait_timeout # # that checks the functionality of this variable # # # -# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # -# server-system-variables.html#option_mysqld_wait_timeouts # +# Reference: # +# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html # # # ############################################################################### --source include/not_embedded.inc ---disable_warnings -drop table if exists t1; ---enable_warnings - -############################## -# Creating two new tables # -############################## - ---echo ## Creating new table t1 ## -CREATE TABLE t1 -( -id INT NOT NULL auto_increment, -PRIMARY KEY (id), -name VARCHAR(30) -); +SET @start_value= @@global.wait_timeout; --echo '#--------------------FN_DYNVARS_186_01-------------------------#' ####################################################################### -# Setting initial value of interactive_timeout greater than sleep and -# verifying its behavior on session scope +# 1. test of scope session ####################################################################### ---echo ## Creating new connection test_con1 ## +SET @start_time= UNIX_TIMESTAMP(); +--echo connect (test_con1, localhost, root,,); connect (test_con1, localhost, root,,); connection test_con1; ---echo ## Setting value of variable to 5 ## -SET @@session.wait_timeout = 5; +# If not explicitly changed, @@session.wait_timeout equals @@global.wait_timeout. +SELECT @@session.wait_timeout = @@global.wait_timeout AS 'Expect 1'; ---echo ## Inserting record in table t1 ## -INSERT into t1(name) values('Record_1'); +# Find a small value <> @@global.wait_timeout. +let $session_value = +`SELECT IF(@@global.wait_timeout <> 2 OR @@global.wait_timeout IS NULL, 2, 3)`; +--replace_result $session_value +eval SET @@session.wait_timeout = $session_value; ---echo ## Using sleep to check timeout ## -sleep 4; - - ---echo '#--------------------FN_DYNVARS_186_02-------------------------#' -####################################################################### -# Setting initial value of interactive_timeout greater than sleep and -# verifying its behavior on global scope -####################################################################### - ---echo ## Setting value of variable ## -SET @@global.wait_timeout = 5; - ---echo ## Creating new connection test_con2 ## +--echo connect (test_con2, localhost, root,,); connect (test_con2, localhost, root,,); connection test_con2; -INSERT into t1(name) values('Record_2'); - ---echo ## Using sleep to check timeout ## -sleep 4; - +--replace_result $session_value +eval SET @@session.wait_timeout = $session_value - 1; +--echo connection default; +connection default; +--echo wait until connections ready +let $wait_condition= SELECT COUNT(*) = 1 FROM information_schema.processlist; +--source include/wait_condition.inc +SELECT info FROM information_schema.processlist; --echo '#--------------------FN_DYNVARS_186_03-------------------------#' ####################################################################### -# Setting initial value of interactive_timeout less than sleep and -# verifying its behavior on global scope +# 2. test of scope global ####################################################################### ---echo ## Setting value of variable to 1 ## -SET @@global.wait_timeout = 1; +# Find a small value <> @@global.wait_timeout. +let $global_value = $session_value + 1; +--replace_result $global_value +eval SET @@global.wait_timeout= $global_value; ---echo ## Creating new connection ## +# Changing the @@global.wait_timeout has no influence on the +# @@session.wait_timeout of already established sessions. +SELECT @@session.wait_timeout = @start_value AS 'Expect 1'; + +--echo connect (test_con3, localhost, root,,); connect (test_con3, localhost, root,,); connection test_con3; -INSERT into t1(name) values('Record_3'); +# If not explicitly changed, @@session.wait_timeout equals @@global.wait_timeout. +SELECT @@session.wait_timeout = @@global.wait_timeout AS 'Expect 1'; ---echo ## Using sleep to check timeout ## -sleep 5; +--echo connection default; +connection default; +# We can be sure that the connections test_con1 and test_con2 must be +# established because both have already executed a SET @@session.wait_timeout. +# This means they are or at least were visible within the processlist. +# Therefore we can now simply wait till both disappear from the processlist. +let $wait_condition= SELECT COUNT(*) = 1 FROM information_schema.processlist; +--source include/wait_condition.inc +SELECT info FROM information_schema.processlist; ---echo ## We cannot test it further because the server stops due to wait_timeout ## ---Error 2006 -SELECT * from t1; +--replace_result $global_value $session_value ; +eval SELECT UNIX_TIMESTAMP() - @start_time >= $global_value + $session_value; +SET @@global.wait_timeout= @start_value; From d082cf340ce870691e4c944c0cc0c85ce65223cc Mon Sep 17 00:00:00 2001 From: Matthias Leich Date: Fri, 21 Nov 2008 22:28:23 +0100 Subject: [PATCH 109/141] - Fix for Bug#39854 events_scheduling fails sporadically on pushbuild - restore original state of event_scheduler at the end of the test - minor fixes around comments, formatting --- mysql-test/r/events_scheduling.result | 9 ++++---- mysql-test/t/events_scheduling.test | 33 ++++++++++++++++++--------- 2 files changed, 27 insertions(+), 15 deletions(-) diff --git a/mysql-test/r/events_scheduling.result b/mysql-test/r/events_scheduling.result index b7d4578bede..63140bffaa4 100644 --- a/mysql-test/r/events_scheduling.result +++ b/mysql-test/r/events_scheduling.result @@ -1,7 +1,8 @@ CREATE DATABASE IF NOT EXISTS events_test; USE events_test; +SET @event_scheduler=@@global.event_scheduler; SET GLOBAL event_scheduler=OFF; -Try agian to make sure it's allowed +Try again to make sure it's allowed SET GLOBAL event_scheduler=OFF; SHOW VARIABLES LIKE 'event_scheduler'; Variable_name Value @@ -64,8 +65,8 @@ INSERT INTO table_4 VALUES (1); SELECT IF(SUM(a) >= 4, 'OK', 'ERROR') FROM table_1; IF(SUM(a) >= 4, 'OK', 'ERROR') OK -SELECT IF(SUM(a) >= 5, 'OK', 'ERROR') FROM table_2; -IF(SUM(a) >= 5, 'OK', 'ERROR') +SELECT IF(SUM(a) >= 4, 'OK', 'ERROR') FROM table_2; +IF(SUM(a) >= 4, 'OK', 'ERROR') OK SELECT IF(SUM(a) >= 1, 'OK', 'ERROR') FROM table_3; IF(SUM(a) >= 1, 'OK', 'ERROR') @@ -94,4 +95,4 @@ DROP TABLE table_2; DROP TABLE table_3; DROP TABLE table_4; DROP DATABASE events_test; -SET GLOBAL event_scheduler=OFF; +SET GLOBAL event_scheduler=@event_scheduler; diff --git a/mysql-test/t/events_scheduling.test b/mysql-test/t/events_scheduling.test index a5133166495..87cfa42e283 100644 --- a/mysql-test/t/events_scheduling.test +++ b/mysql-test/t/events_scheduling.test @@ -1,11 +1,12 @@ -# Can't test with embedded server that doesn't support grants +# Can't test with embedded server that doesn't support events -- source include/not_embedded.inc CREATE DATABASE IF NOT EXISTS events_test; USE events_test; +SET @event_scheduler=@@global.event_scheduler; SET GLOBAL event_scheduler=OFF; ---echo Try agian to make sure it's allowed +--echo Try again to make sure it's allowed SET GLOBAL event_scheduler=OFF; SHOW VARIABLES LIKE 'event_scheduler'; SET GLOBAL event_scheduler=1; @@ -57,34 +58,44 @@ ON COMPLETION PRESERVE DO INSERT INTO table_4 VALUES (1); +# Wait for the events to fire and check the data afterwards + # Let event_1 insert at least 4 records into the table let $wait_condition=select count(*) >= 4 from table_1; --source include/wait_condition.inc +# Minimum of passed time is 6 seconds assuming +# - event executions starts immediate after creation +# - 4 times event_1 means an insert at ect, ect+2, ect+4, ect+6 +# ect = event creation time -# Let event_2 reach the end of its execution interval +# Let event_2 reach the end of its execution interval let $wait_condition=select count(*) = 0 from information_schema.events where event_name='event_2' and status='enabled'; --source include/wait_condition.inc +# Minimum of passed time is 6 seconds. +# See wait_condition for event_1 above and ENDS condition for event_2. -# Let event_3, which is ON COMPLETION NOT PRESERVE execute and drop itself +# Let event_3, which is ON COMPLETION NOT PRESERVE execute and drop itself let $wait_condition=select count(*) = 0 from information_schema.events where event_name='event_3'; --source include/wait_condition.inc -# Let event_4 reach the end of its execution interval +# Let event_4 reach the end of its execution interval let $wait_condition=select count(*) = 0 from information_schema.events where event_name='event_4' and status='enabled'; --source include/wait_condition.inc -# Wait for the events to fire and check the data afterwards - let $wait_condition=SELECT SUM(a) >= 4 FROM table_1; source include/wait_condition.inc; SELECT IF(SUM(a) >= 4, 'OK', 'ERROR') FROM table_1; -let $wait_condition=SELECT SUM(a) >= 5 FROM table_2; +# In case of a testing box under heavy load it cannot be guaranteed that +# it is really often enough checked if event_2 has to be executed. +# -> Bug#39854 events_scheduling fails sporadically on pushbuild +# Therefore we lowered here the original expectation of 5 to 4. +let $wait_condition=SELECT SUM(a) >= 4 FROM table_2; source include/wait_condition.inc; -SELECT IF(SUM(a) >= 5, 'OK', 'ERROR') FROM table_2; +SELECT IF(SUM(a) >= 4, 'OK', 'ERROR') FROM table_2; let $wait_condition=SELECT SUM(a) >= 1 FROM table_3; source include/wait_condition.inc; @@ -112,9 +123,9 @@ DROP TABLE table_2; DROP TABLE table_3; DROP TABLE table_4; DROP DATABASE events_test; -SET GLOBAL event_scheduler=OFF; +SET GLOBAL event_scheduler=@event_scheduler; -# +# # End of tests # From 80a0a5793d7a7585e31d63b74cb583aee04b221e Mon Sep 17 00:00:00 2001 From: Matthias Leich Date: Fri, 21 Nov 2008 22:36:29 +0100 Subject: [PATCH 110/141] Fox for Bug#40889 funcs_1: wrong code within triggers_03e_db_level.inc causes warnings --- mysql-test/suite/funcs_1/triggers/triggers_03e_db_level.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/suite/funcs_1/triggers/triggers_03e_db_level.inc b/mysql-test/suite/funcs_1/triggers/triggers_03e_db_level.inc index e3012ed0ca0..e5933eb84a8 100644 --- a/mysql-test/suite/funcs_1/triggers/triggers_03e_db_level.inc +++ b/mysql-test/suite/funcs_1/triggers/triggers_03e_db_level.inc @@ -185,7 +185,7 @@ let $message= use db with trigger privilege on db level and without...:; select f1 from t1 order by f1; --disable_warnings disconnect no_privs; - --enable warnings + --enable_warnings connection yes_privs; select current_user; From f92c5731453fd73077bb4a8034a5c351d89f091f Mon Sep 17 00:00:00 2001 From: Ingo Struewing Date: Sat, 22 Nov 2008 00:22:21 +0100 Subject: [PATCH 111/141] Bug#28234 - global/session scope - documentation vs implementation Several system variables did not behave like system variables should do. When trying to SET them or use them in SELECT, they were reported as "unknown system variable". But they appeared in SHOW VARIABLES. This has been fixed by removing the "fixed_vars" array of variables and integrating the variables into the normal system variables chain. All of these variables do now behave as read-only global-only variables. Trying to SET them tells they are read-only, trying to SELECT the session value tells they are global only. Selecting the global value works. It delivers the same value as SHOW VARIABLES. mysql-test/r/variables-notembedded.result: Bug#28234 - global/session scope - documentation vs implementation New test result. mysql-test/r/variables.result: Bug#28234 - global/session scope - documentation vs implementation New test result. mysql-test/t/variables-notembedded.test: Bug#28234 - global/session scope - documentation vs implementation Added a test for each moved variable that is not present in an embedded server. mysql-test/t/variables.test: Bug#28234 - global/session scope - documentation vs implementation Added a test for each moved variable that is also present in an embedded server. sql/item_func.cc: Bug#28234 - global/session scope - documentation vs implementation Added SHOW_BOOL to some Item_func_get_system_var methods. sql/set_var.cc: Bug#28234 - global/session scope - documentation vs implementation Moved all variables from the "fixed_vars" array into the normal system variables chain by using the new variable class sys_var_const. Removed the fixed_show_vars array and its initialization in enumerate_sys_vars(). Removed mysql_append_static_vars(), which added fixed_vars arrays to the fixed_show_vars array. sql/set_var.h: Bug#28234 - global/session scope - documentation vs implementation Added the new system variable class sys_var_const. Removed declaration of mysql_append_static_vars(). sql/slave.cc: Bug#28234 - global/session scope - documentation vs implementation Moved the definition of show_slave_skip_errors() from sql_repl.cc to here and renamed it to print_slave_skip_errors(). Changed print_slave_skip_errors() to create a static buffer with a printable version of the error numbers set. Added a call of print_slave_skip_errors() to init_slave_skip_errors(). sql/slave.h: Bug#28234 - global/session scope - documentation vs implementation Added declaration of slave_skip_error_names. sql/sql_repl.cc: Bug#28234 - global/session scope - documentation vs implementation Moved all variables from the "fixed_vars" array into the normal system variables chain by using the new variable class sys_var_const. Moved the definition of show_slave_skip_errors() to slave.cc and modified it to compute the string once at server initialization only. Removed the call to mysql_append_static_vars(). --- mysql-test/r/variables-notembedded.result | 92 ++++++ mysql-test/r/variables.result | 339 ++++++++++++++++++++++ mysql-test/t/variables-notembedded.test | 80 +++++ mysql-test/t/variables.test | 296 +++++++++++++++++++ sql/item_func.cc | 10 + sql/set_var.cc | 226 +++++++++------ sql/set_var.h | 29 +- sql/slave.cc | 61 ++++ sql/slave.h | 1 + sql/sql_repl.cc | 74 ++--- 10 files changed, 1063 insertions(+), 145 deletions(-) diff --git a/mysql-test/r/variables-notembedded.result b/mysql-test/r/variables-notembedded.result index 48a1719e2c7..571b6605674 100644 --- a/mysql-test/r/variables-notembedded.result +++ b/mysql-test/r/variables-notembedded.result @@ -15,3 +15,95 @@ slave_skip_errors 3,100,137,643,1752 ---- Clean Up ---- set global slave_net_timeout=default; set global sql_slave_skip_counter= 0; + +# +SHOW VARIABLES like 'log_slave_updates'; +Variable_name Value +log_slave_updates OFF +SELECT @@session.log_slave_updates; +ERROR HY000: Variable 'log_slave_updates' is a GLOBAL variable +SELECT @@global.log_slave_updates; +@@global.log_slave_updates +0 +SET @@session.log_slave_updates= true; +ERROR HY000: Variable 'log_slave_updates' is a read only variable +SET @@global.log_slave_updates= true; +ERROR HY000: Variable 'log_slave_updates' is a read only variable +# +SHOW VARIABLES like 'relay_log'; +Variable_name Value +relay_log +SELECT @@session.relay_log; +ERROR HY000: Variable 'relay_log' is a GLOBAL variable +SELECT @@global.relay_log; +@@global.relay_log +NULL +SET @@session.relay_log= 'x'; +ERROR HY000: Variable 'relay_log' is a read only variable +SET @@global.relay_log= 'x'; +ERROR HY000: Variable 'relay_log' is a read only variable +# +SHOW VARIABLES like 'relay_log_index'; +Variable_name Value +relay_log_index +SELECT @@session.relay_log_index; +ERROR HY000: Variable 'relay_log_index' is a GLOBAL variable +SELECT @@global.relay_log_index; +@@global.relay_log_index +NULL +SET @@session.relay_log_index= 'x'; +ERROR HY000: Variable 'relay_log_index' is a read only variable +SET @@global.relay_log_index= 'x'; +ERROR HY000: Variable 'relay_log_index' is a read only variable +# +SHOW VARIABLES like 'relay_log_info_file'; +Variable_name Value +relay_log_info_file relay-log.info +SELECT @@session.relay_log_info_file; +ERROR HY000: Variable 'relay_log_info_file' is a GLOBAL variable +SELECT @@global.relay_log_info_file; +@@global.relay_log_info_file +relay-log.info +SET @@session.relay_log_info_file= 'x'; +ERROR HY000: Variable 'relay_log_info_file' is a read only variable +SET @@global.relay_log_info_file= 'x'; +ERROR HY000: Variable 'relay_log_info_file' is a read only variable +# +SHOW VARIABLES like 'relay_log_space_limit'; +Variable_name Value +relay_log_space_limit 0 +SELECT @@session.relay_log_space_limit; +ERROR HY000: Variable 'relay_log_space_limit' is a GLOBAL variable +SELECT @@global.relay_log_space_limit; +@@global.relay_log_space_limit +0 +SET @@session.relay_log_space_limit= 7; +ERROR HY000: Variable 'relay_log_space_limit' is a read only variable +SET @@global.relay_log_space_limit= 7; +ERROR HY000: Variable 'relay_log_space_limit' is a read only variable +# +SHOW VARIABLES like 'slave_load_tmpdir'; +Variable_name Value +slave_load_tmpdir # +SELECT @@session.slave_load_tmpdir; +ERROR HY000: Variable 'slave_load_tmpdir' is a GLOBAL variable +SELECT @@global.slave_load_tmpdir; +@@global.slave_load_tmpdir +# +SET @@session.slave_load_tmpdir= 'x'; +ERROR HY000: Variable 'slave_load_tmpdir' is a read only variable +SET @@global.slave_load_tmpdir= 'x'; +ERROR HY000: Variable 'slave_load_tmpdir' is a read only variable +# +SHOW VARIABLES like 'slave_skip_errors'; +Variable_name Value +slave_skip_errors 3,100,137,643,1752 +SELECT @@session.slave_skip_errors; +ERROR HY000: Variable 'slave_skip_errors' is a GLOBAL variable +SELECT @@global.slave_skip_errors; +@@global.slave_skip_errors +3,100,137,643,1752 +SET @@session.slave_skip_errors= 7; +ERROR HY000: Variable 'slave_skip_errors' is a read only variable +SET @@global.slave_skip_errors= 7; +ERROR HY000: Variable 'slave_skip_errors' is a read only variable diff --git a/mysql-test/r/variables.result b/mysql-test/r/variables.result index c52f7f3578e..878416b4537 100644 --- a/mysql-test/r/variables.result +++ b/mysql-test/r/variables.result @@ -1011,3 +1011,342 @@ SET GLOBAL log_output = 0; ERROR 42000: Variable 'log_output' can't be set to the value of '0' # -- End of Bug#34820. + +# +SHOW VARIABLES like 'ft_max_word_len'; +Variable_name Value +ft_max_word_len 84 +SELECT @@session.ft_max_word_len; +ERROR HY000: Variable 'ft_max_word_len' is a GLOBAL variable +SELECT @@global.ft_max_word_len; +@@global.ft_max_word_len +84 +SET @@session.ft_max_word_len= 7; +ERROR HY000: Variable 'ft_max_word_len' is a read only variable +SET @@global.ft_max_word_len= 7; +ERROR HY000: Variable 'ft_max_word_len' is a read only variable +# +SHOW VARIABLES like 'ft_min_word_len'; +Variable_name Value +ft_min_word_len 4 +SELECT @@session.ft_min_word_len; +ERROR HY000: Variable 'ft_min_word_len' is a GLOBAL variable +SELECT @@global.ft_min_word_len; +@@global.ft_min_word_len +4 +SET @@session.ft_min_word_len= 7; +ERROR HY000: Variable 'ft_min_word_len' is a read only variable +SET @@global.ft_min_word_len= 7; +ERROR HY000: Variable 'ft_min_word_len' is a read only variable +# +SHOW VARIABLES like 'ft_query_expansion_limit'; +Variable_name Value +ft_query_expansion_limit 20 +SELECT @@session.ft_query_expansion_limit; +ERROR HY000: Variable 'ft_query_expansion_limit' is a GLOBAL variable +SELECT @@global.ft_query_expansion_limit; +@@global.ft_query_expansion_limit +20 +SET @@session.ft_query_expansion_limit= 7; +ERROR HY000: Variable 'ft_query_expansion_limit' is a read only variable +SET @@global.ft_query_expansion_limit= 7; +ERROR HY000: Variable 'ft_query_expansion_limit' is a read only variable +# +SHOW VARIABLES like 'ft_stopword_file'; +Variable_name Value +ft_stopword_file (built-in) +SELECT @@session.ft_stopword_file; +ERROR HY000: Variable 'ft_stopword_file' is a GLOBAL variable +SELECT @@global.ft_stopword_file; +@@global.ft_stopword_file +(built-in) +SET @@session.ft_stopword_file= 'x'; +ERROR HY000: Variable 'ft_stopword_file' is a read only variable +SET @@global.ft_stopword_file= 'x'; +ERROR HY000: Variable 'ft_stopword_file' is a read only variable +# +SHOW VARIABLES like 'back_log'; +Variable_name Value +back_log 50 +SELECT @@session.back_log; +ERROR HY000: Variable 'back_log' is a GLOBAL variable +SELECT @@global.back_log; +@@global.back_log +50 +SET @@session.back_log= 7; +ERROR HY000: Variable 'back_log' is a read only variable +SET @@global.back_log= 7; +ERROR HY000: Variable 'back_log' is a read only variable +# +SHOW VARIABLES like 'large_files_support'; +Variable_name Value +large_files_support # +SELECT @@session.large_files_support; +ERROR HY000: Variable 'large_files_support' is a GLOBAL variable +SELECT @@global.large_files_support; +@@global.large_files_support +# +SET @@session.large_files_support= true; +ERROR HY000: Variable 'large_files_support' is a read only variable +SET @@global.large_files_support= true; +ERROR HY000: Variable 'large_files_support' is a read only variable +# +SHOW VARIABLES like 'character_sets_dir'; +Variable_name Value +character_sets_dir # +SELECT @@session.character_sets_dir; +ERROR HY000: Variable 'character_sets_dir' is a GLOBAL variable +SELECT @@global.character_sets_dir; +@@global.character_sets_dir +# +SET @@session.character_sets_dir= 'x'; +ERROR HY000: Variable 'character_sets_dir' is a read only variable +SET @@global.character_sets_dir= 'x'; +ERROR HY000: Variable 'character_sets_dir' is a read only variable +# +SHOW VARIABLES like 'init_file'; +Variable_name Value +init_file # +SELECT @@session.init_file; +ERROR HY000: Variable 'init_file' is a GLOBAL variable +SELECT @@global.init_file; +@@global.init_file +# +SET @@session.init_file= 'x'; +ERROR HY000: Variable 'init_file' is a read only variable +SET @@global.init_file= 'x'; +ERROR HY000: Variable 'init_file' is a read only variable +# +SHOW VARIABLES like 'language'; +Variable_name Value +language # +SELECT @@session.language; +ERROR HY000: Variable 'language' is a GLOBAL variable +SELECT @@global.language; +@@global.language +# +SET @@session.language= 'x'; +ERROR HY000: Variable 'language' is a read only variable +SET @@global.language= 'x'; +ERROR HY000: Variable 'language' is a read only variable +# +SHOW VARIABLES like 'large_page_size'; +Variable_name Value +large_page_size # +SELECT @@session.large_page_size; +ERROR HY000: Variable 'large_page_size' is a GLOBAL variable +SELECT @@global.large_page_size; +@@global.large_page_size +# +SET @@session.large_page_size= 7; +ERROR HY000: Variable 'large_page_size' is a read only variable +SET @@global.large_page_size= 7; +ERROR HY000: Variable 'large_page_size' is a read only variable +# +SHOW VARIABLES like 'large_pages'; +Variable_name Value +large_pages # +SELECT @@session.large_pages; +ERROR HY000: Variable 'large_pages' is a GLOBAL variable +SELECT @@global.large_pages; +@@global.large_pages +# +SET @@session.large_pages= true; +ERROR HY000: Variable 'large_pages' is a read only variable +SET @@global.large_pages= true; +ERROR HY000: Variable 'large_pages' is a read only variable +# +SHOW VARIABLES like 'log_bin'; +Variable_name Value +log_bin OFF +SELECT @@session.log_bin; +ERROR HY000: Variable 'log_bin' is a GLOBAL variable +SELECT @@global.log_bin; +@@global.log_bin +0 +SET @@session.log_bin= true; +ERROR HY000: Variable 'log_bin' is a read only variable +SET @@global.log_bin= true; +ERROR HY000: Variable 'log_bin' is a read only variable +# +SHOW VARIABLES like 'log_error'; +Variable_name Value +log_error # +SELECT @@session.log_error; +ERROR HY000: Variable 'log_error' is a GLOBAL variable +SELECT @@global.log_error; +@@global.log_error +# +SET @@session.log_error= 'x'; +ERROR HY000: Variable 'log_error' is a read only variable +SET @@global.log_error= 'x'; +ERROR HY000: Variable 'log_error' is a read only variable +# +SHOW VARIABLES like 'lower_case_file_system'; +Variable_name Value +lower_case_file_system # +SELECT @@session.lower_case_file_system; +ERROR HY000: Variable 'lower_case_file_system' is a GLOBAL variable +SELECT @@global.lower_case_file_system; +@@global.lower_case_file_system +# +SET @@session.lower_case_file_system= true; +ERROR HY000: Variable 'lower_case_file_system' is a read only variable +SET @@global.lower_case_file_system= true; +ERROR HY000: Variable 'lower_case_file_system' is a read only variable +# +SHOW VARIABLES like 'lower_case_table_names'; +Variable_name Value +lower_case_table_names # +SELECT @@session.lower_case_table_names; +ERROR HY000: Variable 'lower_case_table_names' is a GLOBAL variable +SELECT @@global.lower_case_table_names; +@@global.lower_case_table_names +# +SET @@session.lower_case_table_names= 7; +ERROR HY000: Variable 'lower_case_table_names' is a read only variable +SET @@global.lower_case_table_names= 7; +ERROR HY000: Variable 'lower_case_table_names' is a read only variable +# +SHOW VARIABLES like 'myisam_recover_options'; +Variable_name Value +myisam_recover_options OFF +SELECT @@session.myisam_recover_options; +ERROR HY000: Variable 'myisam_recover_options' is a GLOBAL variable +SELECT @@global.myisam_recover_options; +@@global.myisam_recover_options +OFF +SET @@session.myisam_recover_options= 'x'; +ERROR HY000: Variable 'myisam_recover_options' is a read only variable +SET @@global.myisam_recover_options= 'x'; +ERROR HY000: Variable 'myisam_recover_options' is a read only variable +# +SHOW VARIABLES like 'open_files_limit'; +Variable_name Value +open_files_limit # +SELECT @@session.open_files_limit; +ERROR HY000: Variable 'open_files_limit' is a GLOBAL variable +SELECT @@global.open_files_limit; +@@global.open_files_limit +# +SET @@session.open_files_limit= 7; +ERROR HY000: Variable 'open_files_limit' is a read only variable +SET @@global.open_files_limit= 7; +ERROR HY000: Variable 'open_files_limit' is a read only variable +# +SHOW VARIABLES like 'pid_file'; +Variable_name Value +pid_file # +SELECT @@session.pid_file; +ERROR HY000: Variable 'pid_file' is a GLOBAL variable +SELECT @@global.pid_file; +@@global.pid_file +# +SET @@session.pid_file= 'x'; +ERROR HY000: Variable 'pid_file' is a read only variable +SET @@global.pid_file= 'x'; +ERROR HY000: Variable 'pid_file' is a read only variable +# +SHOW VARIABLES like 'plugin_dir'; +Variable_name Value +plugin_dir # +SELECT @@session.plugin_dir; +ERROR HY000: Variable 'plugin_dir' is a GLOBAL variable +SELECT @@global.plugin_dir; +@@global.plugin_dir +# +SET @@session.plugin_dir= 'x'; +ERROR HY000: Variable 'plugin_dir' is a read only variable +SET @@global.plugin_dir= 'x'; +ERROR HY000: Variable 'plugin_dir' is a read only variable +# +SHOW VARIABLES like 'port'; +Variable_name Value +port # +SELECT @@session.port; +ERROR HY000: Variable 'port' is a GLOBAL variable +SELECT @@global.port; +@@global.port +# +SET @@session.port= 7; +ERROR HY000: Variable 'port' is a read only variable +SET @@global.port= 7; +ERROR HY000: Variable 'port' is a read only variable +# +SHOW VARIABLES like 'protocol_version'; +Variable_name Value +protocol_version 10 +SELECT @@session.protocol_version; +ERROR HY000: Variable 'protocol_version' is a GLOBAL variable +SELECT @@global.protocol_version; +@@global.protocol_version +10 +SET @@session.protocol_version= 7; +ERROR HY000: Variable 'protocol_version' is a read only variable +SET @@global.protocol_version= 7; +ERROR HY000: Variable 'protocol_version' is a read only variable +# +SHOW VARIABLES like 'skip_external_locking'; +Variable_name Value +skip_external_locking ON +SELECT @@session.skip_external_locking; +ERROR HY000: Variable 'skip_external_locking' is a GLOBAL variable +SELECT @@global.skip_external_locking; +@@global.skip_external_locking +1 +SET @@session.skip_external_locking= true; +ERROR HY000: Variable 'skip_external_locking' is a read only variable +SET @@global.skip_external_locking= true; +ERROR HY000: Variable 'skip_external_locking' is a read only variable +# +SHOW VARIABLES like 'skip_networking'; +Variable_name Value +skip_networking OFF +SELECT @@session.skip_networking; +ERROR HY000: Variable 'skip_networking' is a GLOBAL variable +SELECT @@global.skip_networking; +@@global.skip_networking +0 +SET @@session.skip_networking= true; +ERROR HY000: Variable 'skip_networking' is a read only variable +SET @@global.skip_networking= true; +ERROR HY000: Variable 'skip_networking' is a read only variable +# +SHOW VARIABLES like 'skip_show_database'; +Variable_name Value +skip_show_database OFF +SELECT @@session.skip_show_database; +ERROR HY000: Variable 'skip_show_database' is a GLOBAL variable +SELECT @@global.skip_show_database; +@@global.skip_show_database +0 +SET @@session.skip_show_database= true; +ERROR HY000: Variable 'skip_show_database' is a read only variable +SET @@global.skip_show_database= true; +ERROR HY000: Variable 'skip_show_database' is a read only variable +# +SHOW VARIABLES like 'socket'; +Variable_name Value +socket # +SELECT @@session.socket; +ERROR HY000: Variable 'socket' is a GLOBAL variable +SELECT @@global.socket; +@@global.socket +# +SET @@session.socket= 'x'; +ERROR HY000: Variable 'socket' is a read only variable +SET @@global.socket= 'x'; +ERROR HY000: Variable 'socket' is a read only variable +# +SHOW VARIABLES like 'thread_stack'; +Variable_name Value +thread_stack # +SELECT @@session.thread_stack; +ERROR HY000: Variable 'thread_stack' is a GLOBAL variable +SELECT @@global.thread_stack; +@@global.thread_stack +# +SET @@session.thread_stack= 7; +ERROR HY000: Variable 'thread_stack' is a read only variable +SET @@global.thread_stack= 7; +ERROR HY000: Variable 'thread_stack' is a read only variable diff --git a/mysql-test/t/variables-notembedded.test b/mysql-test/t/variables-notembedded.test index 79011a89b36..823fecb8791 100644 --- a/mysql-test/t/variables-notembedded.test +++ b/mysql-test/t/variables-notembedded.test @@ -28,3 +28,83 @@ set global slave_net_timeout=default; # sql_slave_skip_counter is write-only, so we can't save previous # value and restore it here. That's ok, because it's normally 0. set global sql_slave_skip_counter= 0; + +# +# Bug#28234 - global/session scope - documentation vs implementation +# +--echo +# +# Additional variables fixed from sql_repl.cc. +# +--echo # +SHOW VARIABLES like 'log_slave_updates'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.log_slave_updates; +SELECT @@global.log_slave_updates; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.log_slave_updates= true; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.log_slave_updates= true; +# +--echo # +SHOW VARIABLES like 'relay_log'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.relay_log; +SELECT @@global.relay_log; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.relay_log= 'x'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.relay_log= 'x'; +# +--echo # +SHOW VARIABLES like 'relay_log_index'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.relay_log_index; +SELECT @@global.relay_log_index; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.relay_log_index= 'x'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.relay_log_index= 'x'; +# +--echo # +SHOW VARIABLES like 'relay_log_info_file'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.relay_log_info_file; +SELECT @@global.relay_log_info_file; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.relay_log_info_file= 'x'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.relay_log_info_file= 'x'; +# +--echo # +SHOW VARIABLES like 'relay_log_space_limit'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.relay_log_space_limit; +SELECT @@global.relay_log_space_limit; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.relay_log_space_limit= 7; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.relay_log_space_limit= 7; +# +--echo # +--replace_column 2 # +SHOW VARIABLES like 'slave_load_tmpdir'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.slave_load_tmpdir; +--replace_column 1 # +SELECT @@global.slave_load_tmpdir; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.slave_load_tmpdir= 'x'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.slave_load_tmpdir= 'x'; +# +--echo # +SHOW VARIABLES like 'slave_skip_errors'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.slave_skip_errors; +SELECT @@global.slave_skip_errors; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.slave_skip_errors= 7; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.slave_skip_errors= 7; +# diff --git a/mysql-test/t/variables.test b/mysql-test/t/variables.test index e98436fa62c..1ef114b1a16 100644 --- a/mysql-test/t/variables.test +++ b/mysql-test/t/variables.test @@ -793,3 +793,299 @@ SET GLOBAL log_output = 0; --echo --echo # -- End of Bug#34820. +# +# Bug#28234 - global/session scope - documentation vs implementation +# +--echo +--echo # +SHOW VARIABLES like 'ft_max_word_len'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.ft_max_word_len; +SELECT @@global.ft_max_word_len; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.ft_max_word_len= 7; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.ft_max_word_len= 7; +# +--echo # +SHOW VARIABLES like 'ft_min_word_len'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.ft_min_word_len; +SELECT @@global.ft_min_word_len; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.ft_min_word_len= 7; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.ft_min_word_len= 7; +# +--echo # +SHOW VARIABLES like 'ft_query_expansion_limit'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.ft_query_expansion_limit; +SELECT @@global.ft_query_expansion_limit; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.ft_query_expansion_limit= 7; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.ft_query_expansion_limit= 7; +# +--echo # +SHOW VARIABLES like 'ft_stopword_file'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.ft_stopword_file; +SELECT @@global.ft_stopword_file; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.ft_stopword_file= 'x'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.ft_stopword_file= 'x'; +# +# Additional variables fixed. +# +--echo # +SHOW VARIABLES like 'back_log'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.back_log; +SELECT @@global.back_log; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.back_log= 7; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.back_log= 7; +# +--echo # +--replace_column 2 # +SHOW VARIABLES like 'large_files_support'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.large_files_support; +--replace_column 1 # +SELECT @@global.large_files_support; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.large_files_support= true; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.large_files_support= true; +# +--echo # +--replace_column 2 # +SHOW VARIABLES like 'character_sets_dir'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.character_sets_dir; +--replace_column 1 # +SELECT @@global.character_sets_dir; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.character_sets_dir= 'x'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.character_sets_dir= 'x'; +# +--echo # +--replace_column 2 # +SHOW VARIABLES like 'init_file'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.init_file; +--replace_column 1 # +SELECT @@global.init_file; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.init_file= 'x'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.init_file= 'x'; +# +--echo # +--replace_column 2 # +SHOW VARIABLES like 'language'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.language; +--replace_column 1 # +SELECT @@global.language; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.language= 'x'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.language= 'x'; +# +--echo # +--replace_column 2 # +SHOW VARIABLES like 'large_page_size'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.large_page_size; +--replace_column 1 # +SELECT @@global.large_page_size; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.large_page_size= 7; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.large_page_size= 7; +# +--echo # +--replace_column 2 # +SHOW VARIABLES like 'large_pages'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.large_pages; +--replace_column 1 # +SELECT @@global.large_pages; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.large_pages= true; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.large_pages= true; +# +--echo # +SHOW VARIABLES like 'log_bin'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.log_bin; +SELECT @@global.log_bin; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.log_bin= true; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.log_bin= true; +# +--echo # +--replace_column 2 # +SHOW VARIABLES like 'log_error'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.log_error; +--replace_column 1 # +SELECT @@global.log_error; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.log_error= 'x'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.log_error= 'x'; +# +--echo # +--replace_column 2 # +SHOW VARIABLES like 'lower_case_file_system'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.lower_case_file_system; +--replace_column 1 # +SELECT @@global.lower_case_file_system; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.lower_case_file_system= true; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.lower_case_file_system= true; +# +--echo # +--replace_column 2 # +SHOW VARIABLES like 'lower_case_table_names'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.lower_case_table_names; +--replace_column 1 # +SELECT @@global.lower_case_table_names; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.lower_case_table_names= 7; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.lower_case_table_names= 7; +# +--echo # +SHOW VARIABLES like 'myisam_recover_options'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.myisam_recover_options; +SELECT @@global.myisam_recover_options; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.myisam_recover_options= 'x'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.myisam_recover_options= 'x'; +# +--echo # +--replace_column 2 # +SHOW VARIABLES like 'open_files_limit'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.open_files_limit; +--replace_column 1 # +SELECT @@global.open_files_limit; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.open_files_limit= 7; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.open_files_limit= 7; +# +--echo # +--replace_column 2 # +SHOW VARIABLES like 'pid_file'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.pid_file; +--replace_column 1 # +SELECT @@global.pid_file; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.pid_file= 'x'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.pid_file= 'x'; +# +--echo # +--replace_column 2 # +SHOW VARIABLES like 'plugin_dir'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.plugin_dir; +--replace_column 1 # +SELECT @@global.plugin_dir; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.plugin_dir= 'x'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.plugin_dir= 'x'; +# +--echo # +--replace_column 2 # +SHOW VARIABLES like 'port'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.port; +--replace_column 1 # +SELECT @@global.port; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.port= 7; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.port= 7; +# +--echo # +SHOW VARIABLES like 'protocol_version'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.protocol_version; +SELECT @@global.protocol_version; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.protocol_version= 7; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.protocol_version= 7; +# +--echo # +SHOW VARIABLES like 'skip_external_locking'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.skip_external_locking; +SELECT @@global.skip_external_locking; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.skip_external_locking= true; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.skip_external_locking= true; +# +--echo # +SHOW VARIABLES like 'skip_networking'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.skip_networking; +SELECT @@global.skip_networking; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.skip_networking= true; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.skip_networking= true; +# +--echo # +SHOW VARIABLES like 'skip_show_database'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.skip_show_database; +SELECT @@global.skip_show_database; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.skip_show_database= true; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.skip_show_database= true; +# +--echo # +--replace_column 2 # +SHOW VARIABLES like 'socket'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.socket; +--replace_column 1 # +SELECT @@global.socket; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.socket= 'x'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.socket= 'x'; +# +--echo # +--replace_column 2 # +SHOW VARIABLES like 'thread_stack'; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.thread_stack; +--replace_column 1 # +SELECT @@global.thread_stack; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@session.thread_stack= 7; +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@global.thread_stack= 7; +# diff --git a/sql/item_func.cc b/sql/item_func.cc index e117adc3cd0..edcb9776a2b 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -4855,6 +4855,7 @@ void Item_func_get_system_var::fix_length_and_dec() max_length= MAX_BLOB_WIDTH; decimals=NOT_FIXED_DEC; break; + case SHOW_BOOL: case SHOW_MY_BOOL: unsigned_flag= FALSE; max_length= 1; @@ -4882,6 +4883,7 @@ enum Item_result Item_func_get_system_var::result_type() const { switch (var->show_type()) { + case SHOW_BOOL: case SHOW_MY_BOOL: case SHOW_INT: case SHOW_LONG: @@ -4904,6 +4906,7 @@ enum_field_types Item_func_get_system_var::field_type() const { switch (var->show_type()) { + case SHOW_BOOL: case SHOW_MY_BOOL: case SHOW_INT: case SHOW_LONG: @@ -4922,6 +4925,10 @@ enum_field_types Item_func_get_system_var::field_type() const } +/* + Uses var, var_type, component, cache_present, used_query_id, thd, + cached_llval, null_value, cached_null_value +*/ #define get_sys_var_safe(type) \ do { \ type value; \ @@ -4975,6 +4982,7 @@ longlong Item_func_get_system_var::val_int() case SHOW_LONG: get_sys_var_safe (ulong); case SHOW_LONGLONG: get_sys_var_safe (longlong); case SHOW_HA_ROWS: get_sys_var_safe (ha_rows); + case SHOW_BOOL: get_sys_var_safe (bool); case SHOW_MY_BOOL: get_sys_var_safe (my_bool); case SHOW_DOUBLE: { @@ -5072,6 +5080,7 @@ String* Item_func_get_system_var::val_str(String* str) case SHOW_LONG: case SHOW_LONGLONG: case SHOW_HA_ROWS: + case SHOW_BOOL: case SHOW_MY_BOOL: str->set (val_int(), collation.collation); break; @@ -5164,6 +5173,7 @@ double Item_func_get_system_var::val_real() case SHOW_LONG: case SHOW_LONGLONG: case SHOW_HA_ROWS: + case SHOW_BOOL: case SHOW_MY_BOOL: cached_dval= (double) val_int(); cache_present|= GET_SYS_VAR_CACHE_DOUBLE; diff --git a/sql/set_var.cc b/sql/set_var.cc index 7d1acc8e4fb..07ab82c77e0 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -77,7 +77,6 @@ extern ulong ndb_report_thresh_binlog_mem_usage; extern CHARSET_INFO *character_set_filesystem; -static DYNAMIC_ARRAY fixed_show_vars; static HASH system_variable_hash; const char *bool_type_names[]= { "OFF", "ON", NullS }; @@ -174,6 +173,9 @@ sys_auto_increment_offset(&vars, "auto_increment_offset", static sys_var_bool_ptr sys_automatic_sp_privileges(&vars, "automatic_sp_privileges", &sp_automatic_privileges); +static sys_var_const sys_back_log(&vars, "back_log", + OPT_GLOBAL, SHOW_LONG, + (uchar*) &back_log); static sys_var_const_str sys_basedir(&vars, "basedir", mysql_home); static sys_var_long_ptr sys_binlog_cache_size(&vars, "binlog_cache_size", &binlog_cache_size); @@ -181,6 +183,11 @@ static sys_var_thd_binlog_format sys_binlog_format(&vars, "binlog_format", &SV::binlog_format); static sys_var_thd_ulong sys_bulk_insert_buff_size(&vars, "bulk_insert_buffer_size", &SV::bulk_insert_buff_size); +static sys_var_const sys_character_sets_dir(&vars, + "character_sets_dir", + OPT_GLOBAL, SHOW_CHAR, + (uchar*) + mysql_charsets_dir); static sys_var_character_set_sv sys_character_set_server(&vars, "character_set_server", &SV::collation_server, &default_charset_info, 0, @@ -249,14 +256,31 @@ static sys_var_long_ptr sys_expire_logs_days(&vars, "expire_logs_days", &expire_logs_days); static sys_var_bool_ptr sys_flush(&vars, "flush", &myisam_flush); static sys_var_long_ptr sys_flush_time(&vars, "flush_time", &flush_time); -static sys_var_str sys_ft_boolean_syntax(&vars, "ft_boolean_syntax", - sys_check_ftb_syntax, - sys_update_ftb_syntax, - sys_default_ftb_syntax, - ft_boolean_syntax); +static sys_var_str sys_ft_boolean_syntax(&vars, "ft_boolean_syntax", + sys_check_ftb_syntax, + sys_update_ftb_syntax, + sys_default_ftb_syntax, + ft_boolean_syntax); +static sys_var_const sys_ft_max_word_len(&vars, "ft_max_word_len", + OPT_GLOBAL, SHOW_LONG, + (uchar*) &ft_max_word_len); +static sys_var_const sys_ft_min_word_len(&vars, "ft_min_word_len", + OPT_GLOBAL, SHOW_LONG, + (uchar*) &ft_min_word_len); +static sys_var_const sys_ft_query_expansion_limit(&vars, + "ft_query_expansion_limit", + OPT_GLOBAL, SHOW_LONG, + (uchar*) + &ft_query_expansion_limit); +static sys_var_const sys_ft_stopword_file(&vars, "ft_stopword_file", + OPT_GLOBAL, SHOW_CHAR_PTR, + (uchar*) &ft_stopword_file); sys_var_str sys_init_connect(&vars, "init_connect", 0, sys_update_init_connect, sys_default_init_connect,0); +static sys_var_const sys_init_file(&vars, "init_file", + OPT_GLOBAL, SHOW_CHAR_PTR, + (uchar*) &opt_init_file); sys_var_str sys_init_slave(&vars, "init_slave", 0, sys_update_init_slave, sys_default_init_slave,0); @@ -274,14 +298,37 @@ static sys_var_key_cache_long sys_key_cache_division_limit(&vars, "key_cache_div static sys_var_key_cache_long sys_key_cache_age_threshold(&vars, "key_cache_age_threshold", offsetof(KEY_CACHE, param_age_threshold)); +static sys_var_const sys_language(&vars, "language", + OPT_GLOBAL, SHOW_CHAR, + (uchar*) language); +static sys_var_const sys_large_files_support(&vars, "large_files_support", + OPT_GLOBAL, SHOW_BOOL, + (uchar*) &opt_large_files); +static sys_var_const sys_large_page_size(&vars, "large_page_size", + OPT_GLOBAL, SHOW_INT, + (uchar*) &opt_large_page_size); +static sys_var_const sys_large_pages(&vars, "large_pages", + OPT_GLOBAL, SHOW_MY_BOOL, + (uchar*) &opt_large_pages); static sys_var_bool_ptr sys_local_infile(&vars, "local_infile", &opt_local_infile); +#ifdef HAVE_MLOCKALL +static sys_var_const sys_locked_in_memory(&vars, "locked_in_memory", + OPT_GLOBAL, SHOW_MY_BOOL, + (uchar*) &locked_in_memory); +#endif +static sys_var_const sys_log_bin(&vars, "log_bin", + OPT_GLOBAL, SHOW_BOOL, + (uchar*) &opt_bin_log); static sys_var_trust_routine_creators sys_trust_routine_creators(&vars, "log_bin_trust_routine_creators", &trust_function_creators); static sys_var_bool_ptr sys_trust_function_creators(&vars, "log_bin_trust_function_creators", &trust_function_creators); +static sys_var_const sys_log_error(&vars, "log_error", + OPT_GLOBAL, SHOW_CHAR, + (uchar*) log_error_file); static sys_var_bool_ptr sys_log_queries_not_using_indexes(&vars, "log_queries_not_using_indexes", &opt_log_queries_not_using_indexes); @@ -296,6 +343,16 @@ static sys_var_thd_bool sys_sql_low_priority_updates(&vars, "sql_low_priority_up &SV::low_priority_updates, fix_low_priority_updates); #endif +static sys_var_const sys_lower_case_file_system(&vars, + "lower_case_file_system", + OPT_GLOBAL, SHOW_MY_BOOL, + (uchar*) + &lower_case_file_system); +static sys_var_const sys_lower_case_table_names(&vars, + "lower_case_table_names", + OPT_GLOBAL, SHOW_INT, + (uchar*) + &lower_case_table_names); static sys_var_thd_ulong_session_readonly sys_max_allowed_packet(&vars, "max_allowed_packet", &SV::max_allowed_packet); static sys_var_long_ptr sys_max_binlog_cache_size(&vars, "max_binlog_cache_size", @@ -359,6 +416,10 @@ static sys_var_thd_ulong sys_multi_range_count(&vars, "multi_range_count", static sys_var_long_ptr sys_myisam_data_pointer_size(&vars, "myisam_data_pointer_size", &myisam_data_pointer_size); static sys_var_thd_ulonglong sys_myisam_max_sort_file_size(&vars, "myisam_max_sort_file_size", &SV::myisam_max_sort_file_size, fix_myisam_max_sort_file_size, 1); +static sys_var_const sys_myisam_recover_options(&vars, "myisam_recover_options", + OPT_GLOBAL, SHOW_CHAR_PTR, + (uchar*) + &myisam_recover_options_str); static sys_var_thd_ulong sys_myisam_repair_threads(&vars, "myisam_repair_threads", &SV::myisam_repair_threads); static sys_var_thd_ulong sys_myisam_sort_buffer_size(&vars, "myisam_sort_buffer_size", &SV::myisam_sort_buff_size); static sys_var_bool_ptr sys_myisam_use_mmap(&vars, "myisam_use_mmap", @@ -369,6 +430,13 @@ static sys_var_thd_enum sys_myisam_stats_method(&vars, "myisam_stats_met &myisam_stats_method_typelib, NULL); +#ifdef __NT__ +/* purecov: begin inspected */ +static sys_var_const sys_named_pipe(&vars, "named_pipe", + OPT_GLOBAL, SHOW_MY_BOOL, + (uchar*) &opt_enable_named_pipe); +/* purecov: end */ +#endif static sys_var_thd_ulong_session_readonly sys_net_buffer_length(&vars, "net_buffer_length", &SV::net_buffer_length); static sys_var_thd_ulong sys_net_read_timeout(&vars, "net_read_timeout", @@ -387,12 +455,29 @@ static sys_var_bool_ptr_readonly sys_old_mode(&vars, "old", sys_var_thd_bool sys_old_alter_table(&vars, "old_alter_table", &SV::old_alter_table); sys_var_thd_bool sys_old_passwords(&vars, "old_passwords", &SV::old_passwords); +static sys_var_const sys_open_files_limit(&vars, "open_files_limit", + OPT_GLOBAL, SHOW_LONG, + (uchar*) + &open_files_limit); static sys_var_thd_ulong sys_optimizer_prune_level(&vars, "optimizer_prune_level", &SV::optimizer_prune_level); static sys_var_thd_ulong sys_optimizer_search_depth(&vars, "optimizer_search_depth", &SV::optimizer_search_depth); +static sys_var_const sys_pid_file(&vars, "pid_file", + OPT_GLOBAL, SHOW_CHAR, + (uchar*) pidfile_name); +static sys_var_const sys_plugin_dir(&vars, "plugin_dir", + OPT_GLOBAL, SHOW_CHAR, + (uchar*) opt_plugin_dir); +static sys_var_const sys_port(&vars, "port", + OPT_GLOBAL, SHOW_INT, + (uchar*) &mysqld_port); static sys_var_thd_ulong sys_preload_buff_size(&vars, "preload_buffer_size", &SV::preload_buff_size); +static sys_var_const sys_protocol_version(&vars, "protocol_version", + OPT_GLOBAL, SHOW_INT, + (uchar*) + &protocol_version); static sys_var_thd_ulong sys_read_buff_size(&vars, "read_buffer_size", &SV::read_buff_size); static sys_var_opt_readonly sys_readonly(&vars, "read_only", &opt_readonly); @@ -414,6 +499,45 @@ static sys_var_thd_ulong sys_query_alloc_block_size(&vars, "query_alloc_block_si static sys_var_thd_ulong sys_query_prealloc_size(&vars, "query_prealloc_size", &SV::query_prealloc_size, 0, fix_thd_mem_root); +#ifdef HAVE_SMEM +/* purecov: begin tested */ +static sys_var_const sys_shared_memory(&vars, "shared_memory", + OPT_GLOBAL, SHOW_MY_BOOL, + (uchar*) + &opt_enable_shared_memory); +static sys_var_const sys_shared_memory_base_name(&vars, + "shared_memory_base_name", + OPT_GLOBAL, SHOW_CHAR_PTR, + (uchar*) + &shared_memory_base_name); +/* purecov: end */ +#endif +static sys_var_const sys_skip_external_locking(&vars, + "skip_external_locking", + OPT_GLOBAL, SHOW_MY_BOOL, + (uchar*) + &my_disable_locking); +static sys_var_const sys_skip_networking(&vars, "skip_networking", + OPT_GLOBAL, SHOW_BOOL, + (uchar*) &opt_disable_networking); +static sys_var_const sys_skip_show_database(&vars, "skip_show_database", + OPT_GLOBAL, SHOW_BOOL, + (uchar*) &opt_skip_show_db); +#ifdef HAVE_SYS_UN_H +static sys_var_const sys_socket(&vars, "socket", + OPT_GLOBAL, SHOW_CHAR_PTR, + (uchar*) &mysqld_unix_port); +#endif +#ifdef HAVE_THR_SETCONCURRENCY +/* purecov: begin tested */ +static sys_var_const sys_thread_concurrency(&vars, "thread_concurrency", + OPT_GLOBAL, SHOW_LONG, + (uchar*) &concurrency); +/* purecov: end */ +#endif +static sys_var_const sys_thread_stack(&vars, "thread_stack", + OPT_GLOBAL, SHOW_LONG, + (uchar*) &my_thread_stack_size); static sys_var_readonly sys_tmpdir(&vars, "tmpdir", OPT_GLOBAL, SHOW_CHAR, get_tmpdir); static sys_var_thd_ulong sys_trans_alloc_block_size(&vars, "transaction_alloc_block_size", &SV::trans_alloc_block_size, @@ -764,59 +888,6 @@ static sys_var_log_output sys_var_log_output_state(&vars, "log_output", &log_out &log_output_typelib, 0); -/* - Additional variables (not derived from sys_var class, not accessible as - @@varname in SELECT or SET). Sorted in alphabetical order to facilitate - maintenance - SHOW VARIABLES will sort its output. - TODO: remove this list completely -*/ - -#define FIXED_VARS_SIZE (sizeof(fixed_vars) / sizeof(SHOW_VAR)) -static SHOW_VAR fixed_vars[]= { - {"back_log", (char*) &back_log, SHOW_LONG}, - {"character_sets_dir", mysql_charsets_dir, SHOW_CHAR}, - {"ft_max_word_len", (char*) &ft_max_word_len, SHOW_LONG}, - {"ft_min_word_len", (char*) &ft_min_word_len, SHOW_LONG}, - {"ft_query_expansion_limit",(char*) &ft_query_expansion_limit, SHOW_LONG}, - {"ft_stopword_file", (char*) &ft_stopword_file, SHOW_CHAR_PTR}, - {"init_file", (char*) &opt_init_file, SHOW_CHAR_PTR}, - {"language", language, SHOW_CHAR}, - {"large_files_support", (char*) &opt_large_files, SHOW_BOOL}, - {"large_page_size", (char*) &opt_large_page_size, SHOW_INT}, - {"large_pages", (char*) &opt_large_pages, SHOW_MY_BOOL}, -#ifdef HAVE_MLOCKALL - {"locked_in_memory", (char*) &locked_in_memory, SHOW_MY_BOOL}, -#endif - {"log_bin", (char*) &opt_bin_log, SHOW_BOOL}, - {"log_error", (char*) log_error_file, SHOW_CHAR}, - {"lower_case_file_system", (char*) &lower_case_file_system, SHOW_MY_BOOL}, - {"lower_case_table_names", (char*) &lower_case_table_names, SHOW_INT}, - {"myisam_recover_options", (char*) &myisam_recover_options_str, SHOW_CHAR_PTR}, -#ifdef __NT__ - {"named_pipe", (char*) &opt_enable_named_pipe, SHOW_MY_BOOL}, -#endif - {"open_files_limit", (char*) &open_files_limit, SHOW_LONG}, - {"pid_file", (char*) pidfile_name, SHOW_CHAR}, - {"plugin_dir", (char*) opt_plugin_dir, SHOW_CHAR}, - {"port", (char*) &mysqld_port, SHOW_INT}, - {"protocol_version", (char*) &protocol_version, SHOW_INT}, -#ifdef HAVE_SMEM - {"shared_memory", (char*) &opt_enable_shared_memory, SHOW_MY_BOOL}, - {"shared_memory_base_name", (char*) &shared_memory_base_name, SHOW_CHAR_PTR}, -#endif - {"skip_external_locking", (char*) &my_disable_locking, SHOW_MY_BOOL}, - {"skip_networking", (char*) &opt_disable_networking, SHOW_BOOL}, - {"skip_show_database", (char*) &opt_skip_show_db, SHOW_BOOL}, -#ifdef HAVE_SYS_UN_H - {"socket", (char*) &mysqld_unix_port, SHOW_CHAR_PTR}, -#endif -#ifdef HAVE_THR_SETCONCURRENCY - {"thread_concurrency", (char*) &concurrency, SHOW_LONG}, -#endif - {"thread_stack", (char*) &my_thread_stack_size, SHOW_LONG}, -}; - - bool sys_var::check(THD *thd, set_var *var) { var->save_result.ulonglong_value= var->value->val_int(); @@ -3135,14 +3206,12 @@ static int show_cmp(SHOW_VAR *a, SHOW_VAR *b) SHOW_VAR* enumerate_sys_vars(THD *thd, bool sorted) { int count= system_variable_hash.records, i; - int fixed_count= fixed_show_vars.elements; - int size= sizeof(SHOW_VAR) * (count + fixed_count + 1); + int size= sizeof(SHOW_VAR) * (count + 1); SHOW_VAR *result= (SHOW_VAR*) thd->alloc(size); if (result) { - SHOW_VAR *show= result + fixed_count; - memcpy(result, fixed_show_vars.buffer, fixed_count * sizeof(SHOW_VAR)); + SHOW_VAR *show= result; for (i= 0; i < count; i++) { @@ -3155,7 +3224,7 @@ SHOW_VAR* enumerate_sys_vars(THD *thd, bool sorted) /* sort into order */ if (sorted) - my_qsort(result, count + fixed_count, sizeof(SHOW_VAR), + my_qsort(result, count, sizeof(SHOW_VAR), (qsort_cmp) show_cmp); /* make last element empty */ @@ -3183,13 +3252,6 @@ int set_var_init() for (sys_var *var=vars.first; var; var= var->next, count++); - if (my_init_dynamic_array(&fixed_show_vars, sizeof(SHOW_VAR), - FIXED_VARS_SIZE + 64, 64)) - goto error; - - fixed_show_vars.elements= FIXED_VARS_SIZE; - memcpy(fixed_show_vars.buffer, fixed_vars, sizeof(fixed_vars)); - if (hash_init(&system_variable_hash, system_charset_info, count, 0, 0, (hash_get_key) get_sys_var_length, 0, HASH_UNIQUE)) goto error; @@ -3217,28 +3279,6 @@ error: void set_var_free() { hash_free(&system_variable_hash); - delete_dynamic(&fixed_show_vars); -} - - -/* - Add elements to the dynamic list of read-only system variables. - - SYNOPSIS - mysql_append_static_vars() - show_vars Pointer to start of array - count Number of elements - - RETURN VALUES - 0 SUCCESS - otherwise FAILURE -*/ -int mysql_append_static_vars(const SHOW_VAR *show_vars, uint count) -{ - for (; count > 0; count--, show_vars++) - if (insert_dynamic(&fixed_show_vars, (uchar*) show_vars)) - return 1; - return 0; } diff --git a/sql/set_var.h b/sql/set_var.h index ab819694e09..6b62d62706e 100644 --- a/sql/set_var.h +++ b/sql/set_var.h @@ -929,6 +929,34 @@ public: }; +/** + Global-only, read-only variable. E.g. command line option. +*/ + +class sys_var_const: public sys_var +{ +public: + enum_var_type var_type; + SHOW_TYPE show_type_value; + uchar *ptr; + sys_var_const(sys_var_chain *chain, const char *name_arg, enum_var_type type, + SHOW_TYPE show_type_arg, uchar *ptr_arg) + :sys_var(name_arg), var_type(type), + show_type_value(show_type_arg), ptr(ptr_arg) + { chain_sys_var(chain); } + bool update(THD *thd, set_var *var) { return 1; } + bool check_default(enum_var_type type) { return 1; } + bool check_type(enum_var_type type) { return type != var_type; } + bool check_update_type(Item_result type) { return 1; } + uchar *value_ptr(THD *thd, enum_var_type type, LEX_STRING *base) + { + return ptr; + } + SHOW_TYPE show_type() { return show_type_value; } + bool is_readonly() const { return 1; } +}; + + class sys_var_have_option: public sys_var { protected: @@ -1317,7 +1345,6 @@ struct sys_var_with_base int set_var_init(); void set_var_free(); -int mysql_append_static_vars(const SHOW_VAR *show_vars, uint count); SHOW_VAR* enumerate_sys_vars(THD *thd, bool sorted); int mysql_add_sys_var_chain(sys_var *chain, struct my_option *long_options); int mysql_del_sys_var_chain(sys_var *chain); diff --git a/sql/slave.cc b/sql/slave.cc index 0040b69f8de..6708f2ddd60 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -49,6 +49,7 @@ #define MAX_SLAVE_RETRY_PAUSE 5 bool use_slave_mask = 0; MY_BITMAP slave_error_mask; +char slave_skip_error_names[SHOW_VAR_FUNC_BUFF_SIZE]; typedef bool (*CHECK_KILLED_FUNC)(THD*,void*); @@ -275,6 +276,64 @@ err: } +/** + Convert slave skip errors bitmap into a printable string. +*/ + +static void print_slave_skip_errors(void) +{ + /* + To be safe, we want 10 characters of room in the buffer for a number + plus terminators. Also, we need some space for constant strings. + 10 characters must be sufficient for a number plus {',' | '...'} + plus a NUL terminator. That is a max 6 digit number. + */ + const int MIN_ROOM= 10; + DBUG_ENTER("print_slave_skip_errors"); + DBUG_ASSERT(sizeof(slave_skip_error_names) > MIN_ROOM); + DBUG_ASSERT(MAX_SLAVE_ERROR <= 999999); // 6 digits + + if (!use_slave_mask || bitmap_is_clear_all(&slave_error_mask)) + { + /* purecov: begin tested */ + memcpy(slave_skip_error_names, STRING_WITH_LEN("OFF")); + /* purecov: end */ + } + else if (bitmap_is_set_all(&slave_error_mask)) + { + /* purecov: begin tested */ + memcpy(slave_skip_error_names, STRING_WITH_LEN("ALL")); + /* purecov: end */ + } + else + { + char *buff= slave_skip_error_names; + char *bend= buff + sizeof(slave_skip_error_names); + int errnum; + + for (errnum= 1; errnum < MAX_SLAVE_ERROR; errnum++) + { + if (bitmap_is_set(&slave_error_mask, errnum)) + { + if (buff + MIN_ROOM >= bend) + break; /* purecov: tested */ + buff= int10_to_str(errnum, buff, 10); + *buff++= ','; + } + } + if (buff != slave_skip_error_names) + buff--; // Remove last ',' + if (errnum < MAX_SLAVE_ERROR) + { + /* Couldn't show all errors */ + buff= strmov(buff, "..."); /* purecov: tested */ + } + *buff=0; + } + DBUG_PRINT("init", ("error_names: '%s'", slave_skip_error_names)); + DBUG_VOID_RETURN; +} + /* Init function to set up array for errors that should be skipped for slave @@ -314,6 +373,8 @@ void init_slave_skip_errors(const char* arg) while (!my_isdigit(system_charset_info,*p) && *p) p++; } + /* Convert slave skip errors bitmap into a printable string. */ + print_slave_skip_errors(); DBUG_VOID_RETURN; } diff --git a/sql/slave.h b/sql/slave.h index dc2d668c97b..abd63315e62 100644 --- a/sql/slave.h +++ b/sql/slave.h @@ -98,6 +98,7 @@ class Master_info; extern ulong master_retry_count; extern MY_BITMAP slave_error_mask; +extern char slave_skip_error_names[]; extern bool use_slave_mask; extern char *slave_load_tmpdir; extern char *master_info_file, *relay_log_info_file; diff --git a/sql/sql_repl.cc b/sql/sql_repl.cc index 932b7a67b4d..eac7a50417a 100644 --- a/sql/sql_repl.cc +++ b/sql/sql_repl.cc @@ -1660,64 +1660,38 @@ public: static sys_var_chain vars = { NULL, NULL }; +static sys_var_const sys_log_slave_updates(&vars, "log_slave_updates", + OPT_GLOBAL, SHOW_MY_BOOL, + (uchar*) &opt_log_slave_updates); +static sys_var_const sys_relay_log(&vars, "relay_log", + OPT_GLOBAL, SHOW_CHAR_PTR, + (uchar*) &opt_relay_logname); +static sys_var_const sys_relay_log_index(&vars, "relay_log_index", + OPT_GLOBAL, SHOW_CHAR_PTR, + (uchar*) &opt_relaylog_index_name); +static sys_var_const sys_relay_log_info_file(&vars, "relay_log_info_file", + OPT_GLOBAL, SHOW_CHAR_PTR, + (uchar*) &relay_log_info_file); static sys_var_bool_ptr sys_relay_log_purge(&vars, "relay_log_purge", &relay_log_purge); +static sys_var_const sys_relay_log_space_limit(&vars, + "relay_log_space_limit", + OPT_GLOBAL, SHOW_LONGLONG, + (uchar*) + &relay_log_space_limit); +static sys_var_const sys_slave_load_tmpdir(&vars, "slave_load_tmpdir", + OPT_GLOBAL, SHOW_CHAR_PTR, + (uchar*) &slave_load_tmpdir); static sys_var_long_ptr sys_slave_net_timeout(&vars, "slave_net_timeout", &slave_net_timeout); +static sys_var_const sys_slave_skip_errors(&vars, "slave_skip_errors", + OPT_GLOBAL, SHOW_CHAR, + (uchar*) slave_skip_error_names); static sys_var_long_ptr sys_slave_trans_retries(&vars, "slave_transaction_retries", &slave_trans_retries); static sys_var_sync_binlog_period sys_sync_binlog_period(&vars, "sync_binlog", &sync_binlog_period); static sys_var_slave_skip_counter sys_slave_skip_counter(&vars, "sql_slave_skip_counter"); -static int show_slave_skip_errors(THD *thd, SHOW_VAR *var, char *buff); - - -static SHOW_VAR fixed_vars[]= { - {"log_slave_updates", (char*) &opt_log_slave_updates, SHOW_MY_BOOL}, - {"relay_log" , (char*) &opt_relay_logname, SHOW_CHAR_PTR}, - {"relay_log_index", (char*) &opt_relaylog_index_name, SHOW_CHAR_PTR}, - {"relay_log_info_file", (char*) &relay_log_info_file, SHOW_CHAR_PTR}, - {"relay_log_space_limit", (char*) &relay_log_space_limit, SHOW_LONGLONG}, - {"slave_load_tmpdir", (char*) &slave_load_tmpdir, SHOW_CHAR_PTR}, - {"slave_skip_errors", (char*) &show_slave_skip_errors, SHOW_FUNC}, -}; - -static int show_slave_skip_errors(THD *thd, SHOW_VAR *var, char *buff) -{ - var->type=SHOW_CHAR; - var->value= buff; - if (!use_slave_mask || bitmap_is_clear_all(&slave_error_mask)) - { - var->value= const_cast("OFF"); - } - else if (bitmap_is_set_all(&slave_error_mask)) - { - var->value= const_cast("ALL"); - } - else - { - /* 10 is enough assuming errors are max 4 digits */ - int i; - var->value= buff; - for (i= 1; - i < MAX_SLAVE_ERROR && - (buff - var->value) < SHOW_VAR_FUNC_BUFF_SIZE; - i++) - { - if (bitmap_is_set(&slave_error_mask, i)) - { - buff= int10_to_str(i, buff, 10); - *buff++= ','; - } - } - if (var->value != buff) - buff--; // Remove last ',' - if (i < MAX_SLAVE_ERROR) - buff= strmov(buff, "..."); // Couldn't show all errors - *buff=0; - } - return 0; -} bool sys_var_slave_skip_counter::check(THD *thd, set_var *var) { @@ -1765,8 +1739,6 @@ bool sys_var_sync_binlog_period::update(THD *thd, set_var *var) int init_replication_sys_vars() { - mysql_append_static_vars(fixed_vars, sizeof(fixed_vars) / sizeof(SHOW_VAR)); - if (mysql_add_sys_var_chain(vars.first, my_long_options)) { /* should not happen */ From d795963cba42fefd57a788eb1112bfc4cc13f6d3 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Mon, 24 Nov 2008 17:30:47 +0200 Subject: [PATCH 112/141] Bug #39656: Behaviour different for agg functions with & without where - ONLY_FULL_GROUP_BY The check for non-aggregated columns in queries with aggregate function, but without GROUP BY was treating all the parts of the query as if they are in the SELECT list. Fixed by ignoring the non-aggregated fields in the WHERE clause. mysql-test/r/func_group.result: Bug #39656: test case mysql-test/t/func_group.test: Bug #39656: test case sql/sql_select.cc: Bug #39656: ignore the new non-aggregated column refs in a WHERE by saving the state so far and then adding only the new values of the other parts of the bitmask. --- mysql-test/r/func_group.result | 23 +++++++++++++++++++++++ mysql-test/t/func_group.test | 29 +++++++++++++++++++++++++++++ sql/sql_select.cc | 10 ++++++++++ 3 files changed, 62 insertions(+) diff --git a/mysql-test/r/func_group.result b/mysql-test/r/func_group.result index 772e432355b..a7f4c58f4af 100644 --- a/mysql-test/r/func_group.result +++ b/mysql-test/r/func_group.result @@ -1425,4 +1425,27 @@ SELECT AVG(a), CAST(AVG(a) AS DECIMAL) FROM t1; AVG(a) CAST(AVG(a) AS DECIMAL) 15 15 DROP TABLE t1; +CREATE TABLE t1 (a INT, b INT); +INSERT INTO t1 VALUES (1,1), (1,2), (1,3); +SET SQL_MODE='ONLY_FULL_GROUP_BY'; +SELECT COUNT(*) FROM t1; +COUNT(*) +3 +SELECT COUNT(*) FROM t1 where a=1; +COUNT(*) +3 +SELECT COUNT(*),a FROM t1; +ERROR 42000: Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause +SELECT COUNT(*) FROM t1 a JOIN t1 b ON a.a= b.a; +COUNT(*) +9 +SELECT COUNT(*), (SELECT count(*) FROM t1 inr WHERE inr.a = outr.a) +FROM t1 outr; +ERROR 42000: Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause +SELECT COUNT(*) FROM t1 a JOIN t1 outr +ON a.a= (SELECT count(*) FROM t1 inr WHERE inr.a = outr.a); +COUNT(*) +0 +SET SQL_MODE=default; +DROP TABLE t1; End of 5.0 tests diff --git a/mysql-test/t/func_group.test b/mysql-test/t/func_group.test index dbe6d3113d5..38779ac1a2f 100644 --- a/mysql-test/t/func_group.test +++ b/mysql-test/t/func_group.test @@ -926,5 +926,34 @@ SELECT AVG(a), CAST(AVG(a) AS DECIMAL) FROM t1; DROP TABLE t1; +# +# Bug #39656: Behaviour different for agg functions with & without where - +# ONLY_FULL_GROUP_BY +# + +CREATE TABLE t1 (a INT, b INT); +INSERT INTO t1 VALUES (1,1), (1,2), (1,3); + +SET SQL_MODE='ONLY_FULL_GROUP_BY'; + +SELECT COUNT(*) FROM t1; +SELECT COUNT(*) FROM t1 where a=1; + +--error ER_MIX_OF_GROUP_FUNC_AND_FIELDS +SELECT COUNT(*),a FROM t1; + +SELECT COUNT(*) FROM t1 a JOIN t1 b ON a.a= b.a; + +--error ER_MIX_OF_GROUP_FUNC_AND_FIELDS +SELECT COUNT(*), (SELECT count(*) FROM t1 inr WHERE inr.a = outr.a) + FROM t1 outr; + +SELECT COUNT(*) FROM t1 a JOIN t1 outr + ON a.a= (SELECT count(*) FROM t1 inr WHERE inr.a = outr.a); + +SET SQL_MODE=default; +DROP TABLE t1; + + ### --echo End of 5.0 tests diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 428d1709f94..2ac33c4e07f 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -390,11 +390,21 @@ inline int setup_without_group(THD *thd, Item **ref_pointer_array, { int res; nesting_map save_allow_sum_func=thd->lex->allow_sum_func ; + /* + Need to save the value, so we can turn off only the new NON_AGG_FIELD + additions coming from the WHERE + */ + uint8 saved_flag= thd->lex->current_select->full_group_by_flag; DBUG_ENTER("setup_without_group"); thd->lex->allow_sum_func&= ~(1 << thd->lex->current_select->nest_level); res= setup_conds(thd, tables, leaves, conds); + /* it's not wrong to have non-aggregated columns in a WHERE */ + if (thd->variables.sql_mode & MODE_ONLY_FULL_GROUP_BY) + thd->lex->current_select->full_group_by_flag= saved_flag | + (thd->lex->current_select->full_group_by_flag & ~NON_AGG_FIELD_USED); + thd->lex->allow_sum_func|= 1 << thd->lex->current_select->nest_level; res= res || setup_order(thd, ref_pointer_array, tables, fields, all_fields, order); From d5057740a02cb4d6fbd63ea8e37d40d328c046d4 Mon Sep 17 00:00:00 2001 From: Mattias Jonsson Date: Mon, 24 Nov 2008 17:24:03 +0100 Subject: [PATCH 113/141] Bug#40954: Crash in MyISAM index code with concurrency test using partitioned tables Problem was usage of read_range_first with an empty key. Solution was to not to give a key if it was empty. mysql-test/r/partition.result: Bug#40954: Crash in MyISAM index code with concurrency test using partitioned tables Updated test result. mysql-test/t/partition.test: Bug#40954: Crash in MyISAM index code with concurrency test using partitioned tables Added test case --- mysql-test/r/partition.result | 12 ++++++++++++ mysql-test/t/partition.test | 15 +++++++++++++++ sql/ha_partition.cc | 3 ++- 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/partition.result b/mysql-test/r/partition.result index adb055dd5e5..93684ba05e5 100644 --- a/mysql-test/r/partition.result +++ b/mysql-test/r/partition.result @@ -1,4 +1,16 @@ drop table if exists t1, t2; +CREATE TABLE t1 ( +pk INT NOT NULL AUTO_INCREMENT, +PRIMARY KEY (pk) +) +/*!50100 PARTITION BY HASH (pk) +PARTITIONS 2 */; +INSERT INTO t1 VALUES (NULL); +INSERT INTO t1 VALUES (NULL); +INSERT INTO t1 VALUES (NULL); +SELECT * FROM t1 WHERE pk < 0 ORDER BY pk; +pk +DROP TABLE t1; CREATE TABLE t1 (a INT NOT NULL, KEY(a)) PARTITION BY RANGE(a) (PARTITION p1 VALUES LESS THAN (200), PARTITION pmax VALUES LESS THAN MAXVALUE); diff --git a/mysql-test/t/partition.test b/mysql-test/t/partition.test index e8df2b01a94..6a12e4a4d12 100644 --- a/mysql-test/t/partition.test +++ b/mysql-test/t/partition.test @@ -14,6 +14,21 @@ drop table if exists t1, t2; --enable_warnings +# +# Bug#40954: Crash if range search and order by. +# +CREATE TABLE t1 ( + pk INT NOT NULL AUTO_INCREMENT, + PRIMARY KEY (pk) +) +/*!50100 PARTITION BY HASH (pk) +PARTITIONS 2 */; +INSERT INTO t1 VALUES (NULL); +INSERT INTO t1 VALUES (NULL); +INSERT INTO t1 VALUES (NULL); +SELECT * FROM t1 WHERE pk < 0 ORDER BY pk; +DROP TABLE t1; + # # Bug#40494: Crash MYSQL server crashes on range access with partitioning # and order by diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc index a1131a99fa4..0c96b06381c 100644 --- a/sql/ha_partition.cc +++ b/sql/ha_partition.cc @@ -4490,7 +4490,8 @@ int ha_partition::handle_ordered_index_scan(uchar *buf, bool reverse_order) This can only read record to table->record[0], as it was set when the table was being opened. We have to memcpy data ourselves. */ - error= file->read_range_first(&m_start_key, end_range, eq_range, TRUE); + error= file->read_range_first(m_start_key.key? &m_start_key: NULL, + end_range, eq_range, TRUE); memcpy(rec_buf_ptr, table->record[0], m_rec_length); reverse_order= FALSE; break; From 2578609322e891f78c9d2807a9533e68c36cef52 Mon Sep 17 00:00:00 2001 From: Patrick Crews Date: Mon, 24 Nov 2008 16:53:32 -0500 Subject: [PATCH 114/141] Bug#40866: mysql-test-run's check of tests provides false failures due to timestamp Altering how MTR checks global variable status to exclude timestamp Changed SQL statements to update style. --- mysql-test/include/check-testcase.test | 38 +++++++++++++------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/mysql-test/include/check-testcase.test b/mysql-test/include/check-testcase.test index 30cb7391f30..a9885f7b0ec 100644 --- a/mysql-test/include/check-testcase.test +++ b/mysql-test/include/check-testcase.test @@ -11,12 +11,12 @@ # # Dump all global variables # -show global variables; +SHOW GLOBAL VARIABLES WHERE variable_name != 'timestamp'; # # Dump all databases # -show databases; +SHOW DATABASES; # # Dump the "test" database, all it's tables and their data @@ -29,23 +29,23 @@ show databases; # --exec $MYSQL_DUMP --skip-comments --no-data mysql use mysql; -select * from columns_priv; -select * from db order by host, db, user; -select * from func; -select * from help_category; -select * from help_keyword; -select * from help_relation; -select * from help_relation; -select * from host; -select * from proc; -select * from procs_priv; -select * from tables_priv; -select * from time_zone; -select * from time_zone_leap_second; -select * from time_zone_name; -select * from time_zone_transition; -select * from time_zone_transition_type; -select * from user; +SELECT * FROM columns_priv; +SELECT * FROM db ORDER BY host, db, user; +SELECT * FROM func; +SELECT * FROM help_category; +SELECT * FROM help_keyword; +SELECT * FROM help_relation; +SELECT * FROM help_relation; +SELECT * FROM host; +SELECT * FROM proc; +SELECT * FROM procs_priv; +SELECT * FROM tables_priv; +SELECT * FROM time_zone; +SELECT * FROM time_zone_leap_second; +SELECT * FROM time_zone_name; +SELECT * FROM time_zone_transition; +SELECT * FROM time_zone_transition_type; +SELECT * FROM user; From df8a5474f8a904b4e254e446fd6ea61a94c98e2a Mon Sep 17 00:00:00 2001 From: Ramil Kalimullin Date: Tue, 25 Nov 2008 10:22:02 +0400 Subject: [PATCH 115/141] Fix for bug#40984: backport fix from 39585 into 5.0 Problem: in 5.0 'check table for upgrade' doesn't detect incompatible collation changes made in 5.0.48. Fix: backport #39585 fix to 5.0 sql/handler.cc: Fix for bug#40984: backport fix from 39585 into 5.0 - backport of #39585 fix sql/handler.h: Fix for bug#40984: backport fix from 39585 into 5.0 - backport of #39585 fix --- sql/handler.cc | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ sql/handler.h | 1 + 2 files changed, 50 insertions(+) diff --git a/sql/handler.cc b/sql/handler.cc index 67ec5f3e759..71d184ad84b 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -1957,8 +1957,53 @@ bool handler::get_error_message(int error, String* buf) } +/** + Check for incompatible collation changes. + + @retval + HA_ADMIN_NEEDS_UPGRADE Table may have data requiring upgrade. + @retval + 0 No upgrade required. +*/ + +int handler::check_collation_compatibility() +{ + ulong mysql_version= table->s->mysql_version; + + if (mysql_version < 50048) + { + KEY *key= table->key_info; + KEY *key_end= key + table->s->keys; + for (; key < key_end; key++) + { + KEY_PART_INFO *key_part= key->key_part; + KEY_PART_INFO *key_part_end= key_part + key->key_parts; + for (; key_part < key_part_end; key_part++) + { + if (!key_part->fieldnr) + continue; + Field *field= table->field[key_part->fieldnr - 1]; + uint cs_number= field->charset()->number; + if (mysql_version < 50048 && + (cs_number == 11 || /* ascii_general_ci - bug #29499, bug #27562 */ + cs_number == 41 || /* latin7_general_ci - bug #29461 */ + cs_number == 42 || /* latin7_general_cs - bug #29461 */ + cs_number == 20 || /* latin7_estonian_cs - bug #29461 */ + cs_number == 21 || /* latin2_hungarian_ci - bug #29461 */ + cs_number == 22 || /* koi8u_general_ci - bug #29461 */ + cs_number == 23 || /* cp1251_ukrainian_ci - bug #29461 */ + cs_number == 26)) /* cp1250_general_ci - bug #29461 */ + return HA_ADMIN_NEEDS_UPGRADE; + } + } + } + return 0; +} + + int handler::ha_check_for_upgrade(HA_CHECK_OPT *check_opt) { + int error; KEY *keyinfo, *keyend; KEY_PART_INFO *keypart, *keypartend; @@ -1987,6 +2032,10 @@ int handler::ha_check_for_upgrade(HA_CHECK_OPT *check_opt) } if (table->s->frm_version != FRM_VER_TRUE_VARCHAR) return HA_ADMIN_NEEDS_ALTER; + + if ((error= check_collation_compatibility())) + return error; + return check_for_upgrade(check_opt); } diff --git a/sql/handler.h b/sql/handler.h index aa3377c3868..8706aae5fce 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -787,6 +787,7 @@ protected: virtual int check_for_upgrade(HA_CHECK_OPT *check_opt) { return 0; } public: + int check_collation_compatibility(); int ha_check_for_upgrade(HA_CHECK_OPT *check_opt); int check_old_types(); /* to be actually called to get 'check()' functionality*/ From a8d3f0325b6c0ae3a4cb47e3991c1a14e804e470 Mon Sep 17 00:00:00 2001 From: Ingo Struewing Date: Tue, 25 Nov 2008 15:06:31 +0100 Subject: [PATCH 116/141] Bug#41002 - symlink.test fails on symlinked datadir symlink.test failed when run in an environment that has mysql-test/var symlinked to elsewhere, e.g. a memory file system. This is the case when running mysql-test-run --mem. In this case the server does not detect that the directory specified with a DATA/INDEX DIRECTORY clause is within its data home directory. This problem was reported as Bug#39277 (Creation of table with data and/or index files in data home directory succeeds). It was decided that it will not be fixed in 5.1. Hence, the current behavior is accepted for 5.1. It will be fixed in 6.0 though. Fixed the test case so that it works in both environments. 1. When no symbolic link is involved, the server notices that the data/index directory is in its data hone directory and rejects the CREATE/ALTER TABLE statement. 2. When the data home directory is symlinked, it does not notice the problem and executes the statement sucessfully. mysql-test/r/symlink.result: Bug#41002 - symlink.test fails on symlinked datadir Updated test result. mysql-test/t/symlink.test: Bug#41002 - symlink.test fails on symlinked datadir Adjusted the test case to the accepted behavior. It needs to accept success and failure of some statements. --- mysql-test/r/symlink.result | 8 ++++---- mysql-test/t/symlink.test | 31 +++++++++++++++++++++++++++---- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/mysql-test/r/symlink.result b/mysql-test/r/symlink.result index 7711517fe5e..03bdeaceb58 100644 --- a/mysql-test/r/symlink.result +++ b/mysql-test/r/symlink.result @@ -148,16 +148,16 @@ DROP TABLE t1; End of 5.0 tests CREATE TABLE t1(a INT) INDEX DIRECTORY='TEST_DIR/master-data/mysql'; -ERROR HY000: Incorrect arguments to INDEX DIRECTORY +DROP TABLE IF EXISTS t1; CREATE TABLE t1(a INT) DATA DIRECTORY='TEST_DIR/master-data/test'; -ERROR HY000: Incorrect arguments to DATA DIRECTORY +DROP TABLE IF EXISTS t1; CREATE TABLE t1(a INT) DATA DIRECTORY='TEST_DIR/master-data/'; -ERROR HY000: Incorrect arguments to DATA DIRECTORY +DROP TABLE IF EXISTS t1; CREATE TABLE t1(a INT) INDEX DIRECTORY='TEST_DIR/master-data'; -ERROR HY000: Incorrect arguments to INDEX DIRECTORY +DROP TABLE IF EXISTS t1; CREATE TABLE t1(a INT) INDEX DIRECTORY='TEST_DIR/master-data_var'; ERROR HY000: Can't create/write to file 'TEST_DIR/master-data_var/t1.MYI' (Errcode: 2) diff --git a/mysql-test/t/symlink.test b/mysql-test/t/symlink.test index 3c7e9b658f3..b13640e7f3b 100644 --- a/mysql-test/t/symlink.test +++ b/mysql-test/t/symlink.test @@ -194,26 +194,49 @@ DROP TABLE t1; # # Bug#32167: another privilege bypass with DATA/INDEX DIRECTORY # +# With Bug#41002 (symlink.test fails on symlinked datadir) it was +# decided that the below statements may also succeed if the data +# home directory is symlinked, e.g. mysql-test-run --mem. +# This will be fixed in 6.0 only. +# --replace_result $MYSQLTEST_VARDIR TEST_DIR ---error ER_WRONG_ARGUMENTS +--error 0,ER_WRONG_ARGUMENTS eval CREATE TABLE t1(a INT) INDEX DIRECTORY='$MYSQLTEST_VARDIR/master-data/mysql'; +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings +# --replace_result $MYSQLTEST_VARDIR TEST_DIR ---error ER_WRONG_ARGUMENTS +--error 0,ER_WRONG_ARGUMENTS eval CREATE TABLE t1(a INT) DATA DIRECTORY='$MYSQLTEST_VARDIR/master-data/test'; +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings +# --replace_result $MYSQLTEST_VARDIR TEST_DIR ---error ER_WRONG_ARGUMENTS +--error 0,ER_WRONG_ARGUMENTS eval CREATE TABLE t1(a INT) DATA DIRECTORY='$MYSQLTEST_VARDIR/master-data/'; +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings +# --replace_result $MYSQLTEST_VARDIR TEST_DIR ---error ER_WRONG_ARGUMENTS +--error 0,ER_WRONG_ARGUMENTS eval CREATE TABLE t1(a INT) INDEX DIRECTORY='$MYSQLTEST_VARDIR/master-data'; +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings +# --replace_result $MYSQLTEST_VARDIR TEST_DIR --error 1 eval CREATE TABLE t1(a INT) INDEX DIRECTORY='$MYSQLTEST_VARDIR/master-data_var'; + +# # BUG#25677 - With --skip-symbolic-links option on, DATA DIRECTORY clause is # silently ignored # From d096079d330f77eebd3c3abef04236a9a4a08d7b Mon Sep 17 00:00:00 2001 From: "Tatiana A. Nurnberg" Date: Wed, 26 Nov 2008 09:28:17 +0100 Subject: [PATCH 117/141] Bug#37553: MySql Error Compare TimeDiff & Time We pretended that TIMEDIFF() would always return positive results; this gave strange results in comparisons of the TIMEDIFF(low,hi) =) sql/item_func.cc: signed now sql/item_timefunc.h: Functions such as TIMEDIFF() return signed results! The file-comments pretended we were doing that all along, anyway... sql/my_decimal.cc: heed sign when converting time to my_decimal; times may actually be negative! Needed for SELECT CAST(time('-73:42:12') AS DECIMAL); sql/mysql_priv.h: using signed for dates and times now --- mysql-test/r/func_sapdb.result | 12 ++++++++++++ mysql-test/t/func_sapdb.test | 17 +++++++++++++++++ sql/item_cmpfunc.cc | 14 +++++++------- sql/item_cmpfunc.h | 6 +++--- sql/item_func.cc | 2 +- sql/item_timefunc.h | 1 + sql/my_decimal.cc | 2 +- sql/mysql_priv.h | 4 ++-- 8 files changed, 44 insertions(+), 14 deletions(-) diff --git a/mysql-test/r/func_sapdb.result b/mysql-test/r/func_sapdb.result index 4db0416bdce..a06d7004908 100644 --- a/mysql-test/r/func_sapdb.result +++ b/mysql-test/r/func_sapdb.result @@ -256,3 +256,15 @@ a select str_to_date("2003-01-02 10:11:12.0012", "%Y-%m-%d %H:%i:%S.%f"); str_to_date("2003-01-02 10:11:12.0012", "%Y-%m-%d %H:%i:%S.%f") 2003-01-02 10:11:12.001200 +select timediff('2008-09-29 20:10:10','2008-09-30 20:10:10'),time('00:00:00'); +timediff('2008-09-29 20:10:10','2008-09-30 20:10:10') time('00:00:00') +-24:00:00 00:00:00 +select timediff('2008-09-29 20:10:10','2008-09-30 20:10:10')>time('00:00:00'); +timediff('2008-09-29 20:10:10','2008-09-30 20:10:10')>time('00:00:00') +0 +select timediff('2008-09-29 20:10:10','2008-09-30 20:10:10')time('00:00:00'); +select timediff('2008-09-29 20:10:10','2008-09-30 20:10:10')get_time(<ime); - value= !*is_null ? TIME_to_ulonglong_datetime(<ime) : 0; + value= !*is_null ? (longlong) TIME_to_ulonglong_datetime(<ime) : 0; } /* Do not cache GET_USER_VAR() function as its const_item() may return TRUE @@ -886,11 +886,11 @@ void Arg_comparator::set_datetime_cmp_func(Item **a1, Item **b1) obtained value */ -ulonglong +longlong get_datetime_value(THD *thd, Item ***item_arg, Item **cache_arg, Item *warn_item, bool *is_null) { - ulonglong value= 0; + longlong value= 0; String buf, *str= 0; Item *item= **item_arg; @@ -925,7 +925,7 @@ get_datetime_value(THD *thd, Item ***item_arg, Item **cache_arg, enum_field_types f_type= warn_item->field_type(); timestamp_type t_type= f_type == MYSQL_TYPE_DATE ? MYSQL_TIMESTAMP_DATE : MYSQL_TIMESTAMP_DATETIME; - value= get_date_from_str(thd, str, t_type, warn_item->name, &error); + value= (longlong) get_date_from_str(thd, str, t_type, warn_item->name, &error); /* If str did not contain a valid date according to the current SQL_MODE, get_date_from_str() has already thrown a warning, @@ -979,7 +979,7 @@ get_datetime_value(THD *thd, Item ***item_arg, Item **cache_arg, int Arg_comparator::compare_datetime() { bool a_is_null, b_is_null; - ulonglong a_value, b_value; + longlong a_value, b_value; /* Get DATE/DATETIME/TIME value of the 'a' item. */ a_value= (*get_value_func)(thd, &a, &a_cache, *b, &a_is_null); diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h index 1bd60ff37d9..db831c7030c 100644 --- a/sql/item_cmpfunc.h +++ b/sql/item_cmpfunc.h @@ -42,8 +42,8 @@ class Arg_comparator: public Sql_alloc bool is_nulls_eq; // TRUE <=> compare for the EQUAL_FUNC enum enum_date_cmp_type { CMP_DATE_DFLT= 0, CMP_DATE_WITH_DATE, CMP_DATE_WITH_STR, CMP_STR_WITH_DATE }; - ulonglong (*get_value_func)(THD *thd, Item ***item_arg, Item **cache_arg, - Item *warn_item, bool *is_null); + longlong (*get_value_func)(THD *thd, Item ***item_arg, Item **cache_arg, + Item *warn_item, bool *is_null); public: DTCollation cmp_collation; @@ -1028,7 +1028,7 @@ public: */ class cmp_item_datetime :public cmp_item { - ulonglong value; + longlong value; public: THD *thd; /* Item used for issuing warnings. */ diff --git a/sql/item_func.cc b/sql/item_func.cc index 45aa8e9bea0..8295bd41334 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -2283,7 +2283,7 @@ uint Item_func_min_max::cmp_datetimes(ulonglong *value) { Item **arg= args + i; bool is_null; - ulonglong res= get_datetime_value(thd, &arg, 0, datetime_item, &is_null); + longlong res= get_datetime_value(thd, &arg, 0, datetime_item, &is_null); if ((null_value= args[i]->null_value)) return 0; if (i == 0 || (res < min_max ? cmp_sign : -cmp_sign) > 0) diff --git a/sql/item_timefunc.h b/sql/item_timefunc.h index 7960c03d2e5..81a6c3e98bd 100644 --- a/sql/item_timefunc.h +++ b/sql/item_timefunc.h @@ -408,6 +408,7 @@ public: { return save_time_in_field(field); } + bool result_as_longlong() { return TRUE; } }; diff --git a/sql/my_decimal.cc b/sql/my_decimal.cc index 31a5b09370a..a235edbd73c 100644 --- a/sql/my_decimal.cc +++ b/sql/my_decimal.cc @@ -216,7 +216,7 @@ my_decimal *date2my_decimal(MYSQL_TIME *ltime, my_decimal *dec) date = (ltime->year*100L + ltime->month)*100L + ltime->day; if (ltime->time_type > MYSQL_TIMESTAMP_DATE) date= ((date*100L + ltime->hour)*100L+ ltime->minute)*100L + ltime->second; - if (int2my_decimal(E_DEC_FATAL_ERROR, date, FALSE, dec)) + if (int2my_decimal(E_DEC_FATAL_ERROR, ltime->neg ? -date : date, FALSE, dec)) return dec; if (ltime->second_part) { diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index 1568f042b7e..d112c2b2f39 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -1556,8 +1556,8 @@ void make_date(const DATE_TIME_FORMAT *format, const MYSQL_TIME *l_time, String *str); void make_time(const DATE_TIME_FORMAT *format, const MYSQL_TIME *l_time, String *str); -ulonglong get_datetime_value(THD *thd, Item ***item_arg, Item **cache_arg, - Item *warn_item, bool *is_null); +longlong get_datetime_value(THD *thd, Item ***item_arg, Item **cache_arg, + Item *warn_item, bool *is_null); int test_if_number(char *str,int *res,bool allow_wildcards); void change_byte(byte *,uint,char,char); From cff0a6b65cf5f848e9a64d564fde785a6772dbae Mon Sep 17 00:00:00 2001 From: Horst Hunger Date: Wed, 26 Nov 2008 09:33:41 +0100 Subject: [PATCH 118/141] Fix for bug#37702: Inserted the review results into the patch. --- mysql-test/r/timestamp_func.result | 44 +++++------- .../r/timestamp_sysdate_is_now_func.result | 25 +++++++ mysql-test/t/timestamp_func.test | 69 ++++++------------- .../timestamp_sysdate_is_now_func-master.opt | 1 + .../t/timestamp_sysdate_is_now_func.test | 47 +++++++++++++ 5 files changed, 111 insertions(+), 75 deletions(-) create mode 100644 mysql-test/r/timestamp_sysdate_is_now_func.result create mode 100644 mysql-test/t/timestamp_sysdate_is_now_func-master.opt create mode 100644 mysql-test/t/timestamp_sysdate_is_now_func.test diff --git a/mysql-test/r/timestamp_func.result b/mysql-test/r/timestamp_func.result index ed51cec4227..1b49331c069 100644 --- a/mysql-test/r/timestamp_func.result +++ b/mysql-test/r/timestamp_func.result @@ -1,33 +1,25 @@ -** Setup ** - -** Connecting con0 using root ** ** Connecting con1 using root ** -'#-----------------------------FN_DYNVARS_179_01------------------#' -** Connection con0 ** -SET @ts_old = @@SESSION.timestamp; -waiting 1 sec -SET @ts_new = @@SESSION.timestamp; -SELECT @ts_new - @ts_old >= 1 AS 'Timestamp Difference'; -Timestamp Difference +SELECT date(now()) = date(sysdate()); +date(now()) = date(sysdate()) +1 +SET @@session.timestamp = 1100000000; +SELECT date(now()) != date(sysdate()); +date(now()) != date(sysdate()) +1 +** Connecting con0 using root ** +SELECT @@session.timestamp != 1100000000; +@@session.timestamp != 1100000000 +1 +SET @@session.timestamp = 1000000000; +SELECT date(now()) != date(sysdate()); +date(now()) != date(sysdate()) 1 -1 means >=1 expected is true ** Connection con1 ** -SET @ts_old = @@SESSION.timestamp; -waiting 4 sec -SET @ts_new = @@SESSION.timestamp; -SELECT @ts_new - @ts_old >= 4 AS 'Timestamp Difference'; -Timestamp Difference +SELECT @@session.timestamp != 1000000000; +@@session.timestamp != 1000000000 1 -1 means >=4 expected is true -'#-----------------------------FN_DYNVARS_179_02---------------------#' -SET @ts_old = @@SESSION.timestamp; -Changing time zone -SET time_zone = 'MET'; -SET @ts_new = @@SESSION.timestamp; -SELECT @ts_new - @ts_old >= 1 AS 'Timestamp Difference'; -Timestamp Difference +SELECT @@session.timestamp = 1100000000; +@@session.timestamp = 1100000000 1 -1 means >=1 expected is true -** Cleanup ** ** Connection default ** Disconnecting Connections con0, con1 diff --git a/mysql-test/r/timestamp_sysdate_is_now_func.result b/mysql-test/r/timestamp_sysdate_is_now_func.result new file mode 100644 index 00000000000..e24ff2e962a --- /dev/null +++ b/mysql-test/r/timestamp_sysdate_is_now_func.result @@ -0,0 +1,25 @@ +** Connecting con1 using root ** +SELECT date(now()) = date(sysdate()); +date(now()) = date(sysdate()) +1 +SET @@session.timestamp = 1100000000; +SELECT date(now()) != date(sysdate()); +date(now()) != date(sysdate()) +0 +** Connecting con0 using root ** +SELECT @@session.timestamp != 1100000000; +@@session.timestamp != 1100000000 +1 +SET @@session.timestamp = 1000000000; +SELECT date(now()) != date(sysdate()); +date(now()) != date(sysdate()) +0 +** Connection con1 ** +SELECT @@session.timestamp != 1000000000; +@@session.timestamp != 1000000000 +1 +SELECT @@session.timestamp = 1100000000; +@@session.timestamp = 1100000000 +1 +** Connection default ** +Disconnecting Connections con0, con1 diff --git a/mysql-test/t/timestamp_func.test b/mysql-test/t/timestamp_func.test index ecca3c7daeb..e119f1b6253 100644 --- a/mysql-test/t/timestamp_func.test +++ b/mysql-test/t/timestamp_func.test @@ -9,6 +9,8 @@ # Creation Date: 2008-02-25 # # Author: Sharique Abdullah # # # +# Modified: HHunger 2008-08-28 Reimplemented the test completely. # +# # # Description: Test Cases of Dynamic System Variable "timestamp" # # that checks behavior of this variable in the following ways # # * Functionality based on different values # @@ -17,63 +19,32 @@ # # ############################################################################ ---echo ** Setup ** ---echo -# -# Setup -# +# Change timestamp which must have an effect on now(), but not on sysdate(). +# Use Unix epoch timestamp +# All comparisons must deliver true(1) +# Exception: --sysdate-is-now switches off this behaviour and must not be set. + +--echo ** Connecting con1 using root ** +connect (con1,localhost,root,,); +SELECT date(now()) = date(sysdate()); +SET @@session.timestamp = 1100000000; +SELECT date(now()) != date(sysdate()); + +# Assure that setting of the variable has no effect on other session. --echo ** Connecting con0 using root ** connect (con0,localhost,root,,); ---echo ** Connecting con1 using root ** -connect (con1, localhost, root,,); +SELECT @@session.timestamp != 1100000000; +SET @@session.timestamp = 1000000000; +SELECT date(now()) != date(sysdate()); ---echo '#-----------------------------FN_DYNVARS_179_01------------------#' -# -# Checking for connection 1 -# - ---echo ** Connection con0 ** -connection con0; -SET @ts_old = @@SESSION.timestamp; ---echo waiting 1 sec ---sleep 1 -SET @ts_new = @@SESSION.timestamp; -SELECT @ts_new - @ts_old >= 1 AS 'Timestamp Difference'; ---echo 1 means >=1 expected is true - - -# -# Checking for connection 2 -# --echo ** Connection con1 ** connection con1; -SET @ts_old = @@SESSION.timestamp; ---echo waiting 4 sec ---sleep 4 -SET @ts_new = @@SESSION.timestamp; -SELECT @ts_new - @ts_old >= 4 AS 'Timestamp Difference'; ---echo 1 means >=4 expected is true - ---echo '#-----------------------------FN_DYNVARS_179_02---------------------#' -# -# Testing timezone change effect -# - -SET @ts_old = @@SESSION.timestamp; ---sleep 1 ---echo Changing time zone -SET time_zone = 'MET'; -SET @ts_new = @@SESSION.timestamp; -SELECT @ts_new - @ts_old >= 1 AS 'Timestamp Difference'; ---echo 1 means >=1 expected is true - -# -# Cleanup -# ---echo ** Cleanup ** +SELECT @@session.timestamp != 1000000000; +SELECT @@session.timestamp = 1100000000; --echo ** Connection default ** connection default; --echo Disconnecting Connections con0, con1 disconnect con0; disconnect con1; + diff --git a/mysql-test/t/timestamp_sysdate_is_now_func-master.opt b/mysql-test/t/timestamp_sysdate_is_now_func-master.opt new file mode 100644 index 00000000000..97a58d28032 --- /dev/null +++ b/mysql-test/t/timestamp_sysdate_is_now_func-master.opt @@ -0,0 +1 @@ +--sysdate-is-now diff --git a/mysql-test/t/timestamp_sysdate_is_now_func.test b/mysql-test/t/timestamp_sysdate_is_now_func.test new file mode 100644 index 00000000000..7ca3b4cddac --- /dev/null +++ b/mysql-test/t/timestamp_sysdate_is_now_func.test @@ -0,0 +1,47 @@ +############################################################################ +# # +# Variable Name: timestamp with sysdate-is-now # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: INTEGER # +# # +# # +# Creation Date: 2008-11-25 # +# Author: Horst Hunger # +# # +# Description: Test Cases of Dynamic System Variable "timestamp" # +# that checks behavior of this variable in the following ways # +# * Like timstamp_func, but with set "sysdate-is-now". # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html # +# # +############################################################################ + +# Use Unix epoch timestamp +# Due to "--sysdate-is-now" timestamp must have an effect on both. +# See also timestamp_func.test. + +--echo ** Connecting con1 using root ** +connect (con1,localhost,root,,); +SELECT date(now()) = date(sysdate()); +SET @@session.timestamp = 1100000000; +SELECT date(now()) != date(sysdate()); + +# Assure that setting of the variable has no effect on other session. +--echo ** Connecting con0 using root ** +connect (con0,localhost,root,,); +SELECT @@session.timestamp != 1100000000; +SET @@session.timestamp = 1000000000; +SELECT date(now()) != date(sysdate()); + +--echo ** Connection con1 ** +connection con1; +SELECT @@session.timestamp != 1000000000; +SELECT @@session.timestamp = 1100000000; + +--echo ** Connection default ** +connection default; +--echo Disconnecting Connections con0, con1 +disconnect con0; +disconnect con1; + From 41494f86f446580aab3c15884fc27370d7133b16 Mon Sep 17 00:00:00 2001 From: Ingo Struewing Date: Thu, 27 Nov 2008 11:50:28 +0100 Subject: [PATCH 119/141] Bug#28234 - global/session scope - documentation vs implementation Post-pushbuild fix. - Windows does not have 'socket' system variable. - Compiler warning in sql/slave.cc mysql-test/r/variables.result: Bug#28234 - global/session scope - documentation vs implementation Updated test result. mysql-test/t/variables.test: Bug#28234 - global/session scope - documentation vs implementation Removed test for 'socket' variable. Windows doesn't have it. sql/slave.cc: Bug#28234 - global/session scope - documentation vs implementation Changed type of constant to avoid a compiler warning. --- mysql-test/r/variables.result | 13 ------------- mysql-test/t/variables.test | 12 ------------ sql/slave.cc | 2 +- 3 files changed, 1 insertion(+), 26 deletions(-) diff --git a/mysql-test/r/variables.result b/mysql-test/r/variables.result index 878416b4537..ac78d8e1871 100644 --- a/mysql-test/r/variables.result +++ b/mysql-test/r/variables.result @@ -1325,19 +1325,6 @@ ERROR HY000: Variable 'skip_show_database' is a read only variable SET @@global.skip_show_database= true; ERROR HY000: Variable 'skip_show_database' is a read only variable # -SHOW VARIABLES like 'socket'; -Variable_name Value -socket # -SELECT @@session.socket; -ERROR HY000: Variable 'socket' is a GLOBAL variable -SELECT @@global.socket; -@@global.socket -# -SET @@session.socket= 'x'; -ERROR HY000: Variable 'socket' is a read only variable -SET @@global.socket= 'x'; -ERROR HY000: Variable 'socket' is a read only variable -# SHOW VARIABLES like 'thread_stack'; Variable_name Value thread_stack # diff --git a/mysql-test/t/variables.test b/mysql-test/t/variables.test index 1ef114b1a16..828cb3a2916 100644 --- a/mysql-test/t/variables.test +++ b/mysql-test/t/variables.test @@ -1067,18 +1067,6 @@ SET @@global.skip_show_database= true; # --echo # --replace_column 2 # -SHOW VARIABLES like 'socket'; ---error ER_INCORRECT_GLOBAL_LOCAL_VAR -SELECT @@session.socket; ---replace_column 1 # -SELECT @@global.socket; ---error ER_INCORRECT_GLOBAL_LOCAL_VAR -SET @@session.socket= 'x'; ---error ER_INCORRECT_GLOBAL_LOCAL_VAR -SET @@global.socket= 'x'; -# ---echo # ---replace_column 2 # SHOW VARIABLES like 'thread_stack'; --error ER_INCORRECT_GLOBAL_LOCAL_VAR SELECT @@session.thread_stack; diff --git a/sql/slave.cc b/sql/slave.cc index 6708f2ddd60..43b70f29a68 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -288,7 +288,7 @@ static void print_slave_skip_errors(void) 10 characters must be sufficient for a number plus {',' | '...'} plus a NUL terminator. That is a max 6 digit number. */ - const int MIN_ROOM= 10; + const size_t MIN_ROOM= 10; DBUG_ENTER("print_slave_skip_errors"); DBUG_ASSERT(sizeof(slave_skip_error_names) > MIN_ROOM); DBUG_ASSERT(MAX_SLAVE_ERROR <= 999999); // 6 digits From fbbdb613d77a673b225d23c46a84bb90520a5df0 Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Thu, 27 Nov 2008 16:33:40 +0400 Subject: [PATCH 120/141] Bug#34825 perror on windows doesn't know about win32 error codes extended perror to enable printing of Win32 system errors extra/perror.c: extended perror to enable printing of Win32 system errors mysql-test/r/perror-win.result: test result mysql-test/t/perror-win.test: test case --- extra/perror.c | 40 ++++++++++++++++++++++++++++++++-- mysql-test/r/perror-win.result | 5 +++++ mysql-test/t/perror-win.test | 11 ++++++++++ 3 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 mysql-test/r/perror-win.result create mode 100644 mysql-test/t/perror-win.test diff --git a/extra/perror.c b/extra/perror.c index 4d19f4dd7eb..37d6b45c8dd 100644 --- a/extra/perror.c +++ b/extra/perror.c @@ -185,11 +185,36 @@ static const char *get_ha_error_msg(int code) } +#if defined(__WIN__) +static my_bool print_win_error_msg(DWORD error, my_bool verbose) +{ + LPTSTR s; + if (FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM, + NULL, error, 0, (LPTSTR)&s, 0, + NULL)) + { + if (verbose) + printf("Win32 error code %d: %s", error, s); + else + puts(s); + LocalFree(s); + return 0; + } + return 1; +} +#endif + + + int main(int argc,char *argv[]) { int error,code,found; const char *msg; char *unknown_error = 0; +#if defined(__WIN__) + my_bool skip_win_message= 0; +#endif MY_INIT(argv[0]); if (get_options(&argc,&argv)) @@ -286,8 +311,15 @@ int main(int argc,char *argv[]) /* Error message still not found, look in handler error codes */ if (!(msg=get_ha_error_msg(code))) { - fprintf(stderr,"Illegal error code: %d\n",code); - error=1; +#if defined(__WIN__) + if (!(skip_win_message= !print_win_error_msg((DWORD)code, verbose))) + { +#endif + fprintf(stderr,"Illegal error code: %d\n",code); + error=1; +#if defined(__WIN__) + } +#endif } else { @@ -298,6 +330,10 @@ int main(int argc,char *argv[]) puts(msg); } } +#if defined(__WIN__) + if (!skip_win_message) + print_win_error_msg((DWORD)code, verbose); +#endif } } diff --git a/mysql-test/r/perror-win.result b/mysql-test/r/perror-win.result new file mode 100644 index 00000000000..61e6fcaab4e --- /dev/null +++ b/mysql-test/r/perror-win.result @@ -0,0 +1,5 @@ +MySQL error code 150: Foreign key constraint is incorrectly formed +Win32 error code 150: System trace information was not specified in your CONFIG.SYS file, or tracing is disallowed. +OS error code 23: Too many open files in system +Win32 error code 23: Data error (cyclic redundancy check). +Win32 error code 15000: The specified channel path is invalid. diff --git a/mysql-test/t/perror-win.test b/mysql-test/t/perror-win.test new file mode 100644 index 00000000000..56615e72a5a --- /dev/null +++ b/mysql-test/t/perror-win.test @@ -0,0 +1,11 @@ +# Windows-specific tests +--source include/windows.inc +--require r/have_perror.require +disable_query_log; +eval select LENGTH("$MY_PERROR") > 0 as "have_perror"; +enable_query_log; + + +--exec $MY_PERROR 150 +--exec $MY_PERROR 23 +--exec $MY_PERROR 15000 From 73960af037a68dd96ae636ff84b39007f825ab0e Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Thu, 27 Nov 2008 16:41:25 +0400 Subject: [PATCH 121/141] Bug#40365 Prepared statements may insert invalid dates. set DATE|DATETIME value to 0 if ALLOW_INVALID_DATES sql_mode is not enabled. sql/field.cc: set DATE|DATETIME value to 0 if ALLOW_INVALID_DATES sql_mode is not enabled. tests/mysql_client_test.c: test case --- sql/field.cc | 2 + tests/mysql_client_test.c | 81 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+) diff --git a/sql/field.cc b/sql/field.cc index 3d3f698f912..8188b51d4d1 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -5372,6 +5372,7 @@ int Field_newdate::store_time(MYSQL_TIME *ltime, timestamp_type time_type) { char buff[MAX_DATE_STRING_REP_LENGTH]; String str(buff, sizeof(buff), &my_charset_latin1); + tmp= 0; make_date((DATE_TIME_FORMAT *) 0, ltime, &str); set_datetime_warning(MYSQL_ERROR::WARN_LEVEL_WARN, WARN_DATA_TRUNCATED, str.ptr(), str.length(), MYSQL_TIMESTAMP_DATE, 1); @@ -5608,6 +5609,7 @@ int Field_datetime::store_time(MYSQL_TIME *ltime,timestamp_type time_type) { char buff[MAX_DATE_STRING_REP_LENGTH]; String str(buff, sizeof(buff), &my_charset_latin1); + tmp= 0; make_datetime((DATE_TIME_FORMAT *) 0, ltime, &str); set_datetime_warning(MYSQL_ERROR::WARN_LEVEL_WARN, WARN_DATA_TRUNCATED, str.ptr(), str.length(), MYSQL_TIMESTAMP_DATETIME,1); diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c index 9270a2a9d60..a9ec7eb358a 100644 --- a/tests/mysql_client_test.c +++ b/tests/mysql_client_test.c @@ -16218,7 +16218,87 @@ static void test_bug38486(void) DBUG_VOID_RETURN; } +static void test_bug40365(void) +{ + uint rc, i, count= 1; + MYSQL_STMT *stmt= 0; + MYSQL_BIND my_bind[2]; + my_bool is_null[2]= {0}; + MYSQL_TIME tm[2]; + DBUG_ENTER("test_bug40365"); + + rc= mysql_query(mysql, "DROP TABLE IF EXISTS t1"); + myquery(rc); + rc= mysql_query(mysql, "CREATE TABLE t1(c1 DATETIME, \ + c2 DATE)"); + myquery(rc); + + stmt= mysql_simple_prepare(mysql, "INSERT INTO t1 VALUES(?, ?)"); + check_stmt(stmt); + verify_param_count(stmt, 2); + + bzero((char*) my_bind, sizeof(my_bind)); + my_bind[0].buffer_type= MYSQL_TYPE_DATETIME; + my_bind[1].buffer_type= MYSQL_TYPE_DATE; + for (i= 0; i < (int) array_elements(my_bind); i++) + { + my_bind[i].buffer= (void *) &tm[i]; + my_bind[i].is_null= &is_null[i]; + } + + rc= mysql_stmt_bind_param(stmt, my_bind); + check_execute(stmt, rc); + + for (i= 0; i < (int) array_elements(my_bind); i++) + { + tm[i].neg= 0; + tm[i].second_part= 0; + tm[i].year= 2009; + tm[i].month= 2; + tm[i].day= 29; + tm[i].hour= 0; + tm[i].minute= 0; + tm[i].second= 0; + } + rc= mysql_stmt_execute(stmt); + check_execute(stmt, rc); + + rc= mysql_commit(mysql); + myquery(rc); + mysql_stmt_close(stmt); + + stmt= mysql_simple_prepare(mysql, "SELECT * FROM t1"); + check_stmt(stmt); + + rc= mysql_stmt_bind_result(stmt, my_bind); + check_execute(stmt, rc); + + rc= mysql_stmt_execute(stmt); + check_execute(stmt, rc); + + rc= mysql_stmt_store_result(stmt); + check_execute(stmt, rc); + + rc= mysql_stmt_fetch(stmt); + check_execute(stmt, rc); + + if (!opt_silent) + fprintf(stdout, "\n"); + + for (i= 0; i < array_elements(my_bind); i++) + { + if (!opt_silent) + fprintf(stdout, "\ntime[%d]: %02d-%02d-%02d ", + i, tm[i].year, tm[i].month, tm[i].day); + DIE_UNLESS(tm[i].year == 0); + DIE_UNLESS(tm[i].month == 0); + DIE_UNLESS(tm[i].day == 0); + } + mysql_stmt_close(stmt); + + DBUG_VOID_RETURN; +} /* Read and parse arguments and MySQL options from my.cnf */ @@ -16514,6 +16594,7 @@ static struct my_tests_st my_tests[]= { { "test_bug31669", test_bug31669 }, { "test_bug32265", test_bug32265 }, { "test_bug38486", test_bug38486 }, + { "test_bug40365", test_bug40365 }, { 0, 0 } }; From 89d044062c1daa3f12358b003478cbaa5df91e3b Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Thu, 27 Nov 2008 17:57:34 +0400 Subject: [PATCH 122/141] Bug#37460 Assertion failed: !table->file || table->file->inited == handler::NONE enable uncacheable flag if we update a view with check option and check option has a subselect, otherwise, the check option can be evaluated after the subselect was freed as independent (See full_local in JOIN::join_free()) mysql-test/r/subselect.result: test result mysql-test/t/subselect.test: test case sql/mysql_priv.h: added UNCACHEABLE_CHECKOPTION flag sql/sql_update.cc: enable uncacheable flag if we update a view with check option and check option has a subselect, otherwise, the check option can be evaluated after the subselect was freed as independent (See full_local in JOIN::join_free()) --- mysql-test/r/subselect.result | 30 ++++++++++++++++++++++++++++++ mysql-test/t/subselect.test | 35 +++++++++++++++++++++++++++++++++++ sql/mysql_priv.h | 1 + sql/sql_update.cc | 26 ++++++++++++++++++++++++++ 4 files changed, 92 insertions(+) diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result index 6eeb652e3c1..8830ea11f97 100644 --- a/mysql-test/r/subselect.result +++ b/mysql-test/r/subselect.result @@ -4422,4 +4422,34 @@ id 2 3 DROP TABLE t1, t2; +CREATE TABLE t1 (id int); +CREATE TABLE t2 (id int, c int); +INSERT INTO t1 (id) VALUES (1); +INSERT INTO t2 (id) VALUES (1); +INSERT INTO t1 (id) VALUES (1); +INSERT INTO t2 (id) VALUES (1); +CREATE VIEW v1 AS +SELECT t2.c AS c FROM t1, t2 +WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION; +UPDATE v1 SET c=1; +CREATE VIEW v2 (a,b) AS +SELECT t2.id, t2.c AS c FROM t1, t2 +WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION; +INSERT INTO v2(a,b) VALUES (2,2); +ERROR HY000: CHECK OPTION failed 'test.v2' +INSERT INTO v2(a,b) VALUES (1,2); +SELECT * FROM v1; +c +1 +1 +1 +1 +2 +2 +CREATE VIEW v3 AS +SELECT t2.c AS c FROM t2 +WHERE 1 IN (SELECT id FROM t1) WITH CHECK OPTION; +DELETE FROM v3; +DROP VIEW v1,v2,v3; +DROP TABLE t1,t2; End of 5.0 tests. diff --git a/mysql-test/t/subselect.test b/mysql-test/t/subselect.test index d28e31fb545..ea911e4912d 100644 --- a/mysql-test/t/subselect.test +++ b/mysql-test/t/subselect.test @@ -3325,4 +3325,39 @@ INSERT INTO t2 VALUES (2,1),(3,1); SELECT * FROM t1 i WHERE 1 IN (SELECT l.id2 FROM t2 l WHERE i.id=l.id1); DROP TABLE t1, t2; +# +# Bug#37460 Assertion failed: +# !table->file || table->file->inited == handler::NONE +# +CREATE TABLE t1 (id int); +CREATE TABLE t2 (id int, c int); + +INSERT INTO t1 (id) VALUES (1); +INSERT INTO t2 (id) VALUES (1); +INSERT INTO t1 (id) VALUES (1); +INSERT INTO t2 (id) VALUES (1); + +CREATE VIEW v1 AS + SELECT t2.c AS c FROM t1, t2 + WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION; +UPDATE v1 SET c=1; + +CREATE VIEW v2 (a,b) AS + SELECT t2.id, t2.c AS c FROM t1, t2 + WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION; + +--error 1369 +INSERT INTO v2(a,b) VALUES (2,2); +INSERT INTO v2(a,b) VALUES (1,2); +SELECT * FROM v1; + +CREATE VIEW v3 AS + SELECT t2.c AS c FROM t2 + WHERE 1 IN (SELECT id FROM t1) WITH CHECK OPTION; + +DELETE FROM v3; + +DROP VIEW v1,v2,v3; +DROP TABLE t1,t2; + --echo End of 5.0 tests. diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index 1568f042b7e..75c95834ac9 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -435,6 +435,7 @@ MY_LOCALE *my_locale_by_number(uint number); #define UNCACHEABLE_PREPARE 16 /* For uncorrelated SELECT in an UNION with some correlated SELECTs */ #define UNCACHEABLE_UNITED 32 +#define UNCACHEABLE_CHECKOPTION 64 /* Used to check GROUP BY list in the MODE_ONLY_FULL_GROUP_BY mode */ #define UNDEF_POS (-1) diff --git a/sql/sql_update.cc b/sql/sql_update.cc index eb4e9b7ed73..f15db220a3b 100644 --- a/sql/sql_update.cc +++ b/sql/sql_update.cc @@ -1249,6 +1249,32 @@ multi_update::initialize_tables(JOIN *join) } } + /* + enable uncacheable flag if we update a view with check option + and check option has a subselect, otherwise, the check option + can be evaluated after the subselect was freed as independent + (See full_local in JOIN::join_free()). + */ + if (table_ref->check_option && !join->select_lex->uncacheable) + { + SELECT_LEX_UNIT *tmp_unit; + SELECT_LEX *sl; + for (tmp_unit= join->select_lex->first_inner_unit(); + tmp_unit; + tmp_unit= tmp_unit->next_unit()) + { + for (sl= tmp_unit->first_select(); sl; sl= sl->next_select()) + { + if (sl->master_unit()->item) + { + join->select_lex->uncacheable|= UNCACHEABLE_CHECKOPTION; + goto loop_end; + } + } + } + } +loop_end: + if (table == first_table_for_update && table_ref->check_option) { table_map unupdated_tables= table_ref->check_option->used_tables() & From 3a3d3527a333f83eb454efa8fd1e7f34e06b578c Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Thu, 27 Nov 2008 18:26:22 +0400 Subject: [PATCH 123/141] removed unused variable --- tests/mysql_client_test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c index a9ec7eb358a..ee3a053f8bd 100644 --- a/tests/mysql_client_test.c +++ b/tests/mysql_client_test.c @@ -16220,7 +16220,7 @@ static void test_bug38486(void) static void test_bug40365(void) { - uint rc, i, count= 1; + uint rc, i; MYSQL_STMT *stmt= 0; MYSQL_BIND my_bind[2]; my_bool is_null[2]= {0}; From 5cd6c9428931348c7b4f473a0b55a89ff8df4153 Mon Sep 17 00:00:00 2001 From: Horst Hunger Date: Thu, 27 Nov 2008 15:51:48 +0100 Subject: [PATCH 124/141] Fix for Bug#37766: Inserted review results. Reason for the failing test was that "SELECT count(*) from mysql.general_log;" was not always the same number. That was fixed by "...count(*)>4..." as the minimal fulfilled condition. As Bug 35371 was fixed the testcase with "log_output = 'FILE'" was enabled and changed to have always the same result. --- mysql-test/r/log_output_func.result | 38 +++++++++------ mysql-test/t/log_output_func.test | 75 +++++++++++++++++------------ 2 files changed, 66 insertions(+), 47 deletions(-) diff --git a/mysql-test/r/log_output_func.result b/mysql-test/r/log_output_func.result index 8af7f471195..060f930a161 100644 --- a/mysql-test/r/log_output_func.result +++ b/mysql-test/r/log_output_func.result @@ -1,13 +1,11 @@ +SET @start_value= @@global.log_output; +SET @start_general_log= @@global.general_log; +SET @start_general_log_file= @@global.general_log_file; '#--------------------FN_DYNVARS_065_01-------------------------#' SET @@global.log_output = 'NONE'; 'connect (con1,localhost,root,,,,)' -'connection con1' -SELECT @@global.log_output; -@@global.log_output -NONE SET @@global.log_output = 'TABLE,FILE'; 'connect (con2,localhost,root,,,,)' -'connection con2' SELECT @@global.log_output; @@global.log_output FILE,TABLE @@ -18,7 +16,7 @@ SET @@global.log_output = 'NONE'; TRUNCATE TABLE mysql.general_log; DROP TABLE IF EXISTS t1; CREATE TABLE t1(a INT); -INSERT INTO t1 value(1); +INSERT INTO t1 VALUE(1); SELECT 'abc'; abc abc @@ -29,25 +27,33 @@ count(*) SET @@global.log_output = 'TABLE'; TRUNCATE TABLE mysql.general_log; DROP TABLE IF EXISTS t1; -create table t1(a int); -INSERT INTO t1 value(1); +CREATE TABLE t1(a int); +INSERT INTO t1 VALUE(1); SELECT 'abc'; abc abc -SELECT count(*) from mysql.general_log; -count(*) -5 -'Bug#35371: Changing general_log file is crashing server' -'SET @@global.general_log_file = @log_file;' +SELECT count(*)>4 FROM mysql.general_log; +count(*)>4 +1 +SET @@global.general_log = 'OFF'; +FLUSH LOGS; +SET @@global.general_log_file = 'MYSQLTEST_VARDIR/run/mytest.log'; +SET @@global.general_log = 'ON'; SET @@global.log_output = 'FILE'; TRUNCATE TABLE mysql.general_log; DROP TABLE IF EXISTS t1; -create table t1(a int); -INSERT INTO t1 value(1); +CREATE TABLE t1(a INT); +INSERT INTO t1 VALUE(1); SELECT 'abc'; abc abc -SELECT count(*) from mysql.general_log; +SELECT count(*) FROM mysql.general_log; count(*) 0 DROP TABLE t1; +connection default; +SET @@global.general_log= 'OFF'; +SET @@global.general_log_file= @start_general_log_file; +SET @@global.log_output= @start_value; +SET @@global.general_log= @start_general_log; +SET @@global.general_log= 'ON'; diff --git a/mysql-test/t/log_output_func.test b/mysql-test/t/log_output_func.test index 32026d8de59..007c4f38659 100644 --- a/mysql-test/t/log_output_func.test +++ b/mysql-test/t/log_output_func.test @@ -10,12 +10,13 @@ # # # Creation Date: 2008-03-08 # # Author: Rizwan # +# Modified: HHunger 2008-08-29 # # # Description: Test Cases of Dynamic System Variable log_output # # that checks the behavior of this variable # # # -# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # -# server-system-variables.html # +# Reference: # +# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html # # # ############################################################################### @@ -23,6 +24,10 @@ # ps-protocol. So, it is switched off. --disable_ps_protocol +SET @start_value= @@global.log_output; +SET @start_general_log= @@global.general_log; +SET @start_general_log_file= @@global.general_log_file; + --echo '#--------------------FN_DYNVARS_065_01-------------------------#' ################################################################## # Check if setting log_output is changed in every new connection # @@ -32,17 +37,12 @@ SET @@global.log_output = 'NONE'; # con1 will be default connection from now on --echo 'connect (con1,localhost,root,,,,)' connect (con1,localhost,root,,,,); ---echo 'connection con1' -connection con1; -SELECT @@global.log_output; SET @@global.log_output = 'TABLE,FILE'; + +# Test that the effect is global --echo 'connect (con2,localhost,root,,,,)' connect (con2,localhost,root,,,,); ---echo 'connection con2' -connection con2; SELECT @@global.log_output; -disconnect con2; - --echo '#--------------------FN_DYNVARS_065_02-------------------------#' #################################################### @@ -52,10 +52,9 @@ disconnect con2; --echo 'connection con1' connection con1; - -#======================================================================= +#=============================================================== --echo '---Checking general_log when log_output is NONE---' -#======================================================================= +#=============================================================== SET @@global.log_output = 'NONE'; TRUNCATE TABLE mysql.general_log; @@ -64,13 +63,13 @@ TRUNCATE TABLE mysql.general_log; DROP TABLE IF EXISTS t1; --enable_warnings CREATE TABLE t1(a INT); -INSERT INTO t1 value(1); +INSERT INTO t1 VALUE(1); SELECT 'abc'; SELECT count(*) FROM mysql.general_log; -#============================================================================== +#=============================================================== --echo '---Checking general_log when log_output is TABLE---' -#============================================================================== +#=============================================================== SET @@global.log_output = 'TABLE'; TRUNCATE TABLE mysql.general_log; @@ -78,35 +77,49 @@ TRUNCATE TABLE mysql.general_log; --disable_warnings DROP TABLE IF EXISTS t1; --enable_warnings -create table t1(a int); -INSERT INTO t1 value(1); +CREATE TABLE t1(a int); +INSERT INTO t1 VALUE(1); SELECT 'abc'; -SELECT count(*) from mysql.general_log; +# At least the last 4 statement should be logged. +SELECT count(*)>4 FROM mysql.general_log; -#=========================================================== +#=============================================================== # Checking general_log when log_output is FILE -#=========================================================== - -#SET @log_file = "mytest.log"; -#SET @@global.general_log = 0; -#FLUSH LOGS; -#SET @@global.general_log_file = @log_file; ---echo 'Bug#35371: Changing general_log file is crashing server' ---echo 'SET @@global.general_log_file = @log_file;' +#=============================================================== +SET @@global.general_log = 'OFF'; +FLUSH LOGS; +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR +eval SET @@global.general_log_file = '$MYSQLTEST_VARDIR/run/mytest.log'; +SET @@global.general_log = 'ON'; SET @@global.log_output = 'FILE'; TRUNCATE TABLE mysql.general_log; --disable_warnings DROP TABLE IF EXISTS t1; --enable_warnings -create table t1(a int); -INSERT INTO t1 value(1); +CREATE TABLE t1(a INT); +INSERT INTO t1 VALUE(1); SELECT 'abc'; -SELECT count(*) from mysql.general_log; +SELECT count(*) FROM mysql.general_log; DROP TABLE t1; +file_exists $MYSQLTEST_VARDIR/run/mytest.log ; + +#============================================================== +# Clean up +#============================================================== + +--echo connection default; +connection default; +SET @@global.general_log= 'OFF'; +SET @@global.general_log_file= @start_general_log_file; +SET @@global.log_output= @start_value; +SET @@global.general_log= @start_general_log; +SET @@global.general_log= 'ON'; + --enable_ps_protocol #################################################### -# Endo of functionality Testing for log_output # +# End of functionality Testing for log_output # #################################################### + From 1182c0979a5d9acc345c2cba83cac0aa32d42bca Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Thu, 27 Nov 2008 18:54:23 +0400 Subject: [PATCH 125/141] Bug#37284 Crash in Field_string::type() The bug is repeatable with latest(1.0.1) InnoDB plugin on Linux, Win, If MySQL is compiled with valgrind there are errors about using of uninitialized variable(orig_table). The fix is to set field->orig_table correct value. mysql-test/r/innodb_mysql.result: test result mysql-test/t/innodb_mysql.test: test case sql/sql_base.cc: set field->orig_table to 'table' value because it may be bogus and it leads to crash on Field_string::type() function. --- mysql-test/r/innodb_mysql.result | 6 ++++++ mysql-test/t/innodb_mysql.test | 11 +++++++++++ sql/sql_base.cc | 3 +++ 3 files changed, 20 insertions(+) diff --git a/mysql-test/r/innodb_mysql.result b/mysql-test/r/innodb_mysql.result index 47fa331c9ab..682cc2e82e2 100644 --- a/mysql-test/r/innodb_mysql.result +++ b/mysql-test/r/innodb_mysql.result @@ -1261,4 +1261,10 @@ a b c 5 1 1 4 1 1 DROP TABLE t1; +DROP TABLE IF EXISTS t1; +CREATE TABLE t1 (a char(50)) ENGINE=InnoDB; +CREATE INDEX i1 on t1 (a(3)); +SELECT * FROM t1 WHERE a = 'abcde'; +a +DROP TABLE t1; End of 5.0 tests diff --git a/mysql-test/t/innodb_mysql.test b/mysql-test/t/innodb_mysql.test index e15d1aee08a..b4fc425cb7c 100644 --- a/mysql-test/t/innodb_mysql.test +++ b/mysql-test/t/innodb_mysql.test @@ -1014,4 +1014,15 @@ SELECT a, b, c FROM t1 WHERE b = 1 ORDER BY a DESC LIMIT 5; DROP TABLE t1; +# +# Bug#37284 Crash in Field_string::type() +# +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings +CREATE TABLE t1 (a char(50)) ENGINE=InnoDB; +CREATE INDEX i1 on t1 (a(3)); +SELECT * FROM t1 WHERE a = 'abcde'; +DROP TABLE t1; + --echo End of 5.0 tests diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 873a3eac24e..881c6a421e8 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -2102,7 +2102,10 @@ bool reopen_table(TABLE *table,bool locked) for (key=0 ; key < table->s->keys ; key++) { for (part=0 ; part < table->key_info[key].usable_key_parts ; part++) + { table->key_info[key].key_part[part].field->table= table; + table->key_info[key].key_part[part].field->orig_table= table; + } } if (table->triggers) table->triggers->set_table(table); From 78119b2d04457abe94f2a0a9f3d887c0eb9210a5 Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Fri, 28 Nov 2008 14:50:13 +0400 Subject: [PATCH 126/141] pushbuild failure fixes mysql-test/r/perror-win.result: pushbuild failure fix mysql-test/t/perror-win.test: pushbuild failure fix sql/item_func.cc: pushbuild failure fix --- mysql-test/r/perror-win.result | 7 ++++--- mysql-test/t/perror-win.test | 9 ++++++--- sql/item_func.cc | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/mysql-test/r/perror-win.result b/mysql-test/r/perror-win.result index 61e6fcaab4e..8d3026bc331 100644 --- a/mysql-test/r/perror-win.result +++ b/mysql-test/r/perror-win.result @@ -1,5 +1,6 @@ MySQL error code 150: Foreign key constraint is incorrectly formed -Win32 error code 150: System trace information was not specified in your CONFIG.SYS file, or tracing is disallowed. +Win32 error code 150: System trace information was not specified in your CONFIG.SYS file, or tracing is disallowed. OS error code 23: Too many open files in system -Win32 error code 23: Data error (cyclic redundancy check). -Win32 error code 15000: The specified channel path is invalid. +Win32 error code 23: Data error (cyclic redundancy check). +Win32 error code 500: User profile cannot be loaded. +Illegal error code: 30000 diff --git a/mysql-test/t/perror-win.test b/mysql-test/t/perror-win.test index 56615e72a5a..2b38c5fad54 100644 --- a/mysql-test/t/perror-win.test +++ b/mysql-test/t/perror-win.test @@ -6,6 +6,9 @@ eval select LENGTH("$MY_PERROR") > 0 as "have_perror"; enable_query_log; ---exec $MY_PERROR 150 ---exec $MY_PERROR 23 ---exec $MY_PERROR 15000 +--exec $MY_PERROR 150 2>&1 +--exec $MY_PERROR 23 2>&1 +--exec $MY_PERROR 500 2>&1 +--error 1 +--exec $MY_PERROR 30000 2>&1 + diff --git a/sql/item_func.cc b/sql/item_func.cc index 8295bd41334..c0d08d9b213 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -2275,7 +2275,7 @@ void Item_func_min_max::fix_length_and_dec() uint Item_func_min_max::cmp_datetimes(ulonglong *value) { - ulonglong min_max; + longlong min_max; uint min_max_idx= 0; LINT_INIT(min_max); From fef07511e3c950438931e23eb286bf5638345700 Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Fri, 28 Nov 2008 17:12:43 +0400 Subject: [PATCH 127/141] error code is changed to satisfy Win NT --- mysql-test/r/perror-win.result | 2 +- mysql-test/t/perror-win.test | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/perror-win.result b/mysql-test/r/perror-win.result index 8d3026bc331..1d42235cc14 100644 --- a/mysql-test/r/perror-win.result +++ b/mysql-test/r/perror-win.result @@ -2,5 +2,5 @@ MySQL error code 150: Foreign key constraint is incorrectly formed Win32 error code 150: System trace information was not specified in your CONFIG.SYS file, or tracing is disallowed. OS error code 23: Too many open files in system Win32 error code 23: Data error (cyclic redundancy check). -Win32 error code 500: User profile cannot be loaded. +Win32 error code 1062: The service has not been started. Illegal error code: 30000 diff --git a/mysql-test/t/perror-win.test b/mysql-test/t/perror-win.test index 2b38c5fad54..cc09b8527be 100644 --- a/mysql-test/t/perror-win.test +++ b/mysql-test/t/perror-win.test @@ -8,7 +8,7 @@ enable_query_log; --exec $MY_PERROR 150 2>&1 --exec $MY_PERROR 23 2>&1 ---exec $MY_PERROR 500 2>&1 +--exec $MY_PERROR 1062 2>&1 --error 1 --exec $MY_PERROR 30000 2>&1 From 8e688a7a0246d16a8c636262872a6e7b06376b99 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Fri, 28 Nov 2008 16:25:16 +0200 Subject: [PATCH 128/141] Bug #37339: SHOW VARIABLES not working properly with multi-byte datadir The SHOW VARIABLES LIKE .../SELECT @@/SELECT ... FROM INFORMATION_SCHEMA.VARIABLES were assuming that all the system variables are in system charset (UTF-8). However the variables that are settable through command line will have a different character set (character_set_filesystem). Fixed the server to remember the correct character set of basedir, datadir, tmpdir, ssl, plugin_dir, slave_load_tmpdir, innodb variables; init_connect and init_slave variables and use it when processing data. mysql-test/r/ctype_filesystem.result: Bug #37339: test case (should be in utf-8) mysql-test/t/ctype_filesystem-master.opt: Bug #37339: test case (should be in ISO-8859-1) mysql-test/t/ctype_filesystem.test: Bug #37339: test case sql/mysqld.cc: Bug #37339: remember the correct character set for init_slave and init_connect sql/set_var.cc: Bug #37339: - remember the character set of the relevant variables - implement storing and using the correct character set sql/set_var.h: Bug #37339: implement storing and using the correct character set sql/sql_show.cc: Bug #37339: implement storing and using the correct character set --- mysql-test/r/ctype_filesystem.result | 11 ++++ mysql-test/t/ctype_filesystem-master.opt | 2 + mysql-test/t/ctype_filesystem.test | 5 ++ sql/mysqld.cc | 2 + sql/set_var.cc | 67 ++++++++++++++++-------- sql/set_var.h | 47 ++++++++++++++++- sql/sql_show.cc | 10 ++-- 7 files changed, 116 insertions(+), 28 deletions(-) create mode 100644 mysql-test/r/ctype_filesystem.result create mode 100644 mysql-test/t/ctype_filesystem-master.opt create mode 100644 mysql-test/t/ctype_filesystem.test diff --git a/mysql-test/r/ctype_filesystem.result b/mysql-test/r/ctype_filesystem.result new file mode 100644 index 00000000000..8a8f0f7f8cc --- /dev/null +++ b/mysql-test/r/ctype_filesystem.result @@ -0,0 +1,11 @@ +SET CHARACTER SET utf8; +SHOW VARIABLES like 'character_sets_dir'; +Variable_name Value +character_sets_dir /ß/ +SHOW VARIABLES like 'character_set_filesystem'; +Variable_name Value +character_set_filesystem latin1 +SHOW VARIABLES like 'character_set_client'; +Variable_name Value +character_set_client utf8 +SET CHARACTER SET default; diff --git a/mysql-test/t/ctype_filesystem-master.opt b/mysql-test/t/ctype_filesystem-master.opt new file mode 100644 index 00000000000..cb3427571b5 --- /dev/null +++ b/mysql-test/t/ctype_filesystem-master.opt @@ -0,0 +1,2 @@ +--character-sets-dir=/ß +--character-set-filesystem=latin1 diff --git a/mysql-test/t/ctype_filesystem.test b/mysql-test/t/ctype_filesystem.test new file mode 100644 index 00000000000..30b1607008b --- /dev/null +++ b/mysql-test/t/ctype_filesystem.test @@ -0,0 +1,5 @@ +SET CHARACTER SET utf8; +SHOW VARIABLES like 'character_sets_dir'; +SHOW VARIABLES like 'character_set_filesystem'; +SHOW VARIABLES like 'character_set_client'; +SET CHARACTER SET default; diff --git a/sql/mysqld.cc b/sql/mysqld.cc index c3e5449b22b..dd2bebfdd2d 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -3035,12 +3035,14 @@ static int init_common_variables(const char *conf_file_name, int argc, sys_init_connect.value_length= strlen(opt_init_connect); else sys_init_connect.value=my_strdup("",MYF(0)); + sys_init_connect.is_os_charset= TRUE; sys_init_slave.value_length= 0; if ((sys_init_slave.value= opt_init_slave)) sys_init_slave.value_length= strlen(opt_init_slave); else sys_init_slave.value=my_strdup("",MYF(0)); + sys_init_slave.is_os_charset= TRUE; if (use_temp_pool && bitmap_init(&temp_pool,0,1024,1)) return 1; diff --git a/sql/set_var.cc b/sql/set_var.cc index 6bc19f2e6eb..59741e5683d 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -138,7 +138,7 @@ sys_var_thd_ulong sys_auto_increment_offset("auto_increment_offset", sys_var_bool_ptr sys_automatic_sp_privileges("automatic_sp_privileges", &sp_automatic_privileges); -sys_var_const_str sys_basedir("basedir", mysql_home); +sys_var_const_os_str sys_basedir("basedir", mysql_home); sys_var_long_ptr sys_binlog_cache_size("binlog_cache_size", &binlog_cache_size); sys_var_thd_ulong sys_bulk_insert_buff_size("bulk_insert_buffer_size", @@ -151,6 +151,8 @@ sys_var_character_set_client sys_character_set_client("character_set_client"); sys_var_character_set_connection sys_character_set_connection("character_set_connection"); sys_var_character_set_results sys_character_set_results("character_set_results"); sys_var_character_set_filesystem sys_character_set_filesystem("character_set_filesystem"); +sys_var_const_os_str sys_character_sets_dir("character_sets_dir", + mysql_charsets_dir); sys_var_thd_ulong sys_completion_type("completion_type", &SV::completion_type, check_completion_type, @@ -162,7 +164,7 @@ sys_var_long_ptr sys_concurrent_insert("concurrent_insert", &myisam_concurrent_insert); sys_var_long_ptr sys_connect_timeout("connect_timeout", &connect_timeout); -sys_var_const_str sys_datadir("datadir", mysql_real_data_home); +sys_var_const_os_str sys_datadir("datadir", mysql_real_data_home); sys_var_enum sys_delay_key_write("delay_key_write", &delay_key_write_options, &delay_key_write_typelib, @@ -311,6 +313,7 @@ sys_var_thd_ulong sys_optimizer_prune_level("optimizer_prune_level", &SV::optimizer_prune_level); sys_var_thd_ulong sys_optimizer_search_depth("optimizer_search_depth", &SV::optimizer_search_depth); +sys_var_const_os_str sys_plugin_dir("plugin_dir", opt_plugin_dir); sys_var_thd_ulong sys_preload_buff_size("preload_buffer_size", &SV::preload_buff_size); sys_var_thd_ulong sys_read_buff_size("read_buffer_size", @@ -338,7 +341,7 @@ sys_var_thd_ulong sys_query_alloc_block_size("query_alloc_block_size", sys_var_thd_ulong sys_query_prealloc_size("query_prealloc_size", &SV::query_prealloc_size, 0, fix_thd_mem_root); -sys_var_readonly sys_tmpdir("tmpdir", OPT_GLOBAL, SHOW_CHAR, get_tmpdir); +sys_var_readonly_os sys_tmpdir("tmpdir", OPT_GLOBAL, SHOW_CHAR, get_tmpdir); sys_var_thd_ulong sys_trans_alloc_block_size("transaction_alloc_block_size", &SV::trans_alloc_block_size, 0, fix_trans_mem_root); @@ -363,9 +366,11 @@ sys_var_bool_ptr sys_secure_auth("secure_auth", &opt_secure_auth); sys_var_const_str_ptr sys_secure_file_priv("secure_file_priv", &opt_secure_file_priv); sys_var_long_ptr sys_server_id("server_id", &server_id, fix_server_id); +#ifdef HAVE_REPLICATION sys_var_bool_ptr sys_slave_compressed_protocol("slave_compressed_protocol", &opt_slave_compressed_protocol); -#ifdef HAVE_REPLICATION +sys_var_const_os_str_ptr sys_slave_load_tmpdir("slave_load_tmpdir", + &slave_load_tmpdir); sys_var_long_ptr sys_slave_net_timeout("slave_net_timeout", &slave_net_timeout); sys_var_long_ptr sys_slave_trans_retries("slave_transaction_retries", @@ -380,17 +385,17 @@ sys_var_thd_sql_mode sys_sql_mode("sql_mode", #ifdef HAVE_OPENSSL extern char *opt_ssl_ca, *opt_ssl_capath, *opt_ssl_cert, *opt_ssl_cipher, *opt_ssl_key; -sys_var_const_str_ptr sys_ssl_ca("ssl_ca", &opt_ssl_ca); -sys_var_const_str_ptr sys_ssl_capath("ssl_capath", &opt_ssl_capath); -sys_var_const_str_ptr sys_ssl_cert("ssl_cert", &opt_ssl_cert); -sys_var_const_str_ptr sys_ssl_cipher("ssl_cipher", &opt_ssl_cipher); -sys_var_const_str_ptr sys_ssl_key("ssl_key", &opt_ssl_key); +sys_var_const_os_str_ptr sys_ssl_ca("ssl_ca", &opt_ssl_ca); +sys_var_const_os_str_ptr sys_ssl_capath("ssl_capath", &opt_ssl_capath); +sys_var_const_os_str_ptr sys_ssl_cert("ssl_cert", &opt_ssl_cert); +sys_var_const_os_str_ptr sys_ssl_cipher("ssl_cipher", &opt_ssl_cipher); +sys_var_const_os_str_ptr sys_ssl_key("ssl_key", &opt_ssl_key); #else -sys_var_const_str sys_ssl_ca("ssl_ca", NULL); -sys_var_const_str sys_ssl_capath("ssl_capath", NULL); -sys_var_const_str sys_ssl_cert("ssl_cert", NULL); -sys_var_const_str sys_ssl_cipher("ssl_cipher", NULL); -sys_var_const_str sys_ssl_key("ssl_key", NULL); +sys_var_const_os_str sys_ssl_ca("ssl_ca", NULL); +sys_var_const_os_str sys_ssl_capath("ssl_capath", NULL); +sys_var_const_os_str sys_ssl_cert("ssl_cert", NULL); +sys_var_const_os_str sys_ssl_cipher("ssl_cipher", NULL); +sys_var_const_os_str sys_ssl_key("ssl_key", NULL); #endif sys_var_thd_enum sys_updatable_views_with_limit("updatable_views_with_limit", @@ -460,6 +465,14 @@ sys_var_long_ptr sys_innodb_commit_concurrency("innodb_commit_concurrency", sys_var_long_ptr sys_innodb_flush_log_at_trx_commit( "innodb_flush_log_at_trx_commit", &srv_flush_log_at_trx_commit); +sys_var_const_os_str_ptr sys_innodb_data_file_path("innodb_data_file_path", + &innobase_data_file_path); +sys_var_const_os_str_ptr sys_innodb_data_home_dir("innodb_data_home_dir", + &innobase_data_home_dir); +sys_var_const_os_str_ptr sys_innodb_log_arch_dir("innodb_log_arch_dir", + &innobase_log_arch_dir); +sys_var_const_os_str_ptr sys_innodb_log_group_home_dir("innodb_log_group_home_dir", + &innobase_log_group_home_dir); #endif /* Condition pushdown to storage engine */ @@ -844,7 +857,7 @@ struct show_var_st init_vars[]= { {sys_character_set_results.name,(char*) &sys_character_set_results, SHOW_SYS}, {sys_character_set_server.name, (char*) &sys_character_set_server,SHOW_SYS}, {sys_charset_system.name, (char*) &sys_charset_system, SHOW_SYS}, - {"character_sets_dir", mysql_charsets_dir, SHOW_CHAR}, + {sys_character_sets_dir.name, (char *) &sys_character_sets_dir, SHOW_SYS}, {sys_collation_connection.name,(char*) &sys_collation_connection, SHOW_SYS}, {sys_collation_database.name,(char*) &sys_collation_database, SHOW_SYS}, {sys_collation_server.name,(char*) &sys_collation_server, SHOW_SYS}, @@ -905,8 +918,8 @@ struct show_var_st init_vars[]= { {"innodb_checksums", (char*) &innobase_use_checksums, SHOW_MY_BOOL}, {sys_innodb_commit_concurrency.name, (char*) &sys_innodb_commit_concurrency, SHOW_SYS}, {sys_innodb_concurrency_tickets.name, (char*) &sys_innodb_concurrency_tickets, SHOW_SYS}, - {"innodb_data_file_path", (char*) &innobase_data_file_path, SHOW_CHAR_PTR}, - {"innodb_data_home_dir", (char*) &innobase_data_home_dir, SHOW_CHAR_PTR}, + {sys_innodb_data_file_path.name, (char*) &sys_innodb_data_file_path, SHOW_SYS}, + {sys_innodb_data_home_dir.name, (char*) &sys_innodb_data_home_dir, SHOW_SYS}, {"innodb_adaptive_hash_index", (char*) &innobase_adaptive_hash_index, SHOW_MY_BOOL}, {"innodb_doublewrite", (char*) &innobase_use_doublewrite, SHOW_MY_BOOL}, {sys_innodb_fast_shutdown.name,(char*) &sys_innodb_fast_shutdown, SHOW_SYS}, @@ -917,12 +930,12 @@ struct show_var_st init_vars[]= { {"innodb_force_recovery", (char*) &innobase_force_recovery, SHOW_LONG }, {"innodb_lock_wait_timeout", (char*) &innobase_lock_wait_timeout, SHOW_LONG }, {"innodb_locks_unsafe_for_binlog", (char*) &innobase_locks_unsafe_for_binlog, SHOW_MY_BOOL}, - {"innodb_log_arch_dir", (char*) &innobase_log_arch_dir, SHOW_CHAR_PTR}, + {sys_innodb_log_arch_dir.name, (char*) &sys_innodb_log_arch_dir, SHOW_SYS}, {"innodb_log_archive", (char*) &innobase_log_archive, SHOW_MY_BOOL}, {"innodb_log_buffer_size", (char*) &innobase_log_buffer_size, SHOW_LONG }, {"innodb_log_file_size", (char*) &innobase_log_file_size, SHOW_LONGLONG}, {"innodb_log_files_in_group", (char*) &innobase_log_files_in_group, SHOW_LONG}, - {"innodb_log_group_home_dir", (char*) &innobase_log_group_home_dir, SHOW_CHAR_PTR}, + {sys_innodb_log_group_home_dir.name, (char*) &sys_innodb_log_group_home_dir, SHOW_SYS}, {sys_innodb_max_dirty_pages_pct.name, (char*) &sys_innodb_max_dirty_pages_pct, SHOW_SYS}, {sys_innodb_max_purge_lag.name, (char*) &sys_innodb_max_purge_lag, SHOW_SYS}, {"innodb_mirrored_log_groups", (char*) &innobase_mirrored_log_groups, SHOW_LONG}, @@ -1026,7 +1039,7 @@ struct show_var_st init_vars[]= { {sys_optimizer_search_depth.name,(char*) &sys_optimizer_search_depth, SHOW_SYS}, {"pid_file", (char*) pidfile_name, SHOW_CHAR}, - {"plugin_dir", (char*) opt_plugin_dir, SHOW_CHAR}, + {sys_plugin_dir.name, (char*) &sys_plugin_dir, SHOW_SYS}, {"port", (char*) &mysqld_port, SHOW_INT}, {sys_preload_buff_size.name, (char*) &sys_preload_buff_size, SHOW_SYS}, {"protocol_version", (char*) &protocol_version, SHOW_INT}, @@ -1068,7 +1081,7 @@ struct show_var_st init_vars[]= { #ifdef HAVE_REPLICATION {sys_slave_compressed_protocol.name, (char*) &sys_slave_compressed_protocol, SHOW_SYS}, - {"slave_load_tmpdir", (char*) &slave_load_tmpdir, SHOW_CHAR_PTR}, + {sys_slave_load_tmpdir.name,(char*) &sys_slave_load_tmpdir, SHOW_SYS}, {sys_slave_net_timeout.name,(char*) &sys_slave_net_timeout, SHOW_SYS}, {"slave_skip_errors", (char*) &slave_error_mask, SHOW_SLAVE_SKIP_ERRORS}, {sys_slave_trans_retries.name,(char*) &sys_slave_trans_retries, SHOW_SYS}, @@ -1175,6 +1188,7 @@ bool update_sys_var_str(sys_var_str *var_str, rw_lock_t *var_mutex, old_value= var_str->value; var_str->value= res; var_str->value_length= new_length; + var_str->is_os_charset= FALSE; rw_unlock(var_mutex); my_free(old_value, MYF(MY_ALLOW_ZERO_PTR)); return 0; @@ -1914,11 +1928,11 @@ Item *sys_var::item(THD *thd, enum_var_type var_type, LEX_STRING *base) char *str= (char*) value_ptr(thd, var_type, base); if (str) tmp= new Item_string(str, strlen(str), - system_charset_info, DERIVATION_SYSCONST); + charset(thd), DERIVATION_SYSCONST); else { tmp= new Item_null(); - tmp->collation.set(system_charset_info, DERIVATION_SYSCONST); + tmp->collation.set(charset(thd), DERIVATION_SYSCONST); } pthread_mutex_unlock(&LOCK_global_system_variables); return tmp; @@ -1930,6 +1944,13 @@ Item *sys_var::item(THD *thd, enum_var_type var_type, LEX_STRING *base) } +CHARSET_INFO *sys_var::charset(THD *thd) +{ + return is_os_charset ? thd->variables.character_set_filesystem : + system_charset_info; +} + + bool sys_var_thd_enum::update(THD *thd, set_var *var) { if (var->type == OPT_GLOBAL) diff --git a/sql/set_var.h b/sql/set_var.h index c37cc400e43..f43d3b75cee 100644 --- a/sql/set_var.h +++ b/sql/set_var.h @@ -46,9 +46,17 @@ public: sys_after_update_func after_update; bool no_support_one_shot; + /* + true if the value is in character_set_filesystem, + false otherwise. + Note that we can't use a pointer to the charset as the system var is + instantiated in global scope and the charset pointers are initialized + later. + */ + bool is_os_charset; sys_var(const char *name_arg, sys_after_update_func func= NULL) :name(name_arg), after_update(func) - , no_support_one_shot(1) + , no_support_one_shot(1), is_os_charset(FALSE) {} virtual ~sys_var() {} virtual bool check(THD *thd, set_var *var); @@ -68,6 +76,7 @@ public: Item *item(THD *thd, enum_var_type type, LEX_STRING *base); virtual bool is_struct() { return 0; } virtual bool is_readonly() const { return 0; } + CHARSET_INFO *charset(THD *thd); }; @@ -247,6 +256,17 @@ public: }; +class sys_var_const_os_str: public sys_var_const_str +{ +public: + sys_var_const_os_str(const char *name_arg, const char *value_arg) + :sys_var_const_str(name_arg, value_arg) + { + is_os_charset= TRUE; + } +}; + + class sys_var_const_str_ptr :public sys_var { public: @@ -276,6 +296,17 @@ public: }; +class sys_var_const_os_str_ptr :public sys_var_const_str_ptr +{ +public: + sys_var_const_os_str_ptr(const char *name_arg, char **value_arg) + :sys_var_const_str_ptr(name_arg, value_arg) + { + is_os_charset= TRUE; + } +}; + + class sys_var_enum :public sys_var { uint *value; @@ -791,6 +822,20 @@ public: bool is_readonly() const { return 1; } }; + +class sys_var_readonly_os: public sys_var_readonly +{ +public: + sys_var_readonly_os(const char *name_arg, enum_var_type type, + SHOW_TYPE show_type_arg, + sys_value_ptr_func value_ptr_func_arg) + :sys_var_readonly(name_arg, type, show_type_arg, value_ptr_func_arg) + { + is_os_charset= TRUE; + } +}; + + class sys_var_thd_time_zone :public sys_var_thd { public: diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 5a4772e9847..4e3d209f674 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -1441,6 +1441,7 @@ static bool show_status_array(THD *thd, const char *wild, char name_buffer[80]; int len; LEX_STRING null_lex_str; + CHARSET_INFO *charset= system_charset_info; DBUG_ENTER("show_status_array"); null_lex_str.str= 0; // For sys_var->value_ptr() @@ -1469,9 +1470,10 @@ static bool show_status_array(THD *thd, const char *wild, long nr; if (show_type == SHOW_SYS) { - show_type= ((sys_var*) value)->show_type(); - value= (char*) ((sys_var*) value)->value_ptr(thd, value_type, - &null_lex_str); + sys_var *var= ((sys_var *) value); + show_type= var->show_type(); + value= (char*) var->value_ptr(thd, value_type, &null_lex_str); + charset= var->charset(thd); } pos= end= buff; @@ -1794,7 +1796,7 @@ static bool show_status_array(THD *thd, const char *wild, restore_record(table, s->default_values); table->field[0]->store(name_buffer, strlen(name_buffer), system_charset_info); - table->field[1]->store(pos, (uint32) (end - pos), system_charset_info); + table->field[1]->store(pos, (uint32) (end - pos), charset); if (schema_table_store_record(thd, table)) DBUG_RETURN(TRUE); } From 41ccbefcc4cbf75c18e37746bd52617f6c9794b9 Mon Sep 17 00:00:00 2001 From: Gleb Shchepa Date: Fri, 28 Nov 2008 20:13:12 +0400 Subject: [PATCH 129/141] Bug #33461: SELECT ... FROM USE INDEX (...) throws an error Even after the fix for bug 28701 visible behaviors of SELECT FROM a view and SELECT FROM a regular table are little bit different: 1. "SELECT FROM regular table USE/FORCE/IGNORE(non existent index)" fails with a "ERROR 1176 (HY000): Key '...' doesn't exist in table '...'" 2. "SELECT FROM view USING/FORCE/IGNORE(any index)" fails with a "ERROR 1221 (HY000): Incorrect usage of USE/IGNORE INDEX and VIEW". OTOH "SHOW INDEX FROM view" always returns empty result set, so from the point of same behaviour view we trying to use/ignore non existent index. To harmonize the behaviour of USE/FORCE/IGNORE(index) clauses in SELECT from a view and from a regular table the "ERROR 1221 (HY000): Incorrect usage of USE/IGNORE INDEX and VIEW" message has been replaced with the "ERROR 1176 (HY000): Key '...' doesn't exist in table '...'" message like for tables and non existent keys. mysql-test/r/view.result: Added test case for bug #33461. Updated test case for bug 28701. mysql-test/t/view.test: Added test case for bug #33461. Updated test case for bug 28701. sql/sql_view.cc: Bug #33461: SELECT ... FROM USE INDEX (...) throws an error To harmonize the behaviour of USE/FORCE/IGNORE(index) clauses in SELECT from a view and from a regular table the "ERROR 1221 (HY000): Incorrect usage of USE/IGNORE INDEX and VIEW" message has been replaced with the "ERROR 1176 (HY000): Key '...' doesn't exist in table '...'" message like for tables and non existent keys. --- mysql-test/r/view.result | 33 +++++++++++++++++++++++++++++---- mysql-test/t/view.test | 34 ++++++++++++++++++++++++++++++---- sql/sql_view.cc | 13 +++++++------ 3 files changed, 66 insertions(+), 14 deletions(-) diff --git a/mysql-test/r/view.result b/mysql-test/r/view.result index 8cbe3fc36cf..311b77e7a99 100644 --- a/mysql-test/r/view.result +++ b/mysql-test/r/view.result @@ -625,7 +625,7 @@ drop table t1; create table t1 (a int, b int); create view v1 as select a, sum(b) from t1 group by a; select b from v1 use index (some_index) where b=1; -ERROR HY000: Incorrect usage of USE INDEX and VIEW +ERROR HY000: Key 'some_index' doesn't exist in table 'v1' drop view v1; drop table t1; create table t1 (col1 char(5),col2 char(5)); @@ -3567,11 +3567,11 @@ CREATE TABLE t1 (a INT); INSERT INTO t1 VALUES (1),(2); CREATE VIEW v1 AS SELECT * FROM t1; SELECT * FROM v1 USE KEY(non_existant); -ERROR HY000: Incorrect usage of USE INDEX and VIEW +ERROR HY000: Key 'non_existant' doesn't exist in table 'v1' SELECT * FROM v1 FORCE KEY(non_existant); -ERROR HY000: Incorrect usage of FORCE INDEX and VIEW +ERROR HY000: Key 'non_existant' doesn't exist in table 'v1' SELECT * FROM v1 IGNORE KEY(non_existant); -ERROR HY000: Incorrect usage of IGNORE INDEX and VIEW +ERROR HY000: Key 'non_existant' doesn't exist in table 'v1' DROP VIEW v1; DROP TABLE t1; CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b INT NOT NULL DEFAULT 0, @@ -3679,6 +3679,31 @@ DROP VIEW v1; CREATE VIEW v1 AS SELECT 1; DROP VIEW v1; +CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 INT, INDEX (c2)); +INSERT INTO t1 VALUES (1,1), (2,2), (3,3); +SELECT * FROM t1 USE INDEX (PRIMARY) WHERE c1=2; +c1 c2 +2 2 +SELECT * FROM t1 USE INDEX (c2) WHERE c2=2; +c1 c2 +2 2 +CREATE VIEW v1 AS SELECT c1, c2 FROM t1; +SHOW INDEX FROM v1; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment +SELECT * FROM v1 USE INDEX (PRIMARY) WHERE c1=2; +ERROR HY000: Key 'PRIMARY' doesn't exist in table 'v1' +SELECT * FROM v1 FORCE INDEX (PRIMARY) WHERE c1=2; +ERROR HY000: Key 'PRIMARY' doesn't exist in table 'v1' +SELECT * FROM v1 IGNORE INDEX (PRIMARY) WHERE c1=2; +ERROR HY000: Key 'PRIMARY' doesn't exist in table 'v1' +SELECT * FROM v1 USE INDEX (c2) WHERE c2=2; +ERROR HY000: Key 'c2' doesn't exist in table 'v1' +SELECT * FROM v1 FORCE INDEX (c2) WHERE c2=2; +ERROR HY000: Key 'c2' doesn't exist in table 'v1' +SELECT * FROM v1 IGNORE INDEX (c2) WHERE c2=2; +ERROR HY000: Key 'c2' doesn't exist in table 'v1' +DROP VIEW v1; +DROP TABLE t1; # ----------------------------------------------------------------- # -- End of 5.0 tests. # ----------------------------------------------------------------- diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test index bcf31a4501d..2892ee7dd69 100644 --- a/mysql-test/t/view.test +++ b/mysql-test/t/view.test @@ -510,7 +510,7 @@ drop table t1; # create table t1 (a int, b int); create view v1 as select a, sum(b) from t1 group by a; ---error ER_WRONG_USAGE +--error ER_KEY_DOES_NOT_EXITS select b from v1 use index (some_index) where b=1; drop view v1; drop table t1; @@ -3424,11 +3424,11 @@ drop table t1; CREATE TABLE t1 (a INT); INSERT INTO t1 VALUES (1),(2); CREATE VIEW v1 AS SELECT * FROM t1; ---error ER_WRONG_USAGE +--error ER_KEY_DOES_NOT_EXITS SELECT * FROM v1 USE KEY(non_existant); ---error ER_WRONG_USAGE +--error ER_KEY_DOES_NOT_EXITS SELECT * FROM v1 FORCE KEY(non_existant); ---error ER_WRONG_USAGE +--error ER_KEY_DOES_NOT_EXITS SELECT * FROM v1 IGNORE KEY(non_existant); DROP VIEW v1; @@ -3568,6 +3568,32 @@ DROP VIEW v1; CREATE VIEW v1 AS SELECT 1; DROP VIEW v1; +# +# Bug #33461: SELECT ... FROM USE INDEX (...) throws an error +# + +CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 INT, INDEX (c2)); +INSERT INTO t1 VALUES (1,1), (2,2), (3,3); +SELECT * FROM t1 USE INDEX (PRIMARY) WHERE c1=2; +SELECT * FROM t1 USE INDEX (c2) WHERE c2=2; + +CREATE VIEW v1 AS SELECT c1, c2 FROM t1; +SHOW INDEX FROM v1; +--error ER_KEY_DOES_NOT_EXITS +SELECT * FROM v1 USE INDEX (PRIMARY) WHERE c1=2; +--error ER_KEY_DOES_NOT_EXITS +SELECT * FROM v1 FORCE INDEX (PRIMARY) WHERE c1=2; +--error ER_KEY_DOES_NOT_EXITS +SELECT * FROM v1 IGNORE INDEX (PRIMARY) WHERE c1=2; +--error ER_KEY_DOES_NOT_EXITS +SELECT * FROM v1 USE INDEX (c2) WHERE c2=2; +--error ER_KEY_DOES_NOT_EXITS +SELECT * FROM v1 FORCE INDEX (c2) WHERE c2=2; +--error ER_KEY_DOES_NOT_EXITS +SELECT * FROM v1 IGNORE INDEX (c2) WHERE c2=2; + +DROP VIEW v1; +DROP TABLE t1; --echo # ----------------------------------------------------------------- --echo # -- End of 5.0 tests. diff --git a/sql/sql_view.cc b/sql/sql_view.cc index f65a62bed75..5bd3c09a289 100644 --- a/sql/sql_view.cc +++ b/sql/sql_view.cc @@ -980,13 +980,14 @@ bool mysql_make_view(THD *thd, File_parser *parser, TABLE_LIST *table, DBUG_RETURN(0); } - if (table->use_index || table->ignore_index) + List *index_list= table->use_index ? table->use_index + : table->ignore_index; + if (index_list) { - my_error(ER_WRONG_USAGE, MYF(0), - table->ignore_index ? "IGNORE INDEX" : - (table->force_index ? "FORCE INDEX" : "USE INDEX"), - "VIEW"); - DBUG_RETURN(TRUE); + DBUG_ASSERT(index_list->head()); // should never fail + my_error(ER_KEY_DOES_NOT_EXITS, MYF(0), index_list->head()->c_ptr_safe(), + table->table_name); + DBUG_RETURN(TRUE); } /* check loop via view definition */ From d15cbc1a1abf8c61398c096b0a0271d361da552c Mon Sep 17 00:00:00 2001 From: Gleb Shchepa Date: Fri, 28 Nov 2008 20:36:07 +0400 Subject: [PATCH 130/141] Bug #40745: Error during WHERE clause calculation in UPDATE leads to an assertion failure Any run-time error in stored function (like recursive function call or update of table that is already updating by statement which invoked this stored function etc.) that was used in some expression of the single-table UPDATE statement caused an assertion failure. Multiple-table UPDATE (as well as INSERT and both single- and multiple-table DELETE) are not affected. mysql-test/r/update.result: Added test case for bug #40745. mysql-test/t/update.test: Added test case for bug #40745. sql/sql_update.cc: Bug #40745: Error during WHERE clause calculation in UPDATE leads to an assertion failure The mysql_update function has been updated to take into account the status of invoked stored functions before setting the status of whole UPDATE query to OK. --- mysql-test/r/update.result | 11 +++++++++++ mysql-test/t/update.test | 21 +++++++++++++++++++++ sql/sql_update.cc | 5 +++++ 3 files changed, 37 insertions(+) diff --git a/mysql-test/r/update.result b/mysql-test/r/update.result index b861ec96882..7a51649fac5 100644 --- a/mysql-test/r/update.result +++ b/mysql-test/r/update.result @@ -491,4 +491,15 @@ update t1 join t2 on (t1.a=t2.a) set t1.id=t2.id; affected rows: 127 info: Rows matched: 128 Changed: 127 Warnings: 0 drop table t1,t2; +DROP TABLE IF EXISTS t1; +DROP FUNCTION IF EXISTS f1; +CREATE FUNCTION f1() RETURNS INT RETURN f1(); +CREATE TABLE t1 (i INT); +INSERT INTO t1 VALUES (1); +UPDATE t1 SET i = 3 WHERE f1(); +ERROR HY000: Recursive stored functions and triggers are not allowed. +UPDATE t1 SET i = f1(); +ERROR HY000: Recursive stored functions and triggers are not allowed. +DROP TABLE t1; +DROP FUNCTION f1; End of 5.0 tests diff --git a/mysql-test/t/update.test b/mysql-test/t/update.test index f79c9e773aa..7d56df259ba 100644 --- a/mysql-test/t/update.test +++ b/mysql-test/t/update.test @@ -430,4 +430,25 @@ drop table t1,t2; connection default; disconnect con1; +# +# Bug #40745: Error during WHERE clause calculation in UPDATE +# leads to an assertion failure +# +--disable_warnings +DROP TABLE IF EXISTS t1; +DROP FUNCTION IF EXISTS f1; +--enable_warnings + +CREATE FUNCTION f1() RETURNS INT RETURN f1(); +CREATE TABLE t1 (i INT); +INSERT INTO t1 VALUES (1); + +--error ER_SP_NO_RECURSION +UPDATE t1 SET i = 3 WHERE f1(); +--error ER_SP_NO_RECURSION +UPDATE t1 SET i = f1(); + +DROP TABLE t1; +DROP FUNCTION f1; + --echo End of 5.0 tests diff --git a/sql/sql_update.cc b/sql/sql_update.cc index 4fbf08c44d3..dbdd30552ec 100644 --- a/sql/sql_update.cc +++ b/sql/sql_update.cc @@ -715,6 +715,11 @@ int mysql_update(THD *thd, else table->file->unlock_row(); thd->row_count++; + if (thd->is_error()) + { + error= 1; + break; + } } dup_key_found= 0; /* From ab4d8812f46374061d314b35f1358525b279de4d Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Sat, 29 Nov 2008 15:36:17 +0200 Subject: [PATCH 131/141] Bug #37742: HA_EXTRA_KEYREAD flag is set when key contains only prefix of requested column When the storage engine uses secondary keys clustered with the primary key MySQL was adding the primary key parts to each secondary key. In doing so it was not checking whether the index was on full columns and this resulted in the secondary keys being added to the list of covering keys even if they have partial columns. Fixed by not adding a primary key part to the list of columns that can be used for index read of the secondary keys when the primary key part is a partial key part. mysql-test/r/innodb_mysql.result: Bug #37742: test case mysql-test/t/innodb_mysql.test: Bug #37742: test case sql/table.cc: Bug #37742: don't add the primary key part to the list of covering key parts of a secondary key if it's a partial key part. --- mysql-test/r/innodb_mysql.result | 84 ++++++++++++++++++++++++++++++++ mysql-test/t/innodb_mysql.test | 36 ++++++++++++++ sql/table.cc | 4 +- 3 files changed, 123 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/innodb_mysql.result b/mysql-test/r/innodb_mysql.result index 2c14b1f2385..a348c63ec81 100644 --- a/mysql-test/r/innodb_mysql.result +++ b/mysql-test/r/innodb_mysql.result @@ -1677,3 +1677,87 @@ select @@session.sql_log_bin, @@session.binlog_format, @@session.tx_isolation; CREATE TABLE t1 ( a INT ) ENGINE=InnoDB; INSERT INTO t1 VALUES(1); DROP TABLE t1; +CREATE TABLE foo (a int, b int, c char(10), +PRIMARY KEY (c(3)), +KEY b (b) +) engine=innodb; +CREATE TABLE foo2 (a int, b int, c char(10), +PRIMARY KEY (c), +KEY b (b) +) engine=innodb; +CREATE TABLE bar (a int, b int, c char(10), +PRIMARY KEY (c(3)), +KEY b (b) +) engine=myisam; +INSERT INTO foo VALUES +(1,2,'abcdefghij'), (2,3,''), (3,4,'klmnopqrst'), +(4,5,'uvwxyz'), (5,6,'meotnsyglt'), (4,5,'asfdewe'); +INSERT INTO bar SELECT * FROM foo; +INSERT INTO foo2 SELECT * FROM foo; +EXPLAIN SELECT c FROM bar WHERE b>2;; +id 1 +select_type SIMPLE +table bar +type ALL +possible_keys b +key NULL +key_len NULL +ref NULL +rows 6 +Extra Using where +EXPLAIN SELECT c FROM foo WHERE b>2;; +id 1 +select_type SIMPLE +table foo +type ALL +possible_keys b +key NULL +key_len NULL +ref NULL +rows 6 +Extra Using where +EXPLAIN SELECT c FROM foo2 WHERE b>2;; +id 1 +select_type SIMPLE +table foo2 +type range +possible_keys b +key b +key_len 5 +ref NULL +rows 3 +Extra Using where; Using index +EXPLAIN SELECT c FROM bar WHERE c>2;; +id 1 +select_type SIMPLE +table bar +type ALL +possible_keys PRIMARY +key NULL +key_len NULL +ref NULL +rows 6 +Extra Using where +EXPLAIN SELECT c FROM foo WHERE c>2;; +id 1 +select_type SIMPLE +table foo +type ALL +possible_keys PRIMARY +key NULL +key_len NULL +ref NULL +rows 6 +Extra Using where +EXPLAIN SELECT c FROM foo2 WHERE c>2;; +id 1 +select_type SIMPLE +table foo2 +type index +possible_keys PRIMARY +key b +key_len 5 +ref NULL +rows 6 +Extra Using where; Using index +DROP TABLE foo, bar, foo2; diff --git a/mysql-test/t/innodb_mysql.test b/mysql-test/t/innodb_mysql.test index ed8de208474..06ebb079a1b 100644 --- a/mysql-test/t/innodb_mysql.test +++ b/mysql-test/t/innodb_mysql.test @@ -43,3 +43,39 @@ CREATE TABLE t1 ( a INT ) ENGINE=InnoDB; INSERT INTO t1 VALUES(1); DROP TABLE t1; +# +# Bug #37742: HA_EXTRA_KEYREAD flag is set when key contains only prefix of +# requested column +# + +CREATE TABLE foo (a int, b int, c char(10), + PRIMARY KEY (c(3)), + KEY b (b) +) engine=innodb; + +CREATE TABLE foo2 (a int, b int, c char(10), + PRIMARY KEY (c), + KEY b (b) +) engine=innodb; + +CREATE TABLE bar (a int, b int, c char(10), + PRIMARY KEY (c(3)), + KEY b (b) +) engine=myisam; + +INSERT INTO foo VALUES + (1,2,'abcdefghij'), (2,3,''), (3,4,'klmnopqrst'), + (4,5,'uvwxyz'), (5,6,'meotnsyglt'), (4,5,'asfdewe'); + +INSERT INTO bar SELECT * FROM foo; +INSERT INTO foo2 SELECT * FROM foo; + +--query_vertical EXPLAIN SELECT c FROM bar WHERE b>2; +--query_vertical EXPLAIN SELECT c FROM foo WHERE b>2; +--query_vertical EXPLAIN SELECT c FROM foo2 WHERE b>2; + +--query_vertical EXPLAIN SELECT c FROM bar WHERE c>2; +--query_vertical EXPLAIN SELECT c FROM foo WHERE c>2; +--query_vertical EXPLAIN SELECT c FROM foo2 WHERE c>2; + +DROP TABLE foo, bar, foo2; diff --git a/sql/table.cc b/sql/table.cc index 89714e4e47e..1de47a48513 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -1416,7 +1416,9 @@ static int open_binary_frm(THD *thd, TABLE_SHARE *share, uchar *head, */ if (ha_option & HA_PRIMARY_KEY_IN_READ_INDEX) { - field->part_of_key= share->keys_in_use; + if (field->key_length() == key_part->length && + !(field->flags & BLOB_FLAG)) + field->part_of_key= share->keys_in_use; if (field->part_of_sortkey.is_set(key)) field->part_of_sortkey= share->keys_in_use; } From 4f75f58b7aa36184f853e7682c1f1acfbbe72b85 Mon Sep 17 00:00:00 2001 From: Gleb Shchepa Date: Mon, 1 Dec 2008 12:14:02 +0400 Subject: [PATCH 132/141] After-push commit for bug #33461 to make valgrind happy: TABLE_LIST doesn't free Strings in its string lists (TABLE_LIST::use_index and TABLE_liST::ignore_index), so calling c_ptr_safe() on that Strings leads to memleaks. OTOH "safe" c_ptr_safe() is not necessary there and we can replace it with c_ptr(). --- sql/sql_view.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/sql_view.cc b/sql/sql_view.cc index 5bd3c09a289..41a638b2618 100644 --- a/sql/sql_view.cc +++ b/sql/sql_view.cc @@ -985,7 +985,7 @@ bool mysql_make_view(THD *thd, File_parser *parser, TABLE_LIST *table, if (index_list) { DBUG_ASSERT(index_list->head()); // should never fail - my_error(ER_KEY_DOES_NOT_EXITS, MYF(0), index_list->head()->c_ptr_safe(), + my_error(ER_KEY_DOES_NOT_EXITS, MYF(0), index_list->head()->c_ptr(), table->table_name); DBUG_RETURN(TRUE); } From a1e9b6ba1e7d02c527bd2bd8b0a811919553f09c Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Mon, 1 Dec 2008 13:34:53 +0200 Subject: [PATCH 133/141] Addendum to bug #37339 : make the test case portable to windows by using and taking out a full path. mysql-test/r/ctype_filesystem.result: Bug #37399: use MYSQL_TEST_DIR rooted test mysql-test/t/ctype_filesystem-master.opt: Bug #37399: use MYSQL_TEST_DIR rooted test mysql-test/t/ctype_filesystem.test: Bug #37399: use MYSQL_TEST_DIR rooted test --- mysql-test/r/ctype_filesystem.result | 2 +- mysql-test/t/ctype_filesystem-master.opt | 2 +- mysql-test/t/ctype_filesystem.test | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/ctype_filesystem.result b/mysql-test/r/ctype_filesystem.result index 8a8f0f7f8cc..b461cf2a1a4 100644 --- a/mysql-test/r/ctype_filesystem.result +++ b/mysql-test/r/ctype_filesystem.result @@ -1,7 +1,7 @@ SET CHARACTER SET utf8; SHOW VARIABLES like 'character_sets_dir'; Variable_name Value -character_sets_dir /ß/ +character_sets_dir MYSQL_TEST_DIR/ß/ SHOW VARIABLES like 'character_set_filesystem'; Variable_name Value character_set_filesystem latin1 diff --git a/mysql-test/t/ctype_filesystem-master.opt b/mysql-test/t/ctype_filesystem-master.opt index cb3427571b5..44127f68664 100644 --- a/mysql-test/t/ctype_filesystem-master.opt +++ b/mysql-test/t/ctype_filesystem-master.opt @@ -1,2 +1,2 @@ ---character-sets-dir=/ß +--character-sets-dir=$MYSQL_TEST_DIR/ß --character-set-filesystem=latin1 diff --git a/mysql-test/t/ctype_filesystem.test b/mysql-test/t/ctype_filesystem.test index 30b1607008b..2b993c2b924 100644 --- a/mysql-test/t/ctype_filesystem.test +++ b/mysql-test/t/ctype_filesystem.test @@ -1,4 +1,5 @@ SET CHARACTER SET utf8; +--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR SHOW VARIABLES like 'character_sets_dir'; SHOW VARIABLES like 'character_set_filesystem'; SHOW VARIABLES like 'character_set_client'; From f56e43ce521e4265f09682dd52ffa07ae1433afa Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Mon, 1 Dec 2008 16:18:35 +0200 Subject: [PATCH 134/141] Bug #39920: MySQL cannot deal with Leap Second expression in string literal. Updated MySQL time handling code to react correctly on UTC leap second additions. MySQL functions that return the OS current time, like e.g. CURDATE(), NOW() etc will return :59:59 instead of :59:60 or 59:61. As a result the reader will receive :59:59 for 2 or 3 consecutive seconds during the leap second. This fix will not affect the values returned by UNIX_TIMESTAMP() for leap seconds. But note that when converting the value returned by UNIX_TIMESTAMP() to broken down time the correction of leap seconds will still be applied. Note that this fix will make a difference *only* if the OS is specially configured to return leap seconds from the OS time calls or when using a MySQL time zone defintion that has leap seconds. Even after this change date/time literals (or other broken down time representations) with leap seconds (ending on :59:60 or 59:61) will still be considered illegal and discarded by the server with an error or a warning depending on the sql mode. Added a test case to demonstrate the effect of the fix. mysql-test/r/timezone3.result: Bug #39920: test case mysql-test/std_data/Moscow_leap: Bug #39920: updated the Moscow time zone to Dr. Olson's tzdata 2008i to accomodate for the 2008 leap second mysql-test/t/timezone3.test: Bug #39920: test case sql/tztime.cc: Bug #39920: adjust leap seconds (:60 or :61) to :59 sql/tztime.h: Bug #39920: adjust leap seconds (:60 or :61) to :59 --- mysql-test/r/timezone3.result | 8 ++++++++ mysql-test/std_data/Moscow_leap | Bin 991 -> 2674 bytes mysql-test/t/timezone3.test | 12 ++++++++++++ sql/tztime.cc | 22 ++++++++++++++++++++++ sql/tztime.h | 3 +++ 5 files changed, 45 insertions(+) diff --git a/mysql-test/r/timezone3.result b/mysql-test/r/timezone3.result index ec0b6045f93..ceac4a5aefb 100644 --- a/mysql-test/r/timezone3.result +++ b/mysql-test/r/timezone3.result @@ -17,6 +17,9 @@ insert into t1 values insert into t1 values (unix_timestamp('1981-07-01 03:59:59'),'1981-07-01 03:59:59'), (unix_timestamp('1981-07-01 04:00:00'),'1981-07-01 04:00:00'); +insert into t1 values +(unix_timestamp('2009-01-01 02:59:59'),'2009-01-01 02:59:59'), +(unix_timestamp('2009-01-01 03:00:00'),'2009-01-01 03:00:00'); select i, from_unixtime(i), c from t1; i from_unixtime(i) c 1072904422 2004-01-01 00:00:00 2004-01-01 00:00:00 @@ -31,6 +34,8 @@ i from_unixtime(i) c 1099180821 2004-10-31 02:59:59 2004-10-31 02:59:59 362793608 1981-07-01 03:59:59 1981-07-01 03:59:59 362793610 1981-07-01 04:00:00 1981-07-01 04:00:00 +1230768022 2009-01-01 02:59:59 2009-01-01 02:59:59 +1230768024 2009-01-01 03:00:00 2009-01-01 03:00:00 drop table t1; create table t1 (ts timestamp); insert into t1 values (19730101235900), (20040101235900); @@ -39,3 +44,6 @@ ts 1973-01-01 23:59:00 2004-01-01 23:59:00 drop table t1; +SELECT FROM_UNIXTIME(1230768022), FROM_UNIXTIME(1230768023), FROM_UNIXTIME(1230768024); +FROM_UNIXTIME(1230768022) FROM_UNIXTIME(1230768023) FROM_UNIXTIME(1230768024) +2009-01-01 02:59:59 2009-01-01 02:59:59 2009-01-01 03:00:00 diff --git a/mysql-test/std_data/Moscow_leap b/mysql-test/std_data/Moscow_leap index 4994c005595dc06bc6d288e9ecea38307ce11c82..3e73923cfb323ed1f7fe38d1b1929a0dc2bc8eeb 100644 GIT binary patch literal 2674 zcmb`|eN0t#7{Kv!x%b@r;{t*&2qYlB5QvDpq+o$)cvTb%1&IjKLM+FwX)oDuBkEGTv_NJtz6~GS{u32i#^|CXCrI<t`6l1$@YN2uK4ik7SC?>TtLSq)S-A^$vYh}3nG&aeKj=t@~kM;QyKMV__^q71A1b53X1MK z|H|cIAMU>udu02qxYwHl@mp5~hHqFDNLV&6FrsRDU}RBt->BT=zR{^MeTlK&zWYON z-cB-;8k2gXHzi+<+BT-)<85OuUMNX9{r1$c$1gXfc6`=6Zs$kMX)SMU9>043=JZ9| zH)m9zbY-sG<;u!ycRet7ojD<{$()#3Wljv#xO0Xz_;arK+>>rr`X4-*EWRCnn`!#AqMc{}tHwOiN5t=6?atk-pca=rA^YW?(;9R1AUe7)?e)J{Ug3{X&&^3tD;M8Xt1^PrYTp(0e8hKZP1+xN&97%v!+;*$aN)38d;O$d*Y%QG z-`%b^?C#VXk2dKS)@t3@R-=O)K~9I$beV3`<#CCeD!AY24N<16|BZV)8^)+)`44Gi z)Hz%-S1{){IFw)BO1dNF&i&%zGNZUuu4#Of&X#MM z;q#TrB{y8htbf>HcKqa!F9`DZhc}DP;M!8B=n9$XZxPL~u_0STcX(*NTl7Tyys}kP zgStEAiHzXL_OmaF-l$D|UNIzQVaCg1Xk6koUaznbUtg7HHU=c_+uJ6FCpCT^E=Hu3 z^llRere=C?k`7DB2a*sZBS=b+oFGX-vVx=q$qSMgBr`~AklY~2L9&CS2g#46 zBnZh6k|ImV5t1Y%OGuiKJRylfGKHiH$rX|;BwI+jkbEHtvy_Y>DYKNEAxT5BhNKP2 z8qy!yCGSY$k<25hM{&58SL$MhJ*&Y&Hgv;?aceh)5r#pw?a06vNnLsvH_&0vH_%) zvH_%tvH|2XHo=hI_rEV2AnwlnA~wMPZUMf_-UQ6{Hej|l0<*mpnC;ELY;Olo``MBx@*yvy~4gN=U6CPZiix9 z-ZFEx{0!!{f;LIE!axPKqSW7P#fD65C9ZebN(G*time_type= MYSQL_TIMESTAMP_DATETIME; + adjust_leap_second(tmp); } @@ -1157,6 +1158,7 @@ Time_zone_utc::gmt_sec_to_TIME(MYSQL_TIME *tmp, my_time_t t) const gmtime_r(&tmp_t, &tmp_tm); localtime_to_TIME(tmp, &tmp_tm); tmp->time_type= MYSQL_TIMESTAMP_DATETIME; + adjust_leap_second(tmp); } @@ -1260,6 +1262,7 @@ void Time_zone_db::gmt_sec_to_TIME(MYSQL_TIME *tmp, my_time_t t) const { ::gmt_sec_to_TIME(tmp, t, tz_info); + adjust_leap_second(tmp); } @@ -2373,6 +2376,25 @@ Time_zone *my_tz_find_with_opening_tz_tables(THD *thd, const String *name) DBUG_RETURN(tz); } + +/** + Convert leap seconds into non-leap + + This function will convert the leap seconds added by the OS to + non-leap seconds, e.g. 23:59:59, 23:59:60 -> 23:59:59, 00:00:01 ... + This check is not checking for years on purpose : although it's not a + complete check this way it doesn't require looking (and having installed) + the leap seconds table. + + @param[in,out] broken down time structure as filled in by the OS +*/ + +void Time_zone::adjust_leap_second(MYSQL_TIME *t) +{ + if (t->second == 60 || t->second == 61) + t->second= 59; +} + #endif /* !defined(TESTTIME) && !defined(TZINFO2SQL) */ diff --git a/sql/tztime.h b/sql/tztime.h index 32a942a26e1..750b8dacbe1 100644 --- a/sql/tztime.h +++ b/sql/tztime.h @@ -55,6 +55,9 @@ public: allocated on MEM_ROOT and should not require destruction. */ virtual ~Time_zone() {}; + +protected: + static inline void adjust_leap_second(MYSQL_TIME *t); }; extern Time_zone * my_tz_UTC; From 7f9e0b9bfb71bd3e47c48bb77f11df76feb1b7ad Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Mon, 1 Dec 2008 17:41:06 +0200 Subject: [PATCH 135/141] addendum to the fix for bug #39920 : post-merge test suite fixes --- mysql-test/r/timezone2.result | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/r/timezone2.result b/mysql-test/r/timezone2.result index bb1d764ac8c..e115ce16fa4 100644 --- a/mysql-test/r/timezone2.result +++ b/mysql-test/r/timezone2.result @@ -110,7 +110,7 @@ i ts 362793610 1981-07-01 04:00:00 select from_unixtime(362793609); from_unixtime(362793609) -1981-07-01 03:59:60 +1981-07-01 03:59:59 drop table t1; create table t1 (ts timestamp); set time_zone='UTC'; From bd53e304d7a75854dea2b732468fe4b18ef3aaf8 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Tue, 2 Dec 2008 13:15:28 +0200 Subject: [PATCH 136/141] Addendum to the fix for bug #39178: Server crash in YaSSL with non-RSA-requesting client if server uses RSA key matchSuite() may not find a match. It will return error in this case. Added a error checking code that will prevent using uninitialized memory in the code based on the assumption that matchSuite() has found a match. extra/yassl/src/yassl_imp.cpp: Bug #39178: Correct error checking added --- extra/yassl/src/yassl_imp.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/extra/yassl/src/yassl_imp.cpp b/extra/yassl/src/yassl_imp.cpp index 4430ef0213c..20dfe50f132 100644 --- a/extra/yassl/src/yassl_imp.cpp +++ b/extra/yassl/src/yassl_imp.cpp @@ -1560,6 +1560,7 @@ void ClientHello::Process(input_buffer&, SSL& ssl) return; } ssl.matchSuite(cipher_suites_, suite_len_); + if (ssl.GetError()) return; ssl.set_pending(ssl.getSecurity().get_parms().suite_[1]); if (compression_methods_ == zlib) From 014143e8588c4313ccf10e269aa34a997f5772b6 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Tue, 2 Dec 2008 13:21:05 +0200 Subject: [PATCH 137/141] Fixed a bad merge (5.0->5.1) of the fix for bug 37339. There was a missing initialization. sql/set_var.h: Added an initialization missing during the merge of 37339. --- sql/set_var.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sql/set_var.h b/sql/set_var.h index 2e58b2faa7d..b6c67d1ab4a 100644 --- a/sql/set_var.h +++ b/sql/set_var.h @@ -82,6 +82,7 @@ public: sys_var(const char *name_arg, sys_after_update_func func= NULL, Binlog_status_enum binlog_status_arg= NOT_IN_BINLOG) :name(name_arg), after_update(func), no_support_one_shot(1), + is_os_charset (FALSE), binlog_status(binlog_status_arg), m_allow_empty_value(TRUE) {} From 71dbb4987f719e04ee49b30522fab2d8aa646dc6 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Tue, 2 Dec 2008 14:50:40 +0200 Subject: [PATCH 138/141] moved the version to 5.0-main --- .bzr-mysql/default.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.bzr-mysql/default.conf b/.bzr-mysql/default.conf index 557df1b1ffe..f79c1cd6319 100644 --- a/.bzr-mysql/default.conf +++ b/.bzr-mysql/default.conf @@ -1,4 +1,4 @@ [MYSQL] post_commit_to = "commits@lists.mysql.com" post_push_to = "commits@lists.mysql.com" -tree_name = "mysql-5.0-bugteam" +tree_name = "mysql-5.0" From 7391280c15fda6337c24be789cc0b1a1d5b25d69 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 3 Dec 2008 01:09:05 +0100 Subject: [PATCH 139/141] Raise version number after cloning 5.0.74 --- configure.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.in b/configure.in index 83220a879f0..2d942bc7e85 100644 --- a/configure.in +++ b/configure.in @@ -7,7 +7,7 @@ AC_INIT(sql/mysqld.cc) AC_CANONICAL_SYSTEM # The Docs Makefile.am parses this line! # remember to also change ndb version below and update version.c in ndb -AM_INIT_AUTOMAKE(mysql, 5.0.74) +AM_INIT_AUTOMAKE(mysql, 5.0.76) AM_CONFIG_HEADER([include/config.h:config.h.in]) PROTOCOL_VERSION=10 @@ -23,7 +23,7 @@ NDB_SHARED_LIB_VERSION=$NDB_SHARED_LIB_MAJOR_VERSION:0:0 # ndb version NDB_VERSION_MAJOR=5 NDB_VERSION_MINOR=0 -NDB_VERSION_BUILD=74 +NDB_VERSION_BUILD=76 NDB_VERSION_STATUS="" # Set all version vars based on $VERSION. How do we do this more elegant ? From 8f500c522b5b38b55204031a90977c2c087ffd5c Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Thu, 4 Dec 2008 19:41:53 +0100 Subject: [PATCH 140/141] Bug#38522: 5 seconds delay when closing application using embedded server The problem here is that embedded server starts handle_thread manager thread on mysql_library_init() does not stop it on mysql_library_end(). At shutdown, my_thread_global_end() waits for thread count to become 0, but since we did not stop the thread it will give up after 5 seconds. Solution is to move shutdown for handle_manager thread from kill_server() (mysqld specific) to clean_up() that is used by both embedded and mysqld. This patch also contains some refactorings - to avoid duplicate code, start_handle_manager() and stop_handle_manager() functions are introduced. Unused variables are eliminated. handle_manager does not rely on global variable abort_loop anymore to stop (abort_loop is not set for embedded). Note: Specifically on Windows and when using DBUG version of libmysqld, the complete solution requires removing obsolete code my_thread_init() from my_thread_var(). This has a side effect that a DBUG statement after my_thread_end() can cause thread counter to be incremented, and embedded will hang for some seconds. Or worse, my_thread_init() will crash if critical sections have been deleted by the global cleanup routine that runs in a different thread. This patch also fixes and revert prior changes for Bug#38293 "Libmysqld crash in mysql_library_init if language file missing". Root cause of the crash observed in Bug#38293 was bug in my_thread_init() described above client/mysql.cc: sql_protocol_typelib is not exported from libmysqld (does not make sense either) thus excluded from embedded client dbug/dbug.c: revert changes for Bug#38293 include/my_dbug.h: revert changes for Bug#38293 libmysql/libmysql.c: Removed DBUG_POP call, because when called after my_end(), will access THR_key_mysys that is already deleted. The result of pthread_get_specific is not predictable in this case and hence DBUG_POP can crash. libmysqld/examples/CMakeLists.txt: Revert changes for Bug#38293. libmysqld/lib_sql.cc: code to start handle manager is factored out into start_handle_manager() function libmysqld/libmysqld.def: Revert changes for Bug #38293 Remove excessive exports from libmysqld, export what API documents. mysys/my_thr_init.c: Remove windows-DLL-specific workaround for something (old code, no documentation for what specifically). The problem is that even after my_thread_end() is finished, DBUG statement can initiate my_thread_init(). This does not happen anywhere else and should not happen on Windows either. sql/mysql_priv.h: - new functions start_handle_manager() and stop_handle_manager() - move manager_thread_in_use variable to sql_manager.cc and made it static - remove manager_status, as it is unused sql/mysqld.cc: Code to start/stop handle_manager thread is factored out into start_handle_manager() --- client/mysql.cc | 2 + dbug/dbug.c | 17 +--- include/my_dbug.h | 16 ---- libmysql/libmysql.c | 4 +- libmysqld/examples/CMakeLists.txt | 6 +- libmysqld/lib_sql.cc | 8 +- libmysqld/libmysqld.def | 126 ------------------------------ mysys/my_thr_init.c | 12 +-- sql/mysql_priv.h | 7 +- sql/mysqld.cc | 24 +----- sql/sql_manager.cc | 54 ++++++++++--- 11 files changed, 56 insertions(+), 220 deletions(-) diff --git a/client/mysql.cc b/client/mysql.cc index 024194d81f6..ff53d623d07 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -1627,8 +1627,10 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), opt_nopager= 1; break; case OPT_MYSQL_PROTOCOL: +#ifndef EMBEDDED_LIBRARY opt_protocol= find_type_or_exit(argument, &sql_protocol_typelib, opt->name); +#endif break; case OPT_SERVER_ARG: #ifdef EMBEDDED_LIBRARY diff --git a/dbug/dbug.c b/dbug/dbug.c index bbd1abb9598..baf080f5e27 100644 --- a/dbug/dbug.c +++ b/dbug/dbug.c @@ -1851,13 +1851,7 @@ static void DBUGOpenFile(CODE_STATE *cs, else { newfile= !EXISTS(name); - if (!(fp= fopen(name, -#if defined(MSDOS) || defined(__WIN__) - append ? "a+c" : "wc" -#else - append ? "a+" : "w" -#endif - ))) + if (!(fp= fopen(name, append ? "a+" : "w"))) { (void) fprintf(stderr, ERR_OPEN, cs->process, name); perror(""); @@ -2407,13 +2401,4 @@ int i_am_a_dummy_function() { return 0; } -#ifdef __WIN__ -char _db_doprnt_; -char _db_enter_; -char _db_pargs_; -char _db_process_; -char _db_push_; -char _db_return_; -#endif /*__WIN__*/ - #endif diff --git a/include/my_dbug.h b/include/my_dbug.h index fa7941faf1c..a77e439b5db 100644 --- a/include/my_dbug.h +++ b/include/my_dbug.h @@ -108,22 +108,6 @@ extern FILE *_db_fp_(void); #define DBUG_EXPLAIN(buf,len) #define DBUG_EXPLAIN_INITIAL(buf,len) #define IF_DBUG(A) - -#ifdef __WIN__ -/* - On windows all the dll export has to be declared in the *.def file - so as we export these symbols in DEBUG mode we have to export - these in the RELEASE mode also. So below are the dummy symbols - for the RELEASE export -*/ -extern char _db_doprnt_; -extern char _db_enter_; -extern char _db_pargs_; -extern char _db_process_; -extern char _db_push_; -extern char _db_return_; -#endif /*__WIN__*/ - #endif #ifdef __cplusplus } diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c index 1eab4199deb..ca329eadf0f 100644 --- a/libmysql/libmysql.c +++ b/libmysql/libmysql.c @@ -207,9 +207,7 @@ void STDCALL mysql_server_end() /* If library called my_init(), free memory allocated by it */ if (!org_my_init_done) { - my_end(MY_DONT_FREE_DBUG); - /* Remove TRACING, if enabled by mysql_debug() */ - DBUG_POP(); + my_end(0); } else { diff --git a/libmysqld/examples/CMakeLists.txt b/libmysqld/examples/CMakeLists.txt index 137dd11d28e..346278425a7 100644 --- a/libmysqld/examples/CMakeLists.txt +++ b/libmysqld/examples/CMakeLists.txt @@ -29,13 +29,13 @@ ADD_DEFINITIONS(-DEMBEDDED_LIBRARY) ADD_EXECUTABLE(mysql_embedded ../../client/completion_hash.cc ../../client/mysql.cc ../../client/readline.cc ../../client/sql_string.cc) -TARGET_LINK_LIBRARIES(mysql_embedded wsock32) +TARGET_LINK_LIBRARIES(mysql_embedded debug dbug strings mysys vio yassl taocrypt regex ws2_32) ADD_DEPENDENCIES(mysql_embedded libmysqld) ADD_EXECUTABLE(mysqltest_embedded ../../client/mysqltest.c) -TARGET_LINK_LIBRARIES(mysqltest_embedded wsock32) +TARGET_LINK_LIBRARIES(mysqltest_embedded debug dbug strings mysys vio yassl taocrypt regex ws2_32) ADD_DEPENDENCIES(mysqltest_embedded libmysqld) ADD_EXECUTABLE(mysql_client_test_embedded ../../tests/mysql_client_test.c) -TARGET_LINK_LIBRARIES(mysql_client_test_embedded wsock32) +TARGET_LINK_LIBRARIES(mysql_client_test_embedded debug dbug strings mysys vio yassl taocrypt regex ws2_32) ADD_DEPENDENCIES(mysql_client_test_embedded libmysqld) diff --git a/libmysqld/lib_sql.cc b/libmysqld/lib_sql.cc index e78c656d565..23572ad4929 100644 --- a/libmysqld/lib_sql.cc +++ b/libmysqld/lib_sql.cc @@ -386,6 +386,7 @@ static void emb_free_embedded_thd(MYSQL *mysql) thd->store_globals(); thd->unlink(); delete thd; + my_pthread_setspecific_ptr(THR_THD, 0); mysql->thd=0; } @@ -539,12 +540,7 @@ int init_embedded_server(int argc, char **argv, char **groups) (void) thr_setconcurrency(concurrency); // 10 by default - if (flush_time && flush_time != ~(ulong) 0L) - { - pthread_t hThread; - if (pthread_create(&hThread,&connection_attrib,handle_manager,0)) - sql_print_error("Warning: Can't create thread to manage maintenance"); - } + start_handle_manager(); // FIXME initialize binlog_filter and rpl_filter if not already done // corresponding delete is in clean_up() diff --git a/libmysqld/libmysqld.def b/libmysqld/libmysqld.def index 865475cb56c..047cfe0fe57 100644 --- a/libmysqld/libmysqld.def +++ b/libmysqld/libmysqld.def @@ -2,94 +2,6 @@ LIBRARY LIBMYSQLD DESCRIPTION 'MySQL 5.1 Embedded Server Library' VERSION 5.1 EXPORTS - _db_process_ - _db_enter_ - _db_return_ - _db_push_ - _db_doprnt_ - _db_pargs_ - strnmov - get_charset - my_memmem - my_snprintf - pthread_exit - pthread_cond_signal - dynstr_append_mem - init_dynamic_string - dynstr_free - my_hash_free - my_vsnprintf - dynstr_append - my_close - my_open - dynstr_set - dynstr_append_os_quoted - my_delete - my_seek - my_write - create_temp_file - fn_format - dirname_part - my_hash_insert - my_hash_search - test_if_hard_path - my_copy - my_mkdir - my_sleep - my_strtod - pthread_cond_wait - my_strnncoll_simple - get_dynamic - my_regerror - init_dynamic_array2 - pthread_create - pthread_cond_init - my_regcomp - my_regexec - my_regex_end - my_regfree - longlong2str - my_set_exception_pointers - my_print_stacktrace - my_thread_stack_size - my_safe_print_str - my_stat - _my_hash_init - pthread_attr_setstacksize - pthread_attr_init - my_dirend - wild_compare - my_dir - my_micro_time - find_type_or_exit - _dig_vec_upper - _dig_vec_lower - bmove_upp - delete_dynamic - free_defaults - getopt_compare_strings - getopt_ull_limit_value - handle_options - init_dynamic_array - insert_dynamic - int2str - is_prefix - list_add - list_delete - load_defaults - max_allowed_packet - my_cgets - my_end - my_getopt_print_errors - my_init - my_malloc - my_memdup - my_no_flags_free - my_path - my_print_help - my_print_variables - my_realloc - my_strdup mysql_thread_end mysql_thread_init myodbc_remove_escape @@ -162,47 +74,13 @@ EXPORTS mysql_thread_safe mysql_use_result mysql_warning_count - set_dynamic - strcend - strcont - strdup_root - strfill - strinstr - strmake - strmov - strxmov mysql_server_end mysql_server_init get_tty_password - sql_protocol_typelib mysql_get_server_version mysql_set_character_set mysql_sqlstate - charsets_dir - disabled_my_option - my_charset_latin1 - init_alloc_root - my_progname - get_charset_name - get_charset_by_csname - print_defaults - find_type - strxnmov - strend - my_fopen - my_fclose - unpack_filename - str2int - int10_to_str - longlong10_to_str - my_snprintf_8bit - alloc_root - free_root - my_read - llstr mysql_get_parameters - mysql_thread_init - mysql_thread_end mysql_stmt_bind_param mysql_stmt_bind_result mysql_stmt_execute @@ -230,7 +108,3 @@ EXPORTS mysql_stmt_attr_get mysql_stmt_attr_set mysql_stmt_field_count - get_defaults_options - my_charset_bin - my_charset_same - modify_defaults_file diff --git a/mysys/my_thr_init.c b/mysys/my_thr_init.c index 933674fa007..2278c467f32 100644 --- a/mysys/my_thr_init.c +++ b/mysys/my_thr_init.c @@ -368,17 +368,7 @@ void my_thread_end(void) struct st_my_thread_var *_my_thread_var(void) { - struct st_my_thread_var *tmp= - my_pthread_getspecific(struct st_my_thread_var*,THR_KEY_mysys); -#if defined(USE_TLS) - /* This can only happen in a .DLL */ - if (!tmp) - { - my_thread_init(); - tmp=my_pthread_getspecific(struct st_my_thread_var*,THR_KEY_mysys); - } -#endif - return tmp; + return my_pthread_getspecific(struct st_my_thread_var*,THR_KEY_mysys); } diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index 1d5c08c7c56..0d276cce177 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -1768,10 +1768,9 @@ int mysql_load(THD *thd, sql_exchange *ex, TABLE_LIST *table_list, int write_record(THD *thd, TABLE *table, COPY_INFO *info); /* sql_manager.cc */ -extern ulong volatile manager_status; -extern bool volatile manager_thread_in_use, mqh_used; -extern pthread_t manager_thread; -pthread_handler_t handle_manager(void *arg); +extern bool volatile mqh_used; +void start_handle_manager(); +void stop_handle_manager(); bool mysql_manager_submit(void (*action)()); diff --git a/sql/mysqld.cc b/sql/mysqld.cc index e6980318a66..7ff2b9e7dff 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -784,16 +784,6 @@ static void close_connections(void) kill_cached_threads++; flush_thread_cache(); - /* kill flush thread */ - (void) pthread_mutex_lock(&LOCK_manager); - if (manager_thread_in_use) - { - DBUG_PRINT("quit", ("killing manager thread: 0x%lx", - (ulong)manager_thread)); - (void) pthread_cond_signal(&COND_manager); - } - (void) pthread_mutex_unlock(&LOCK_manager); - /* kill connection thread */ #if !defined(__WIN__) && !defined(__NETWARE__) DBUG_PRINT("quit", ("waiting for select thread: 0x%lx", @@ -1196,6 +1186,7 @@ void clean_up(bool print_message) if (cleanup_done++) return; /* purecov: inspected */ + stop_handle_manager(); release_ddl_log(); /* @@ -4038,17 +4029,6 @@ server."); #ifndef EMBEDDED_LIBRARY -static void create_maintenance_thread() -{ - if (flush_time && flush_time != ~(ulong) 0L) - { - pthread_t hThread; - if (pthread_create(&hThread,&connection_attrib,handle_manager,0)) - sql_print_warning("Can't create thread to manage maintenance"); - } -} - - static void create_shutdown_thread() { #ifdef __WIN__ @@ -4363,7 +4343,7 @@ we force server id to 2, but this MySQL server will not act as a slave."); execute_ddl_log_recovery(); create_shutdown_thread(); - create_maintenance_thread(); + start_handle_manager(); if (Events::init(opt_noacl)) unireg_abort(1); diff --git a/sql/sql_manager.cc b/sql/sql_manager.cc index 171ab55145a..b082f65bfb9 100644 --- a/sql/sql_manager.cc +++ b/sql/sql_manager.cc @@ -23,8 +23,9 @@ #include "mysql_priv.h" -ulong volatile manager_status; -bool volatile manager_thread_in_use; + +static bool volatile manager_thread_in_use; +static bool abort_manager; pthread_t manager_thread; pthread_mutex_t LOCK_manager; @@ -63,7 +64,6 @@ bool mysql_manager_submit(void (*action)()) pthread_handler_t handle_manager(void *arg __attribute__((unused))) { int error = 0; - ulong status; struct timespec abstime; bool reset_flush_time = TRUE; struct handler_cb *cb= NULL; @@ -72,7 +72,6 @@ pthread_handler_t handle_manager(void *arg __attribute__((unused))) pthread_detach_this_thread(); manager_thread = pthread_self(); - manager_status = 0; manager_thread_in_use = 1; for (;;) @@ -87,16 +86,14 @@ pthread_handler_t handle_manager(void *arg __attribute__((unused))) set_timespec(abstime, flush_time); reset_flush_time = FALSE; } - while (!manager_status && (!error || error == EINTR) && !abort_loop) + while ((!error || error == EINTR) && !abort_manager) error= pthread_cond_timedwait(&COND_manager, &LOCK_manager, &abstime); } else { - while (!manager_status && (!error || error == EINTR) && !abort_loop) + while ((!error || error == EINTR) && !abort_manager) error= pthread_cond_wait(&COND_manager, &LOCK_manager); } - status = manager_status; - manager_status = 0; if (cb == NULL) { cb= cb_list; @@ -104,7 +101,7 @@ pthread_handler_t handle_manager(void *arg __attribute__((unused))) } pthread_mutex_unlock(&LOCK_manager); - if (abort_loop) + if (abort_manager) break; if (error == ETIMEDOUT || error == ETIME) @@ -121,11 +118,42 @@ pthread_handler_t handle_manager(void *arg __attribute__((unused))) my_free((uchar*)cb, MYF(0)); cb= next; } - - if (status) - DBUG_PRINT("error", ("manager did not handle something: %lx", status)); } manager_thread_in_use = 0; + DBUG_LEAVE; // Can't use DBUG_RETURN after my_thread_end my_thread_end(); - DBUG_RETURN(NULL); + return (NULL); } + + +/* Start handle manager thread */ +void start_handle_manager() +{ + DBUG_ENTER("start_handle_manager"); + abort_manager = false; + if (flush_time && flush_time != ~(ulong) 0L) + { + pthread_t hThread; + if (pthread_create(&hThread,&connection_attrib,handle_manager,0)) + sql_print_warning("Can't create handle_manager thread"); + } + DBUG_VOID_RETURN; +} + + +/* Initiate shutdown of handle manager thread */ +void stop_handle_manager() +{ + DBUG_ENTER("stop_handle_manager"); + abort_manager = true; + pthread_mutex_lock(&LOCK_manager); + if (manager_thread_in_use) + { + DBUG_PRINT("quit", ("initiate shutdown of handle manager thread: 0x%lx", + (ulong)manager_thread)); + pthread_cond_signal(&COND_manager); + } + pthread_mutex_unlock(&LOCK_manager); + DBUG_VOID_RETURN; +} + From 1bb6a0ba9f64ec5869d6d75a6e747379cd0842fe Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Fri, 5 Dec 2008 13:24:19 +0200 Subject: [PATCH 141/141] Disable wait_timeout_func and report bug #41255. --- mysql-test/t/disabled.def | 1 + 1 file changed, 1 insertion(+) diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index c01bb4b9e44..5de0a435ba5 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -12,3 +12,4 @@ federated_transactions : Bug#29523 Transactions do not work log_tables.test : Bug #37798: main.log_tables fails randomly on powermacg5 and windows slow_query_log_func.test : Bug #37962: *_func tests containing sleeps/race conditions +wait_timeout_func : Bug #41225 joro wait_timeout_func fails