From f30480a695b313cbd7bcaea4fca1dfc638e8e5a1 Mon Sep 17 00:00:00 2001 From: Sergey Vojtovich Date: Wed, 2 Sep 2009 16:19:28 +0500 Subject: [PATCH 01/18] BUG#46483 - drop table of partitioned table may leave extraneous file Online/fast ALTER TABLE of a partitioned table may leave temporary file in database directory. Fixed by removing unnecessary call to handler::ha_create_handler_files(), which was creating partitioning definition file. --- mysql-test/r/partition_innodb.result | 4 ++++ mysql-test/t/partition_innodb.test | 12 ++++++++++++ sql/unireg.cc | 8 ++++---- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/mysql-test/r/partition_innodb.result b/mysql-test/r/partition_innodb.result index ad4d08e89ff..8af9133ab3f 100644 --- a/mysql-test/r/partition_innodb.result +++ b/mysql-test/r/partition_innodb.result @@ -256,3 +256,7 @@ SUBPARTITION BY KEY (char_column) SUBPARTITIONS 2 (PARTITION p1 VALUES LESS THAN (5) ENGINE = MyISAM) */ drop table t1; +CREATE TABLE t1 (a INT) ENGINE=InnoDB +PARTITION BY list(a) (PARTITION p1 VALUES IN (1)); +CREATE INDEX i1 ON t1 (a); +DROP TABLE t1; diff --git a/mysql-test/t/partition_innodb.test b/mysql-test/t/partition_innodb.test index 2abbceffbb0..c2e98ab59b8 100644 --- a/mysql-test/t/partition_innodb.test +++ b/mysql-test/t/partition_innodb.test @@ -270,3 +270,15 @@ PARTITION BY RANGE (int_column) (PARTITION p1 VALUES LESS THAN (5)); show create table t1; drop table t1; + +# +# BUG#46483 - drop table of partitioned table may leave extraneous file +# Note: was only repeatable with InnoDB plugin +# +CREATE TABLE t1 (a INT) ENGINE=InnoDB + PARTITION BY list(a) (PARTITION p1 VALUES IN (1)); +CREATE INDEX i1 ON t1 (a); +DROP TABLE t1; +let $MYSQLD_DATADIR= `SELECT @@datadir`; +# Before the fix it should show extra file like #sql-2405_2.par +--list_files $MYSQLD_DATADIR/test/ * diff --git a/sql/unireg.cc b/sql/unireg.cc index 68a352e4a44..60674b8390b 100644 --- a/sql/unireg.cc +++ b/sql/unireg.cc @@ -412,10 +412,10 @@ int rea_create_table(THD *thd, const char *path, DBUG_ASSERT(*fn_rext(frm_name)); if (thd->variables.keep_files_on_create) create_info->options|= HA_CREATE_KEEP_FILES; - if (file->ha_create_handler_files(path, NULL, CHF_CREATE_FLAG, create_info)) - goto err_handler; - if (!create_info->frm_only && ha_create_table(thd, path, db, table_name, - create_info,0)) + if (!create_info->frm_only && + (file->ha_create_handler_files(path, NULL, CHF_CREATE_FLAG, + create_info) || + ha_create_table(thd, path, db, table_name, create_info, 0))) goto err_handler; DBUG_RETURN(0); From cae61b1ce435366e05b52cc9251257163bf4846a Mon Sep 17 00:00:00 2001 From: Kristofer Pettersson Date: Thu, 3 Sep 2009 12:08:55 +0200 Subject: [PATCH 02/18] Bug#46486 warnings produced when running mysql_install_db During start up some plugins are disabled by default. This caused an additional warning level message to be emitted as a result of a previous bug patch. Since there is risk of unnecessary confusion regarding the operation level of the server the redundant information is removed. --- sql/sql_plugin.cc | 3 --- 1 file changed, 3 deletions(-) diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc index da168d36429..f00e1f72390 100644 --- a/sql/sql_plugin.cc +++ b/sql/sql_plugin.cc @@ -1565,9 +1565,6 @@ void plugin_shutdown(void) } } - if (count > free_slots) - sql_print_warning("Forcing shutdown of %d plugins", count - free_slots); - plugins= (struct st_plugin_int **) my_alloca(sizeof(void*) * (count+1)); /* From acc76a97a01214ce67a61535b773e9a2a2a08b79 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Thu, 3 Sep 2009 18:03:46 +0300 Subject: [PATCH 03/18] Bug #46791: Assertion failed:(table->key_read==0),function unknown function,file sql_base.cc When uncacheable queries are written to a temp table the optimizer must preserve the original JOIN structure, because it is re-using the JOIN structure to read from the resulting temporary table. This was done only for uncacheable sub-queries. But top level queries can also benefit from this mechanism, specially if they're using index access and need a reset. Fixed by not limiting the saving of JOIN structure to subqueries exclusively. Added a new test file to extend the existing (large) subquery.test. --- mysql-test/r/subselect4.result | 30 ++++++++++++++++++++++++++++++ mysql-test/t/subselect4.test | 32 ++++++++++++++++++++++++++++++++ sql/sql_select.cc | 8 ++------ 3 files changed, 64 insertions(+), 6 deletions(-) create mode 100644 mysql-test/r/subselect4.result create mode 100644 mysql-test/t/subselect4.test diff --git a/mysql-test/r/subselect4.result b/mysql-test/r/subselect4.result new file mode 100644 index 00000000000..68577cb2a4c --- /dev/null +++ b/mysql-test/r/subselect4.result @@ -0,0 +1,30 @@ +# +# Bug #46791: Assertion failed:(table->key_read==0),function unknown +# function,file sql_base.cc +# +CREATE TABLE t1 (a INT, b INT, KEY(a)); +INSERT INTO t1 VALUES (1,1),(2,2); +CREATE TABLE t2 LIKE t1; +INSERT INTO t2 VALUES (1,1),(2,2); +CREATE TABLE t3 LIKE t1; +# should have 1 impossible where and 2 dependent subqueries +EXPLAIN +SELECT 1 FROM t1 +WHERE NOT EXISTS (SELECT 1 FROM t2 WHERE 1 = (SELECT MIN(t2.b) FROM t3)) +ORDER BY count(*); +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY t1 index NULL a 5 NULL 2 Using index; Using temporary +2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where +3 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL no matching row in const table +# should not crash the next statement +SELECT 1 FROM t1 +WHERE NOT EXISTS (SELECT 1 FROM t2 WHERE 1 = (SELECT MIN(t2.b) FROM t3)) +ORDER BY count(*); +1 +1 +# should not crash: the crash is caused by the previous statement +SELECT 1; +1 +1 +DROP TABLE t1,t2,t3; +End of 5.0 tests. diff --git a/mysql-test/t/subselect4.test b/mysql-test/t/subselect4.test new file mode 100644 index 00000000000..ff4cdf3c439 --- /dev/null +++ b/mysql-test/t/subselect4.test @@ -0,0 +1,32 @@ +# General purpose bug fix tests go here : subselect.test too large + + +--echo # +--echo # Bug #46791: Assertion failed:(table->key_read==0),function unknown +--echo # function,file sql_base.cc +--echo # + +CREATE TABLE t1 (a INT, b INT, KEY(a)); +INSERT INTO t1 VALUES (1,1),(2,2); +CREATE TABLE t2 LIKE t1; +INSERT INTO t2 VALUES (1,1),(2,2); +CREATE TABLE t3 LIKE t1; + +--echo # should have 1 impossible where and 2 dependent subqueries +EXPLAIN +SELECT 1 FROM t1 +WHERE NOT EXISTS (SELECT 1 FROM t2 WHERE 1 = (SELECT MIN(t2.b) FROM t3)) +ORDER BY count(*); + +--echo # should not crash the next statement +SELECT 1 FROM t1 +WHERE NOT EXISTS (SELECT 1 FROM t2 WHERE 1 = (SELECT MIN(t2.b) FROM t3)) +ORDER BY count(*); + +--echo # should not crash: the crash is caused by the previous statement +SELECT 1; + +DROP TABLE t1,t2,t3; + + +--echo End of 5.0 tests. diff --git a/sql/sql_select.cc b/sql/sql_select.cc index b670e6e3637..9d5e67c9532 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -1474,12 +1474,8 @@ JOIN::optimize() } } - /* - If this join belongs to an uncacheable subquery save - the original join - */ - if (select_lex->uncacheable && !is_top_level_join() && - init_save_join_tab()) + /* If this join belongs to an uncacheable query save the original join */ + if (select_lex->uncacheable && init_save_join_tab()) DBUG_RETURN(-1); /* purecov: inspected */ } From 8a9a633e4bab5aa93e6c284f82d9a4b495dc75b7 Mon Sep 17 00:00:00 2001 From: Sergey Vojtovich Date: Fri, 4 Sep 2009 12:29:18 +0500 Subject: [PATCH 04/18] BUG#46961 - archive engine loses rows during self joining select! SELECT with join (not only self-join) from archive table may return incomplete result set, when result set size exceeds join buffer size. The problem was that archive row counter was initialzed too early, when ha_archive::info() method was called. Later, when optimizer exceeds join buffer, it attempts to reuse handler without calling ha_archive::info() again (which is correct). Fixed by moving row counter initialization from ha_archive::info() to ha_archive::rnd_init(). --- mysql-test/r/archive.result | 11 +++++++++++ mysql-test/t/archive.test | 13 +++++++++++++ storage/archive/ha_archive.cc | 2 +- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/archive.result b/mysql-test/r/archive.result index 8c26ea1ff82..9a6edbaa85c 100644 --- a/mysql-test/r/archive.result +++ b/mysql-test/r/archive.result @@ -12695,3 +12695,14 @@ a b 1 NULL 2 NULL DROP TABLE t1; +SET @save_join_buffer_size= @@join_buffer_size; +SET @@join_buffer_size= 8228; +CREATE TABLE t1(a CHAR(255)) ENGINE=archive; +INSERT INTO t1 VALUES('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'), +('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'), +('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'); +SELECT COUNT(t1.a) FROM t1, t1 a, t1 b, t1 c, t1 d, t1 e; +COUNT(t1.a) +729 +DROP TABLE t1; +SET @@join_buffer_size= @save_join_buffer_size; diff --git a/mysql-test/t/archive.test b/mysql-test/t/archive.test index 7139d95ab49..663f7faf208 100644 --- a/mysql-test/t/archive.test +++ b/mysql-test/t/archive.test @@ -1599,3 +1599,16 @@ INSERT INTO t1 VALUES (NULL, NULL),(NULL, NULL); FLUSH TABLE t1; SELECT * FROM t1 ORDER BY a; DROP TABLE t1; + +# +# BUG#46961 - archive engine loses rows during self joining select! +# +SET @save_join_buffer_size= @@join_buffer_size; +SET @@join_buffer_size= 8228; +CREATE TABLE t1(a CHAR(255)) ENGINE=archive; +INSERT INTO t1 VALUES('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'), + ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'), + ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'); +SELECT COUNT(t1.a) FROM t1, t1 a, t1 b, t1 c, t1 d, t1 e; +DROP TABLE t1; +SET @@join_buffer_size= @save_join_buffer_size; diff --git a/storage/archive/ha_archive.cc b/storage/archive/ha_archive.cc index 1146b2eb73a..f1b9c26dfd6 100644 --- a/storage/archive/ha_archive.cc +++ b/storage/archive/ha_archive.cc @@ -993,6 +993,7 @@ int ha_archive::rnd_init(bool scan) /* We rewind the file so that we can read from the beginning if scan */ if (scan) { + scan_rows= stats.records; DBUG_PRINT("info", ("archive will retrieve %llu rows", (unsigned long long) scan_rows)); @@ -1461,7 +1462,6 @@ int ha_archive::info(uint flag) stats.records= share->rows_recorded; pthread_mutex_unlock(&share->mutex); - scan_rows= stats.records; stats.deleted= 0; DBUG_PRINT("ha_archive", ("Stats rows is %d\n", (int)stats.records)); From 4f6b8707dc60f09c6d59e4127f21467c8aa4473d Mon Sep 17 00:00:00 2001 From: Kristofer Pettersson Date: Fri, 4 Sep 2009 12:32:21 +0200 Subject: [PATCH 05/18] Bug#46486 warnings produced when running mysql_install_db Incremental patch part 2 Removing dead code and changing a note level message to a warning. --- sql/sql_plugin.cc | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc index f00e1f72390..025c8a8248d 100644 --- a/sql/sql_plugin.cc +++ b/sql/sql_plugin.cc @@ -1520,7 +1520,7 @@ error: void plugin_shutdown(void) { - uint i, count= plugin_array.elements, free_slots= 0; + uint i, count= plugin_array.elements; struct st_plugin_int **plugins, *plugin; struct st_plugin_dl **dl; DBUG_ENTER("plugin_shutdown"); @@ -1541,18 +1541,13 @@ void plugin_shutdown(void) while (reap_needed && (count= plugin_array.elements)) { reap_plugins(); - for (i= free_slots= 0; i < count; i++) + for (i= 0; i < count; i++) { plugin= *dynamic_element(&plugin_array, i, struct st_plugin_int **); - switch (plugin->state) { - case PLUGIN_IS_READY: + if (plugin->state == PLUGIN_IS_READY) + { plugin->state= PLUGIN_IS_DELETED; reap_needed= true; - break; - case PLUGIN_IS_FREED: - case PLUGIN_IS_UNINITIALIZED: - free_slots++; - break; } } if (!reap_needed) @@ -1586,8 +1581,8 @@ void plugin_shutdown(void) if (!(plugins[i]->state & (PLUGIN_IS_UNINITIALIZED | PLUGIN_IS_FREED | PLUGIN_IS_DISABLED))) { - sql_print_information("Plugin '%s' will be forced to shutdown", - plugins[i]->name.str); + sql_print_warning("Plugin '%s' will be forced to shutdown", + plugins[i]->name.str); /* We are forcing deinit on plugins so we don't want to do a ref_count check until we have processed all the plugins. From cc900f2c50f54cbe2c6540e27b86244b9f823dff Mon Sep 17 00:00:00 2001 From: Mattias Jonsson Date: Fri, 4 Sep 2009 15:02:15 +0200 Subject: [PATCH 06/18] Bug#35845: unneccesary call to ha_start_bulk_insert for not used partitions (Backport) Problem is that when insert (ha_start_bulk_insert) in i partitioned table, it will call ha_start_bulk_insert for every partition, used or not. Solution is to delay the call to the partitions ha_start_bulk_insert until the first row is to be inserted into that partition --- sql/ha_partition.cc | 95 ++++++++++++++++++++++++++++++++++++++------- sql/ha_partition.h | 10 ++++- 2 files changed, 91 insertions(+), 14 deletions(-) diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc index 63f8271cca1..c849bbd12c5 100644 --- a/sql/ha_partition.cc +++ b/sql/ha_partition.cc @@ -239,6 +239,7 @@ void ha_partition::init_handler_variables() m_curr_key_info[0]= NULL; m_curr_key_info[1]= NULL; is_clone= FALSE, + m_part_func_monotonicity_info= NON_MONOTONIC; auto_increment_lock= FALSE; auto_increment_safe_stmt_log_lock= FALSE; /* @@ -2464,11 +2465,18 @@ int ha_partition::open(const char *name, int mode, uint test_if_locked) } } + /* Initialize the bitmap we use to minimize ha_start_bulk_insert calls */ + if (bitmap_init(&m_bulk_insert_started, NULL, m_tot_parts + 1, FALSE)) + DBUG_RETURN(1); + bitmap_clear_all(&m_bulk_insert_started); /* 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)) + { + bitmap_free(&m_bulk_insert_started); DBUG_RETURN(1); + } bitmap_set_all(&(m_part_info->used_partitions)); } @@ -2552,12 +2560,18 @@ int ha_partition::open(const char *name, int mode, uint test_if_locked) calling open on all individual handlers. */ m_handler_status= handler_opened; + if (m_part_info->part_expr) + m_part_func_monotonicity_info= + m_part_info->part_expr->get_monotonicity_info(); + else if (m_part_info->list_of_part_fields) + m_part_func_monotonicity_info= MONOTONIC_STRICT_INCREASING; info(HA_STATUS_VARIABLE | HA_STATUS_CONST); DBUG_RETURN(0); err_handler: while (file-- != m_file) (*file)->close(); + bitmap_free(&m_bulk_insert_started); if (!is_clone) bitmap_free(&(m_part_info->used_partitions)); @@ -2605,6 +2619,7 @@ int ha_partition::close(void) DBUG_ASSERT(table->s == table_share); delete_queue(&m_queue); + bitmap_free(&m_bulk_insert_started); if (!is_clone) bitmap_free(&(m_part_info->used_partitions)); file= m_file; @@ -3021,6 +3036,8 @@ int ha_partition::write_row(uchar * buf) } m_last_part= part_id; DBUG_PRINT("info", ("Insert in partition %d", part_id)); + start_part_bulk_insert(part_id); + tmp_disable_binlog(thd); /* Do not replicate the low-level changes. */ error= m_file[part_id]->ha_write_row(buf); if (have_auto_increment && !table->s->next_number_keypart) @@ -3083,6 +3100,7 @@ int ha_partition::update_row(const uchar *old_data, uchar *new_data) } m_last_part= new_part_id; + start_part_bulk_insert(new_part_id); if (new_part_id == old_part_id) { DBUG_PRINT("info", ("Update in partition %d", new_part_id)); @@ -3247,22 +3265,65 @@ int ha_partition::delete_all_rows() DESCRIPTION rows == 0 means we will probably insert many rows */ - void ha_partition::start_bulk_insert(ha_rows rows) { - handler **file; DBUG_ENTER("ha_partition::start_bulk_insert"); - rows= rows ? rows/m_tot_parts + 1 : 0; - file= m_file; - do - { - (*file)->ha_start_bulk_insert(rows); - } while (*(++file)); + m_bulk_inserted_rows= 0; + bitmap_clear_all(&m_bulk_insert_started); + /* use the last bit for marking if bulk_insert_started was called */ + bitmap_set_bit(&m_bulk_insert_started, m_tot_parts); DBUG_VOID_RETURN; } +/* + Check if start_bulk_insert has been called for this partition, + if not, call it and mark it called +*/ +void ha_partition::start_part_bulk_insert(uint part_id) +{ + if (!bitmap_is_set(&m_bulk_insert_started, part_id) && + bitmap_is_set(&m_bulk_insert_started, m_tot_parts)) + { + m_file[part_id]->ha_start_bulk_insert(guess_bulk_insert_rows()); + bitmap_set_bit(&m_bulk_insert_started, part_id); + } + m_bulk_inserted_rows++; +} + + +/* + Try to predict the number of inserts into this partition. + + If less than 10 rows (including 0 which means Unknown) + just give that as a guess + If monotonic partitioning function was used + guess that 50 % of the inserts goes to the first partition + For all other cases, guess on equal distribution between the partitions +*/ +ha_rows ha_partition::guess_bulk_insert_rows() +{ + DBUG_ENTER("guess_bulk_insert_rows"); + + if (estimation_rows_to_insert < 10) + DBUG_RETURN(estimation_rows_to_insert); + + /* If first insert/partition and monotonic partition function, guess 50%. */ + if (!m_bulk_inserted_rows && + m_part_func_monotonicity_info != NON_MONOTONIC && + m_tot_parts > 1) + DBUG_RETURN(estimation_rows_to_insert / 2); + + /* Else guess on equal distribution (+1 is to avoid returning 0/Unknown) */ + if (m_bulk_inserted_rows < estimation_rows_to_insert) + DBUG_RETURN(((estimation_rows_to_insert - m_bulk_inserted_rows) + / m_tot_parts) + 1); + /* The estimation was wrong, must say 'Unknown' */ + DBUG_RETURN(0); +} + + /* Finish a large batch of insert rows @@ -3272,21 +3333,29 @@ void ha_partition::start_bulk_insert(ha_rows rows) RETURN VALUE >0 Error code 0 Success + + Note: end_bulk_insert can be called without start_bulk_insert + being called, see bugツ、44108. + */ int ha_partition::end_bulk_insert() { int error= 0; - handler **file; + uint i; DBUG_ENTER("ha_partition::end_bulk_insert"); - file= m_file; - do + if (!bitmap_is_set(&m_bulk_insert_started, m_tot_parts)) + DBUG_RETURN(error); + + for (i= 0; i < m_tot_parts; i++) { int tmp; - if ((tmp= (*file)->ha_end_bulk_insert())) + if (bitmap_is_set(&m_bulk_insert_started, i) && + (tmp= m_file[i]->ha_end_bulk_insert())) error= tmp; - } while (*(++file)); + } + bitmap_clear_all(&m_bulk_insert_started); DBUG_RETURN(error); } diff --git a/sql/ha_partition.h b/sql/ha_partition.h index d0301e24a93..f47dfe8f621 100644 --- a/sql/ha_partition.h +++ b/sql/ha_partition.h @@ -176,6 +176,11 @@ private: This to ensure it will work with statement based replication. */ bool auto_increment_safe_stmt_log_lock; + /** For optimizing ha_start_bulk_insert calls */ + MY_BITMAP m_bulk_insert_started; + ha_rows m_bulk_inserted_rows; + /** used for prediction of start_bulk_insert rows */ + enum_monotonicity_info m_part_func_monotonicity_info; public: handler *clone(MEM_ROOT *mem_root); virtual void set_part_info(partition_info *part_info) @@ -353,7 +358,6 @@ public: Bulk inserts are supported if all underlying handlers support it. start_bulk_insert and end_bulk_insert is called before and after a number of calls to write_row. - Not yet though. */ virtual int write_row(uchar * buf); virtual int update_row(const uchar * old_data, uchar * new_data); @@ -361,6 +365,10 @@ public: virtual int delete_all_rows(void); virtual void start_bulk_insert(ha_rows rows); virtual int end_bulk_insert(); +private: + ha_rows guess_bulk_insert_rows(); + void start_part_bulk_insert(uint part_id); +public: virtual bool is_fatal_error(int error, uint flags) { From f1617238210eb110f483dddef212efbeb5ad4e3d Mon Sep 17 00:00:00 2001 From: Alexey Kopytov Date: Sun, 6 Sep 2009 00:42:17 +0400 Subject: [PATCH 07/18] Bug #46159: simple query that never returns The external 'for' loop in remove_dup_with_compare() handled HA_ERR_RECORD_DELETED by just starting over without advancing to the next record which caused an infinite loop. This condition could be triggered on certain data by a SELECT query containing DISTINCT, GROUP BY and HAVING clauses. Fixed remove_dup_with_compare() so that we always advance to the next record when receiving HA_ERR_RECORD_DELETED from rnd_next(). --- mysql-test/r/distinct.result | 30 +++++++++++++++++++++++++++ mysql-test/t/distinct.test | 40 ++++++++++++++++++++++++++++++++++++ sql/sql_select.cc | 5 ++++- 3 files changed, 74 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/distinct.result b/mysql-test/r/distinct.result index e0324af8cfd..b1cb70fa43c 100644 --- a/mysql-test/r/distinct.result +++ b/mysql-test/r/distinct.result @@ -763,4 +763,34 @@ a b d c 1 2 0 2 1 2 0 3 DROP TABLE t1; +# +# Bug #46159: simple query that never returns +# +SET @old_max_heap_table_size = @@max_heap_table_size; +SET @@max_heap_table_size = 16384; +SET @old_sort_buffer_size = @@sort_buffer_size; +SET @@sort_buffer_size = 32804; +CREATE TABLE t1(c1 int, c2 VARCHAR(20)); +INSERT INTO t1 VALUES (1, '1'), (1, '1'), (2, '2'), (3, '1'), (3, '1'), (4, '4'); +INSERT INTO t1 SELECT 5 + 10000 * RAND(), '5' FROM t1; +INSERT INTO t1 SELECT 5 + 10000 * RAND(), '5' FROM t1; +INSERT INTO t1 SELECT 5 + 10000 * RAND(), '5' FROM t1; +INSERT INTO t1 SELECT 5 + 10000 * RAND(), '5' FROM t1; +INSERT INTO t1 SELECT 5 + 10000 * RAND(), '5' FROM t1; +INSERT INTO t1 SELECT 5 + 10000 * RAND(), '5' FROM t1; +INSERT INTO t1 SELECT 5 + 10000 * RAND(), '5' FROM t1; +INSERT INTO t1 SELECT 5 + 10000 * RAND(), '5' FROM t1; +SELECT c1, c2, COUNT(*) FROM t1 GROUP BY c1 LIMIT 4; +c1 c2 COUNT(*) +1 1 2 +2 2 1 +3 1 2 +4 4 1 +SELECT DISTINCT c2 FROM t1 GROUP BY c1 HAVING COUNT(*) > 1; +c2 +1 +5 +DROP TABLE t1; +SET @@sort_buffer_size = @old_sort_buffer_size; +SET @@max_heap_table_size = @old_max_heap_table_size; End of 5.1 tests diff --git a/mysql-test/t/distinct.test b/mysql-test/t/distinct.test index a77d1136840..bf4c23562cf 100644 --- a/mysql-test/t/distinct.test +++ b/mysql-test/t/distinct.test @@ -573,4 +573,44 @@ SELECT DISTINCT a, b, d, c FROM t1; DROP TABLE t1; +--echo # +--echo # Bug #46159: simple query that never returns +--echo # + +# Set max_heap_table_size to the minimum value so that GROUP BY table in the +# SELECT query below gets converted to MyISAM +SET @old_max_heap_table_size = @@max_heap_table_size; +SET @@max_heap_table_size = 16384; + +# Set sort_buffer_size to the mininum value so that remove_duplicates() calls +# remove_dup_with_compare() +SET @old_sort_buffer_size = @@sort_buffer_size; +SET @@sort_buffer_size = 32804; + +CREATE TABLE t1(c1 int, c2 VARCHAR(20)); +INSERT INTO t1 VALUES (1, '1'), (1, '1'), (2, '2'), (3, '1'), (3, '1'), (4, '4'); +# Now we just need to pad the table with random data so we have enough unique +# values to force conversion of the GROUP BY table to MyISAM +INSERT INTO t1 SELECT 5 + 10000 * RAND(), '5' FROM t1; +INSERT INTO t1 SELECT 5 + 10000 * RAND(), '5' FROM t1; +INSERT INTO t1 SELECT 5 + 10000 * RAND(), '5' FROM t1; +INSERT INTO t1 SELECT 5 + 10000 * RAND(), '5' FROM t1; +INSERT INTO t1 SELECT 5 + 10000 * RAND(), '5' FROM t1; +INSERT INTO t1 SELECT 5 + 10000 * RAND(), '5' FROM t1; +INSERT INTO t1 SELECT 5 + 10000 * RAND(), '5' FROM t1; +INSERT INTO t1 SELECT 5 + 10000 * RAND(), '5' FROM t1; + +# First rows of the GROUP BY table that will be processed by +# remove_dup_with_compare() +SELECT c1, c2, COUNT(*) FROM t1 GROUP BY c1 LIMIT 4; + +# The actual test case +SELECT DISTINCT c2 FROM t1 GROUP BY c1 HAVING COUNT(*) > 1; + +# Cleanup + +DROP TABLE t1; +SET @@sort_buffer_size = @old_sort_buffer_size; +SET @@max_heap_table_size = @old_max_heap_table_size; + --echo End of 5.1 tests diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 5cb0de1ba5c..a02430446d1 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -13665,7 +13665,10 @@ static int remove_dup_with_compare(THD *thd, TABLE *table, Field **first_field, if (error) { if (error == HA_ERR_RECORD_DELETED) - continue; + { + error= file->rnd_next(record); + continue; + } if (error == HA_ERR_END_OF_FILE) break; goto err; From 54847efffd20a6550813cf543d48bacc9e3e9a1a Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Wed, 9 Sep 2009 12:06:15 +0300 Subject: [PATCH 08/18] Bug #45159 Part 1 : rejuvenate the jp test suite using normal run. Updates the results of all the out-dated test suites and adds the special mysqltest command to enable innodb for the tests that need it. --- mysql-test/suite/jp/r/jp_alter_sjis.result | 78 ++--- mysql-test/suite/jp/r/jp_alter_ucs2.result | 78 ++--- mysql-test/suite/jp/r/jp_alter_ujis.result | 78 ++--- mysql-test/suite/jp/r/jp_alter_utf8.result | 78 ++--- mysql-test/suite/jp/r/jp_convert_sjis.result | 12 + .../suite/jp/r/jp_create_db_sjis.result | 1 + .../suite/jp/r/jp_create_db_ucs2.result | 1 + .../suite/jp/r/jp_create_db_ujis.result | 1 + .../suite/jp/r/jp_create_db_utf8.result | 1 + .../suite/jp/r/jp_create_tbl_sjis.result | 78 ++++- .../suite/jp/r/jp_create_tbl_ucs2.result | 78 ++++- .../suite/jp/r/jp_create_tbl_ujis.result | 78 ++++- .../suite/jp/r/jp_create_tbl_utf8.result | 78 ++++- mysql-test/suite/jp/r/jp_enum_sjis.result | 60 ++-- mysql-test/suite/jp/r/jp_enum_ucs2.result | 6 +- mysql-test/suite/jp/r/jp_enum_ujis.result | 60 ++-- mysql-test/suite/jp/r/jp_enum_utf8.result | 60 ++-- mysql-test/suite/jp/r/jp_join_sjis.result | 288 +++++++++--------- mysql-test/suite/jp/r/jp_join_ucs2.result | 288 +++++++++--------- mysql-test/suite/jp/r/jp_join_ujis.result | 288 +++++++++--------- mysql-test/suite/jp/r/jp_join_utf8.result | 288 +++++++++--------- mysql-test/suite/jp/r/jp_select_sjis.result | 4 + mysql-test/suite/jp/t/jp_alter_sjis.test | 2 + mysql-test/suite/jp/t/jp_alter_ucs2.test | 2 + mysql-test/suite/jp/t/jp_alter_ujis.test | 2 + mysql-test/suite/jp/t/jp_alter_utf8.test | 2 + mysql-test/suite/jp/t/jp_charlength_sjis.test | 2 + mysql-test/suite/jp/t/jp_charlength_ucs2.test | 2 + mysql-test/suite/jp/t/jp_charlength_ujis.test | 2 + mysql-test/suite/jp/t/jp_charlength_utf8.test | 2 + mysql-test/suite/jp/t/jp_charset_sjis.test | 2 + mysql-test/suite/jp/t/jp_charset_ucs2.test | 2 + mysql-test/suite/jp/t/jp_charset_ujis.test | 2 + mysql-test/suite/jp/t/jp_charset_utf8.test | 2 + mysql-test/suite/jp/t/jp_convert_sjis.test | 2 + mysql-test/suite/jp/t/jp_convert_ucs2.test | 2 + mysql-test/suite/jp/t/jp_convert_ujis.test | 2 + mysql-test/suite/jp/t/jp_convert_utf8.test | 2 + mysql-test/suite/jp/t/jp_create_tbl_sjis.test | 2 + mysql-test/suite/jp/t/jp_create_tbl_ucs2.test | 2 + mysql-test/suite/jp/t/jp_create_tbl_ujis.test | 2 + mysql-test/suite/jp/t/jp_create_tbl_utf8.test | 2 + mysql-test/suite/jp/t/jp_enum_sjis.test | 2 + mysql-test/suite/jp/t/jp_enum_ucs2.test | 2 + mysql-test/suite/jp/t/jp_enum_ujis.test | 2 + mysql-test/suite/jp/t/jp_enum_utf8.test | 2 + mysql-test/suite/jp/t/jp_insert_sjis.test | 2 + mysql-test/suite/jp/t/jp_insert_ucs2.test | 2 + mysql-test/suite/jp/t/jp_insert_ujis.test | 2 + mysql-test/suite/jp/t/jp_insert_utf8.test | 2 + mysql-test/suite/jp/t/jp_instr_sjis.test | 2 + mysql-test/suite/jp/t/jp_instr_ucs2.test | 2 + mysql-test/suite/jp/t/jp_instr_ujis.test | 2 + mysql-test/suite/jp/t/jp_instr_utf8.test | 2 + mysql-test/suite/jp/t/jp_join_sjis.test | 1 + mysql-test/suite/jp/t/jp_join_ucs2.test | 1 + mysql-test/suite/jp/t/jp_join_ujis.test | 1 + mysql-test/suite/jp/t/jp_join_utf8.test | 1 + mysql-test/suite/jp/t/jp_left_sjis.test | 2 + mysql-test/suite/jp/t/jp_left_ucs2.test | 2 + mysql-test/suite/jp/t/jp_left_ujis.test | 2 + mysql-test/suite/jp/t/jp_left_utf8.test | 2 + mysql-test/suite/jp/t/jp_length_sjis.test | 2 + mysql-test/suite/jp/t/jp_length_ucs2.test | 2 + mysql-test/suite/jp/t/jp_length_ujis.test | 2 + mysql-test/suite/jp/t/jp_length_utf8.test | 2 + mysql-test/suite/jp/t/jp_like_sjis.test | 2 + mysql-test/suite/jp/t/jp_like_ucs2.test | 2 + mysql-test/suite/jp/t/jp_like_ujis.test | 2 + mysql-test/suite/jp/t/jp_like_utf8.test | 2 + mysql-test/suite/jp/t/jp_locate_sjis.test | 2 + mysql-test/suite/jp/t/jp_locate_ucs2.test | 2 + mysql-test/suite/jp/t/jp_locate_ujis.test | 2 + mysql-test/suite/jp/t/jp_locate_utf8.test | 2 + mysql-test/suite/jp/t/jp_lpad_sjis.test | 2 + mysql-test/suite/jp/t/jp_lpad_ucs2.test | 2 + mysql-test/suite/jp/t/jp_lpad_ujis.test | 2 + mysql-test/suite/jp/t/jp_lpad_utf8.test | 2 + mysql-test/suite/jp/t/jp_ltrim_sjis.test | 2 + mysql-test/suite/jp/t/jp_ltrim_ucs2.test | 2 + mysql-test/suite/jp/t/jp_ltrim_ujis.test | 2 + mysql-test/suite/jp/t/jp_ltrim_utf8.test | 2 + mysql-test/suite/jp/t/jp_ps_sjis.test | 2 + mysql-test/suite/jp/t/jp_ps_ujis.test | 2 + mysql-test/suite/jp/t/jp_replace_sjis.test | 2 + mysql-test/suite/jp/t/jp_replace_ucs2.test | 2 + mysql-test/suite/jp/t/jp_replace_ujis.test | 2 + mysql-test/suite/jp/t/jp_replace_utf8.test | 2 + mysql-test/suite/jp/t/jp_reverse_sjis.test | 2 + mysql-test/suite/jp/t/jp_reverse_ucs2.test | 2 + mysql-test/suite/jp/t/jp_reverse_ujis.test | 2 + mysql-test/suite/jp/t/jp_reverse_utf8.test | 2 + mysql-test/suite/jp/t/jp_right_sjis.test | 2 + mysql-test/suite/jp/t/jp_right_ucs2.test | 2 + mysql-test/suite/jp/t/jp_right_ujis.test | 2 + mysql-test/suite/jp/t/jp_right_utf8.test | 2 + mysql-test/suite/jp/t/jp_rpad_sjis.test | 2 + mysql-test/suite/jp/t/jp_rpad_ucs2.test | 2 + mysql-test/suite/jp/t/jp_rpad_ujis.test | 2 + mysql-test/suite/jp/t/jp_rpad_utf8.test | 2 + mysql-test/suite/jp/t/jp_rtrim_sjis.test | 2 + mysql-test/suite/jp/t/jp_rtrim_ucs2.test | 2 + mysql-test/suite/jp/t/jp_rtrim_ujis.test | 2 + mysql-test/suite/jp/t/jp_rtrim_utf8.test | 2 + mysql-test/suite/jp/t/jp_select_sjis.test | 2 + mysql-test/suite/jp/t/jp_select_ucs2.test | 2 + mysql-test/suite/jp/t/jp_select_ujis.test | 2 + mysql-test/suite/jp/t/jp_select_utf8.test | 2 + mysql-test/suite/jp/t/jp_subquery_sjis.test | 1 + mysql-test/suite/jp/t/jp_subquery_ucs2.test | 1 + mysql-test/suite/jp/t/jp_subquery_ujis.test | 1 + mysql-test/suite/jp/t/jp_subquery_utf8.test | 1 + mysql-test/suite/jp/t/jp_substring_sjis.test | 2 + mysql-test/suite/jp/t/jp_substring_ucs2.test | 2 + mysql-test/suite/jp/t/jp_substring_ujis.test | 2 + mysql-test/suite/jp/t/jp_substring_utf8.test | 2 + mysql-test/suite/jp/t/jp_trim_sjis.test | 2 + mysql-test/suite/jp/t/jp_trim_ucs2.test | 2 + mysql-test/suite/jp/t/jp_trim_ujis.test | 2 + mysql-test/suite/jp/t/jp_trim_utf8.test | 2 + mysql-test/suite/jp/t/jp_union_ujis.test | 2 + mysql-test/suite/jp/t/jp_update_sjis.test | 2 + mysql-test/suite/jp/t/jp_update_ucs2.test | 2 + mysql-test/suite/jp/t/jp_update_ujis.test | 2 + mysql-test/suite/jp/t/jp_update_utf8.test | 2 + mysql-test/suite/jp/t/jp_where_sjis.test | 2 + mysql-test/suite/jp/t/jp_where_ucs2.test | 2 + mysql-test/suite/jp/t/jp_where_ujis.test | 2 + mysql-test/suite/jp/t/jp_where_utf8.test | 2 + 129 files changed, 1303 insertions(+), 885 deletions(-) diff --git a/mysql-test/suite/jp/r/jp_alter_sjis.result b/mysql-test/suite/jp/r/jp_alter_sjis.result index f970508229a..32ae7d5729d 100644 --- a/mysql-test/suite/jp/r/jp_alter_sjis.result +++ b/mysql-test/suite/jp/r/jp_alter_sjis.result @@ -31,8 +31,8 @@ NULL DESC `アアア`; Field Type Null Key Default Extra カカ char(1) YES MUL NULL -キキキ char(6) PRI -ククク char(1) YES MUL NULL +キキキ char(6) NO PRI +ククク char(1) YES UNI NULL ケケケ char(1) YES NULL SHOW CREATE TABLE `アアア`; Table Create Table @@ -58,7 +58,7 @@ SELECT * FROM ` ウウウウウ DESC `アアア`; Field Type Null Key Default Extra -キキキ char(6) +キキキ char(6) NO SHOW CREATE TABLE `アアア`; Table Create Table アアア CREATE TABLE `アアア` ( @@ -80,8 +80,8 @@ NULL DESC `あああ`; Field Type Null Key Default Extra かか char(1) YES MUL NULL -ききき char(6) PRI -くくく char(1) YES MUL NULL +ききき char(6) NO PRI +くくく char(1) YES UNI NULL けけけ char(1) YES NULL SHOW CREATE TABLE `あああ`; Table Create Table @@ -107,7 +107,7 @@ SELECT * FROM ` ううううう DESC `あああ`; Field Type Null Key Default Extra -ききき char(6) +ききき char(6) NO SHOW CREATE TABLE `あああ`; Table Create Table あああ CREATE TABLE `あああ` ( @@ -129,8 +129,8 @@ NULL DESC `ソソソ`; Field Type Null Key Default Extra 構構 char(1) YES MUL NULL -表表表 char(6) PRI -能能能 char(1) YES MUL NULL +表表表 char(6) NO PRI +能能能 char(1) YES UNI NULL 予予予 char(1) YES NULL SHOW CREATE TABLE `ソソソ`; Table Create Table @@ -156,7 +156,7 @@ SELECT * FROM ` 表表表表表 DESC `ソソソ`; Field Type Null Key Default Extra -表表表 char(6) +表表表 char(6) NO SHOW CREATE TABLE `ソソソ`; Table Create Table ソソソ CREATE TABLE `ソソソ` ( @@ -193,8 +193,8 @@ NULL DESC `アアア`; Field Type Null Key Default Extra カカ char(1) YES MUL NULL -キキキ char(6) PRI -ククク char(1) YES MUL NULL +キキキ char(6) NO PRI +ククク char(1) YES UNI NULL ケケケ char(1) YES NULL SHOW CREATE TABLE `アアア`; Table Create Table @@ -220,7 +220,7 @@ SELECT * FROM ` ウウウウウ DESC `アアア`; Field Type Null Key Default Extra -キキキ char(6) +キキキ char(6) NO SHOW CREATE TABLE `アアア`; Table Create Table アアア CREATE TABLE `アアア` ( @@ -242,8 +242,8 @@ NULL DESC `あああ`; Field Type Null Key Default Extra かか char(1) YES MUL NULL -ききき char(6) PRI -くくく char(1) YES MUL NULL +ききき char(6) NO PRI +くくく char(1) YES UNI NULL けけけ char(1) YES NULL SHOW CREATE TABLE `あああ`; Table Create Table @@ -269,7 +269,7 @@ SELECT * FROM ` ううううう DESC `あああ`; Field Type Null Key Default Extra -ききき char(6) +ききき char(6) NO SHOW CREATE TABLE `あああ`; Table Create Table あああ CREATE TABLE `あああ` ( @@ -291,8 +291,8 @@ NULL DESC `ソソソ`; Field Type Null Key Default Extra 構構 char(1) YES MUL NULL -表表表 char(6) PRI -能能能 char(1) YES MUL NULL +表表表 char(6) NO PRI +能能能 char(1) YES UNI NULL 予予予 char(1) YES NULL SHOW CREATE TABLE `ソソソ`; Table Create Table @@ -318,7 +318,7 @@ SELECT * FROM ` 能能能能能 DESC `ソソソ`; Field Type Null Key Default Extra -表表表 char(6) +表表表 char(6) NO SHOW CREATE TABLE `ソソソ`; Table Create Table ソソソ CREATE TABLE `ソソソ` ( @@ -355,8 +355,8 @@ NULL DESC `アアア`; Field Type Null Key Default Extra カカ char(1) YES MUL NULL -キキキ char(6) PRI -ククク char(1) YES MUL NULL +キキキ char(6) NO PRI +ククク char(1) YES UNI NULL ケケケ char(1) YES NULL SHOW CREATE TABLE `アアア`; Table Create Table @@ -368,7 +368,7 @@ Table Create Table PRIMARY KEY (`キキキ`), UNIQUE KEY `ククク` (`ククク`), KEY `カカカ` (`カカ`) -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis ALTER TABLE `アアア` DROP INDEX `カカカ`; ALTER TABLE `アアア` DROP PRIMARY KEY; ALTER TABLE `アアア` DROP INDEX `ククク`; @@ -382,12 +382,12 @@ SELECT * FROM ` ウウウウウ DESC `アアア`; Field Type Null Key Default Extra -キキキ char(6) +キキキ char(6) NO SHOW CREATE TABLE `アアア`; Table Create Table アアア CREATE TABLE `アアア` ( `キキキ` char(6) NOT NULL default '' -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis ALTER TABLE `あああ` ADD `かかか` char(1) FIRST; ALTER TABLE `あああ` ADD `くくく` char(1) AFTER `ききき`; ALTER TABLE `あああ` ADD `けけけ` char(1); @@ -404,8 +404,8 @@ NULL DESC `あああ`; Field Type Null Key Default Extra かか char(1) YES MUL NULL -ききき char(6) PRI -くくく char(1) YES MUL NULL +ききき char(6) NO PRI +くくく char(1) YES UNI NULL けけけ char(1) YES NULL SHOW CREATE TABLE `あああ`; Table Create Table @@ -417,7 +417,7 @@ Table Create Table PRIMARY KEY (`ききき`), UNIQUE KEY `くくく` (`くくく`), KEY `かかか` (`かか`) -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis ALTER TABLE `あああ` DROP INDEX `かかか`; ALTER TABLE `あああ` DROP PRIMARY KEY; ALTER TABLE `あああ` DROP INDEX `くくく`; @@ -431,12 +431,12 @@ SELECT * FROM ` ううううう DESC `あああ`; Field Type Null Key Default Extra -ききき char(6) +ききき char(6) NO SHOW CREATE TABLE `あああ`; Table Create Table あああ CREATE TABLE `あああ` ( `ききき` char(6) NOT NULL default '' -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis ALTER TABLE `ソソソ` ADD `構構構` char(1) FIRST; ALTER TABLE `ソソソ` ADD `能能能` char(1) AFTER `表表表`; ALTER TABLE `ソソソ` ADD `予予予` char(1); @@ -453,8 +453,8 @@ NULL DESC `ソソソ`; Field Type Null Key Default Extra 構構 char(1) YES MUL NULL -表表表 char(6) PRI -能能能 char(1) YES MUL NULL +表表表 char(6) NO PRI +能能能 char(1) YES UNI NULL 予予予 char(1) YES NULL SHOW CREATE TABLE `ソソソ`; Table Create Table @@ -466,7 +466,7 @@ Table Create Table PRIMARY KEY (`表表表`), UNIQUE KEY `能能能` (`能能能`), KEY `構構構` (`構構`) -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis ALTER TABLE `ソソソ` DROP INDEX `構構構`; ALTER TABLE `ソソソ` DROP PRIMARY KEY; ALTER TABLE `ソソソ` DROP INDEX `能能能`; @@ -480,12 +480,12 @@ SELECT * FROM ` 能能能能能 DESC `ソソソ`; Field Type Null Key Default Extra -表表表 char(6) +表表表 char(6) NO SHOW CREATE TABLE `ソソソ`; Table Create Table ソソソ CREATE TABLE `ソソソ` ( `表表表` char(6) NOT NULL default '' -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis DROP TABLE `アアア`; DROP TABLE `イイイ`; DROP TABLE `あああ`; @@ -516,7 +516,7 @@ NULL DESC `アアア`; Field Type Null Key Default Extra カカ char(1) YES MUL NULL -キキキ char(6) PRI +キキキ char(6) NO PRI ククク char(1) YES NULL ケケケ char(1) YES NULL SHOW CREATE TABLE `アアア`; @@ -541,7 +541,7 @@ SELECT * FROM ` ウウウウウ DESC `アアア`; Field Type Null Key Default Extra -キキキ char(6) +キキキ char(6) NO SHOW CREATE TABLE `アアア`; Table Create Table アアア CREATE TABLE `アアア` ( @@ -562,7 +562,7 @@ NULL DESC `あああ`; Field Type Null Key Default Extra かか char(1) YES MUL NULL -ききき char(6) PRI +ききき char(6) NO PRI くくく char(1) YES NULL けけけ char(1) YES NULL SHOW CREATE TABLE `あああ`; @@ -587,7 +587,7 @@ SELECT * FROM ` ううううう DESC `あああ`; Field Type Null Key Default Extra -ききき char(6) +ききき char(6) NO SHOW CREATE TABLE `あああ`; Table Create Table あああ CREATE TABLE `あああ` ( @@ -608,7 +608,7 @@ NULL DESC `ソソソ`; Field Type Null Key Default Extra 構構 char(1) YES MUL NULL -表表表 char(6) PRI +表表表 char(6) NO PRI 能能能 char(1) YES NULL 予予予 char(1) YES NULL SHOW CREATE TABLE `ソソソ`; @@ -633,7 +633,7 @@ SELECT * FROM ` 表表表表表 DESC `ソソソ`; Field Type Null Key Default Extra -表表表 char(6) +表表表 char(6) NO SHOW CREATE TABLE `ソソソ`; Table Create Table ソソソ CREATE TABLE `ソソソ` ( diff --git a/mysql-test/suite/jp/r/jp_alter_ucs2.result b/mysql-test/suite/jp/r/jp_alter_ucs2.result index 2756e5a758d..746dfdd62cc 100644 --- a/mysql-test/suite/jp/r/jp_alter_ucs2.result +++ b/mysql-test/suite/jp/r/jp_alter_ucs2.result @@ -32,8 +32,8 @@ NULL DESC `竺竺竺`; Field Type Null Key Default Extra 叱叱 char(1) YES MUL NULL -執執執 char(6) PRI -失失失 char(1) YES MUL NULL +執執執 char(6) NO PRI +失失失 char(1) YES UNI NULL 嫉嫉嫉 char(1) YES NULL SHOW CREATE TABLE `竺竺竺`; Table Create Table @@ -59,7 +59,7 @@ SELECT * FROM ` 宍宍宍宍宍 DESC `竺竺竺`; Field Type Null Key Default Extra -執執執 char(6) +執執執 char(6) NO SHOW CREATE TABLE `竺竺竺`; Table Create Table 竺竺竺 CREATE TABLE `竺竺竺` ( @@ -81,8 +81,8 @@ NULL DESC `、「、「、「`; Field Type Null Key Default Extra 、ォ、ォ char(1) YES MUL NULL -、ュ、ュ、ュ char(6) PRI -、ッ、ッ、ッ char(1) YES MUL NULL +、ュ、ュ、ュ char(6) NO PRI +、ッ、ッ、ッ char(1) YES UNI NULL 、ア、ア、ア char(1) YES NULL SHOW CREATE TABLE `、「、「、「`; Table Create Table @@ -108,7 +108,7 @@ SELECT * FROM ` 、ヲ、ヲ、ヲ、ヲ、ヲ DESC `、「、「、「`; Field Type Null Key Default Extra -、ュ、ュ、ュ char(6) +、ュ、ュ、ュ char(6) NO SHOW CREATE TABLE `、「、「、「`; Table Create Table 、「、「、「 CREATE TABLE `、「、「、「` ( @@ -130,8 +130,8 @@ NULL DESC `常ン常ン常ン`; Field Type Null Key Default Extra 床「床「 char(1) YES MUL NULL -床。床。床。 char(6) PRI -床」床」床」 char(1) YES MUL NULL +床。床。床。 char(6) NO PRI +床」床」床」 char(1) YES UNI NULL 床エ床エ床エ char(1) YES NULL SHOW CREATE TABLE `常ン常ン常ン`; Table Create Table @@ -157,7 +157,7 @@ SELECT * FROM ` 床」床」床」床」床」 DESC `常ン常ン常ン`; Field Type Null Key Default Extra -床。床。床。 char(6) +床。床。床。 char(6) NO SHOW CREATE TABLE `常ン常ン常ン`; Table Create Table 常ン常ン常ン CREATE TABLE `常ン常ン常ン` ( @@ -194,8 +194,8 @@ NULL DESC `竺竺竺`; Field Type Null Key Default Extra 叱叱 char(1) YES MUL NULL -執執執 char(6) PRI -失失失 char(1) YES MUL NULL +執執執 char(6) NO PRI +失失失 char(1) YES UNI NULL 嫉嫉嫉 char(1) YES NULL SHOW CREATE TABLE `竺竺竺`; Table Create Table @@ -221,7 +221,7 @@ SELECT * FROM ` 宍宍宍宍宍 DESC `竺竺竺`; Field Type Null Key Default Extra -執執執 char(6) +執執執 char(6) NO SHOW CREATE TABLE `竺竺竺`; Table Create Table 竺竺竺 CREATE TABLE `竺竺竺` ( @@ -243,8 +243,8 @@ NULL DESC `、「、「、「`; Field Type Null Key Default Extra 、ォ、ォ char(1) YES MUL NULL -、ュ、ュ、ュ char(6) PRI -、ッ、ッ、ッ char(1) YES MUL NULL +、ュ、ュ、ュ char(6) NO PRI +、ッ、ッ、ッ char(1) YES UNI NULL 、ア、ア、ア char(1) YES NULL SHOW CREATE TABLE `、「、「、「`; Table Create Table @@ -270,7 +270,7 @@ SELECT * FROM ` 、ヲ、ヲ、ヲ、ヲ、ヲ DESC `、「、「、「`; Field Type Null Key Default Extra -、ュ、ュ、ュ char(6) +、ュ、ュ、ュ char(6) NO SHOW CREATE TABLE `、「、「、「`; Table Create Table 、「、「、「 CREATE TABLE `、「、「、「` ( @@ -292,8 +292,8 @@ NULL DESC `常ン常ン常ン`; Field Type Null Key Default Extra 床「床「 char(1) YES MUL NULL -床。床。床。 char(6) PRI -床」床」床」 char(1) YES MUL NULL +床。床。床。 char(6) NO PRI +床」床」床」 char(1) YES UNI NULL 床エ床エ床エ char(1) YES NULL SHOW CREATE TABLE `常ン常ン常ン`; Table Create Table @@ -319,7 +319,7 @@ SELECT * FROM ` 床」床」床」床」床」 DESC `常ン常ン常ン`; Field Type Null Key Default Extra -床。床。床。 char(6) +床。床。床。 char(6) NO SHOW CREATE TABLE `常ン常ン常ン`; Table Create Table 常ン常ン常ン CREATE TABLE `常ン常ン常ン` ( @@ -356,8 +356,8 @@ NULL DESC `竺竺竺`; Field Type Null Key Default Extra 叱叱 char(1) YES MUL NULL -執執執 char(6) PRI -失失失 char(1) YES MUL NULL +執執執 char(6) NO PRI +失失失 char(1) YES UNI NULL 嫉嫉嫉 char(1) YES NULL SHOW CREATE TABLE `竺竺竺`; Table Create Table @@ -369,7 +369,7 @@ Table Create Table PRIMARY KEY (`執執執`), UNIQUE KEY `失失失` (`失失失`), KEY `叱叱叱` (`叱叱`) -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 ALTER TABLE `竺竺竺` DROP INDEX `叱叱叱`; ALTER TABLE `竺竺竺` DROP PRIMARY KEY; ALTER TABLE `竺竺竺` DROP INDEX `失失失`; @@ -383,12 +383,12 @@ SELECT * FROM ` 宍宍宍宍宍 DESC `竺竺竺`; Field Type Null Key Default Extra -執執執 char(6) +執執執 char(6) NO SHOW CREATE TABLE `竺竺竺`; Table Create Table 竺竺竺 CREATE TABLE `竺竺竺` ( `執執執` char(6) NOT NULL default '' -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 ALTER TABLE `、「、「、「` ADD `、ォ、ォ、ォ` char(1) FIRST; ALTER TABLE `、「、「、「` ADD `、ッ、ッ、ッ` char(1) AFTER `、ュ、ュ、ュ`; ALTER TABLE `、「、「、「` ADD `、ア、ア、ア` char(1); @@ -405,8 +405,8 @@ NULL DESC `、「、「、「`; Field Type Null Key Default Extra 、ォ、ォ char(1) YES MUL NULL -、ュ、ュ、ュ char(6) PRI -、ッ、ッ、ッ char(1) YES MUL NULL +、ュ、ュ、ュ char(6) NO PRI +、ッ、ッ、ッ char(1) YES UNI NULL 、ア、ア、ア char(1) YES NULL SHOW CREATE TABLE `、「、「、「`; Table Create Table @@ -418,7 +418,7 @@ Table Create Table PRIMARY KEY (`、ュ、ュ、ュ`), UNIQUE KEY `、ッ、ッ、ッ` (`、ッ、ッ、ッ`), KEY `、ォ、ォ、ォ` (`、ォ、ォ`) -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 ALTER TABLE `、「、「、「` DROP INDEX `、ォ、ォ、ォ`; ALTER TABLE `、「、「、「` DROP PRIMARY KEY; ALTER TABLE `、「、「、「` DROP INDEX `、ッ、ッ、ッ`; @@ -432,12 +432,12 @@ SELECT * FROM ` 、ヲ、ヲ、ヲ、ヲ、ヲ DESC `、「、「、「`; Field Type Null Key Default Extra -、ュ、ュ、ュ char(6) +、ュ、ュ、ュ char(6) NO SHOW CREATE TABLE `、「、「、「`; Table Create Table 、「、「、「 CREATE TABLE `、「、「、「` ( `、ュ、ュ、ュ` char(6) NOT NULL default '' -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 ALTER TABLE `常ン常ン常ン` ADD `床「床「床「` char(1) FIRST; ALTER TABLE `常ン常ン常ン` ADD `床」床」床」` char(1) AFTER `床。床。床。`; ALTER TABLE `常ン常ン常ン` ADD `床エ床エ床エ` char(1); @@ -454,8 +454,8 @@ NULL DESC `常ン常ン常ン`; Field Type Null Key Default Extra 床「床「 char(1) YES MUL NULL -床。床。床。 char(6) PRI -床」床」床」 char(1) YES MUL NULL +床。床。床。 char(6) NO PRI +床」床」床」 char(1) YES UNI NULL 床エ床エ床エ char(1) YES NULL SHOW CREATE TABLE `常ン常ン常ン`; Table Create Table @@ -467,7 +467,7 @@ Table Create Table PRIMARY KEY (`床。床。床。`), UNIQUE KEY `床」床」床」` (`床」床」床」`), KEY `床「床「床「` (`床「床「`) -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 ALTER TABLE `常ン常ン常ン` DROP INDEX `床「床「床「`; ALTER TABLE `常ン常ン常ン` DROP PRIMARY KEY; ALTER TABLE `常ン常ン常ン` DROP INDEX `床」床」床」`; @@ -481,12 +481,12 @@ SELECT * FROM ` 床」床」床」床」床」 DESC `常ン常ン常ン`; Field Type Null Key Default Extra -床。床。床。 char(6) +床。床。床。 char(6) NO SHOW CREATE TABLE `常ン常ン常ン`; Table Create Table 常ン常ン常ン CREATE TABLE `常ン常ン常ン` ( `床。床。床。` char(6) NOT NULL default '' -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 DROP TABLE `竺竺竺`; DROP TABLE `軸軸軸`; DROP TABLE `、「、「、「`; @@ -517,7 +517,7 @@ NULL DESC `竺竺竺`; Field Type Null Key Default Extra 叱叱 char(1) YES MUL NULL -執執執 char(6) PRI +執執執 char(6) NO PRI 失失失 char(1) YES NULL 嫉嫉嫉 char(1) YES NULL SHOW CREATE TABLE `竺竺竺`; @@ -542,7 +542,7 @@ SELECT * FROM ` 宍宍宍宍宍 DESC `竺竺竺`; Field Type Null Key Default Extra -執執執 char(6) +執執執 char(6) NO SHOW CREATE TABLE `竺竺竺`; Table Create Table 竺竺竺 CREATE TABLE `竺竺竺` ( @@ -563,7 +563,7 @@ NULL DESC `、「、「、「`; Field Type Null Key Default Extra 、ォ、ォ char(1) YES MUL NULL -、ュ、ュ、ュ char(6) PRI +、ュ、ュ、ュ char(6) NO PRI 、ッ、ッ、ッ char(1) YES NULL 、ア、ア、ア char(1) YES NULL SHOW CREATE TABLE `、「、「、「`; @@ -588,7 +588,7 @@ SELECT * FROM ` 、ヲ、ヲ、ヲ、ヲ、ヲ DESC `、「、「、「`; Field Type Null Key Default Extra -、ュ、ュ、ュ char(6) +、ュ、ュ、ュ char(6) NO SHOW CREATE TABLE `、「、「、「`; Table Create Table 、「、「、「 CREATE TABLE `、「、「、「` ( @@ -609,7 +609,7 @@ NULL DESC `常ン常ン常ン`; Field Type Null Key Default Extra 床「床「 char(1) YES MUL NULL -床。床。床。 char(6) PRI +床。床。床。 char(6) NO PRI 床」床」床」 char(1) YES NULL 床エ床エ床エ char(1) YES NULL SHOW CREATE TABLE `常ン常ン常ン`; @@ -634,7 +634,7 @@ SELECT * FROM ` 床」床」床」床」床」 DESC `常ン常ン常ン`; Field Type Null Key Default Extra -床。床。床。 char(6) +床。床。床。 char(6) NO SHOW CREATE TABLE `常ン常ン常ン`; Table Create Table 常ン常ン常ン CREATE TABLE `常ン常ン常ン` ( diff --git a/mysql-test/suite/jp/r/jp_alter_ujis.result b/mysql-test/suite/jp/r/jp_alter_ujis.result index afa3c79cbce..daea68caa3f 100644 --- a/mysql-test/suite/jp/r/jp_alter_ujis.result +++ b/mysql-test/suite/jp/r/jp_alter_ujis.result @@ -31,8 +31,8 @@ NULL DESC `竺竺竺`; Field Type Null Key Default Extra 叱叱 char(1) YES MUL NULL -執執執 char(6) PRI -失失失 char(1) YES MUL NULL +執執執 char(6) NO PRI +失失失 char(1) YES UNI NULL 嫉嫉嫉 char(1) YES NULL SHOW CREATE TABLE `竺竺竺`; Table Create Table @@ -58,7 +58,7 @@ SELECT * FROM ` 宍宍宍宍宍 DESC `竺竺竺`; Field Type Null Key Default Extra -執執執 char(6) +執執執 char(6) NO SHOW CREATE TABLE `竺竺竺`; Table Create Table 竺竺竺 CREATE TABLE `竺竺竺` ( @@ -80,8 +80,8 @@ NULL DESC `、「、「、「`; Field Type Null Key Default Extra 、ォ、ォ char(1) YES MUL NULL -、ュ、ュ、ュ char(6) PRI -、ッ、ッ、ッ char(1) YES MUL NULL +、ュ、ュ、ュ char(6) NO PRI +、ッ、ッ、ッ char(1) YES UNI NULL 、ア、ア、ア char(1) YES NULL SHOW CREATE TABLE `、「、「、「`; Table Create Table @@ -107,7 +107,7 @@ SELECT * FROM ` 、ヲ、ヲ、ヲ、ヲ、ヲ DESC `、「、「、「`; Field Type Null Key Default Extra -、ュ、ュ、ュ char(6) +、ュ、ュ、ュ char(6) NO SHOW CREATE TABLE `、「、「、「`; Table Create Table 、「、「、「 CREATE TABLE `、「、「、「` ( @@ -129,8 +129,8 @@ NULL DESC `常ン常ン常ン`; Field Type Null Key Default Extra 床「床「 char(1) YES MUL NULL -床。床。床。 char(6) PRI -床」床」床」 char(1) YES MUL NULL +床。床。床。 char(6) NO PRI +床」床」床」 char(1) YES UNI NULL 床エ床エ床エ char(1) YES NULL SHOW CREATE TABLE `常ン常ン常ン`; Table Create Table @@ -156,7 +156,7 @@ SELECT * FROM ` 床」床」床」床」床」 DESC `常ン常ン常ン`; Field Type Null Key Default Extra -床。床。床。 char(6) +床。床。床。 char(6) NO SHOW CREATE TABLE `常ン常ン常ン`; Table Create Table 常ン常ン常ン CREATE TABLE `常ン常ン常ン` ( @@ -193,8 +193,8 @@ NULL DESC `竺竺竺`; Field Type Null Key Default Extra 叱叱 char(1) YES MUL NULL -執執執 char(6) PRI -失失失 char(1) YES MUL NULL +執執執 char(6) NO PRI +失失失 char(1) YES UNI NULL 嫉嫉嫉 char(1) YES NULL SHOW CREATE TABLE `竺竺竺`; Table Create Table @@ -220,7 +220,7 @@ SELECT * FROM ` 宍宍宍宍宍 DESC `竺竺竺`; Field Type Null Key Default Extra -執執執 char(6) +執執執 char(6) NO SHOW CREATE TABLE `竺竺竺`; Table Create Table 竺竺竺 CREATE TABLE `竺竺竺` ( @@ -242,8 +242,8 @@ NULL DESC `、「、「、「`; Field Type Null Key Default Extra 、ォ、ォ char(1) YES MUL NULL -、ュ、ュ、ュ char(6) PRI -、ッ、ッ、ッ char(1) YES MUL NULL +、ュ、ュ、ュ char(6) NO PRI +、ッ、ッ、ッ char(1) YES UNI NULL 、ア、ア、ア char(1) YES NULL SHOW CREATE TABLE `、「、「、「`; Table Create Table @@ -269,7 +269,7 @@ SELECT * FROM ` 、ヲ、ヲ、ヲ、ヲ、ヲ DESC `、「、「、「`; Field Type Null Key Default Extra -、ュ、ュ、ュ char(6) +、ュ、ュ、ュ char(6) NO SHOW CREATE TABLE `、「、「、「`; Table Create Table 、「、「、「 CREATE TABLE `、「、「、「` ( @@ -291,8 +291,8 @@ NULL DESC `常ン常ン常ン`; Field Type Null Key Default Extra 床「床「 char(1) YES MUL NULL -床。床。床。 char(6) PRI -床」床」床」 char(1) YES MUL NULL +床。床。床。 char(6) NO PRI +床」床」床」 char(1) YES UNI NULL 床エ床エ床エ char(1) YES NULL SHOW CREATE TABLE `常ン常ン常ン`; Table Create Table @@ -318,7 +318,7 @@ SELECT * FROM ` 床」床」床」床」床」 DESC `常ン常ン常ン`; Field Type Null Key Default Extra -床。床。床。 char(6) +床。床。床。 char(6) NO SHOW CREATE TABLE `常ン常ン常ン`; Table Create Table 常ン常ン常ン CREATE TABLE `常ン常ン常ン` ( @@ -355,8 +355,8 @@ NULL DESC `竺竺竺`; Field Type Null Key Default Extra 叱叱 char(1) YES MUL NULL -執執執 char(6) PRI -失失失 char(1) YES MUL NULL +執執執 char(6) NO PRI +失失失 char(1) YES UNI NULL 嫉嫉嫉 char(1) YES NULL SHOW CREATE TABLE `竺竺竺`; Table Create Table @@ -368,7 +368,7 @@ Table Create Table PRIMARY KEY (`執執執`), UNIQUE KEY `失失失` (`失失失`), KEY `叱叱叱` (`叱叱`) -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis ALTER TABLE `竺竺竺` DROP INDEX `叱叱叱`; ALTER TABLE `竺竺竺` DROP PRIMARY KEY; ALTER TABLE `竺竺竺` DROP INDEX `失失失`; @@ -382,12 +382,12 @@ SELECT * FROM ` 宍宍宍宍宍 DESC `竺竺竺`; Field Type Null Key Default Extra -執執執 char(6) +執執執 char(6) NO SHOW CREATE TABLE `竺竺竺`; Table Create Table 竺竺竺 CREATE TABLE `竺竺竺` ( `執執執` char(6) NOT NULL default '' -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis ALTER TABLE `、「、「、「` ADD `、ォ、ォ、ォ` char(1) FIRST; ALTER TABLE `、「、「、「` ADD `、ッ、ッ、ッ` char(1) AFTER `、ュ、ュ、ュ`; ALTER TABLE `、「、「、「` ADD `、ア、ア、ア` char(1); @@ -404,8 +404,8 @@ NULL DESC `、「、「、「`; Field Type Null Key Default Extra 、ォ、ォ char(1) YES MUL NULL -、ュ、ュ、ュ char(6) PRI -、ッ、ッ、ッ char(1) YES MUL NULL +、ュ、ュ、ュ char(6) NO PRI +、ッ、ッ、ッ char(1) YES UNI NULL 、ア、ア、ア char(1) YES NULL SHOW CREATE TABLE `、「、「、「`; Table Create Table @@ -417,7 +417,7 @@ Table Create Table PRIMARY KEY (`、ュ、ュ、ュ`), UNIQUE KEY `、ッ、ッ、ッ` (`、ッ、ッ、ッ`), KEY `、ォ、ォ、ォ` (`、ォ、ォ`) -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis ALTER TABLE `、「、「、「` DROP INDEX `、ォ、ォ、ォ`; ALTER TABLE `、「、「、「` DROP PRIMARY KEY; ALTER TABLE `、「、「、「` DROP INDEX `、ッ、ッ、ッ`; @@ -431,12 +431,12 @@ SELECT * FROM ` 、ヲ、ヲ、ヲ、ヲ、ヲ DESC `、「、「、「`; Field Type Null Key Default Extra -、ュ、ュ、ュ char(6) +、ュ、ュ、ュ char(6) NO SHOW CREATE TABLE `、「、「、「`; Table Create Table 、「、「、「 CREATE TABLE `、「、「、「` ( `、ュ、ュ、ュ` char(6) NOT NULL default '' -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis ALTER TABLE `常ン常ン常ン` ADD `床「床「床「` char(1) FIRST; ALTER TABLE `常ン常ン常ン` ADD `床」床」床」` char(1) AFTER `床。床。床。`; ALTER TABLE `常ン常ン常ン` ADD `床エ床エ床エ` char(1); @@ -453,8 +453,8 @@ NULL DESC `常ン常ン常ン`; Field Type Null Key Default Extra 床「床「 char(1) YES MUL NULL -床。床。床。 char(6) PRI -床」床」床」 char(1) YES MUL NULL +床。床。床。 char(6) NO PRI +床」床」床」 char(1) YES UNI NULL 床エ床エ床エ char(1) YES NULL SHOW CREATE TABLE `常ン常ン常ン`; Table Create Table @@ -466,7 +466,7 @@ Table Create Table PRIMARY KEY (`床。床。床。`), UNIQUE KEY `床」床」床」` (`床」床」床」`), KEY `床「床「床「` (`床「床「`) -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis ALTER TABLE `常ン常ン常ン` DROP INDEX `床「床「床「`; ALTER TABLE `常ン常ン常ン` DROP PRIMARY KEY; ALTER TABLE `常ン常ン常ン` DROP INDEX `床」床」床」`; @@ -480,12 +480,12 @@ SELECT * FROM ` 床」床」床」床」床」 DESC `常ン常ン常ン`; Field Type Null Key Default Extra -床。床。床。 char(6) +床。床。床。 char(6) NO SHOW CREATE TABLE `常ン常ン常ン`; Table Create Table 常ン常ン常ン CREATE TABLE `常ン常ン常ン` ( `床。床。床。` char(6) NOT NULL default '' -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis DROP TABLE `竺竺竺`; DROP TABLE `軸軸軸`; DROP TABLE `、「、「、「`; @@ -516,7 +516,7 @@ NULL DESC `竺竺竺`; Field Type Null Key Default Extra 叱叱 char(1) YES MUL NULL -執執執 char(6) PRI +執執執 char(6) NO PRI 失失失 char(1) YES NULL 嫉嫉嫉 char(1) YES NULL SHOW CREATE TABLE `竺竺竺`; @@ -541,7 +541,7 @@ SELECT * FROM ` 宍宍宍宍宍 DESC `竺竺竺`; Field Type Null Key Default Extra -執執執 char(6) +執執執 char(6) NO SHOW CREATE TABLE `竺竺竺`; Table Create Table 竺竺竺 CREATE TABLE `竺竺竺` ( @@ -562,7 +562,7 @@ NULL DESC `、「、「、「`; Field Type Null Key Default Extra 、ォ、ォ char(1) YES MUL NULL -、ュ、ュ、ュ char(6) PRI +、ュ、ュ、ュ char(6) NO PRI 、ッ、ッ、ッ char(1) YES NULL 、ア、ア、ア char(1) YES NULL SHOW CREATE TABLE `、「、「、「`; @@ -587,7 +587,7 @@ SELECT * FROM ` 、ヲ、ヲ、ヲ、ヲ、ヲ DESC `、「、「、「`; Field Type Null Key Default Extra -、ュ、ュ、ュ char(6) +、ュ、ュ、ュ char(6) NO SHOW CREATE TABLE `、「、「、「`; Table Create Table 、「、「、「 CREATE TABLE `、「、「、「` ( @@ -608,7 +608,7 @@ NULL DESC `常ン常ン常ン`; Field Type Null Key Default Extra 床「床「 char(1) YES MUL NULL -床。床。床。 char(6) PRI +床。床。床。 char(6) NO PRI 床」床」床」 char(1) YES NULL 床エ床エ床エ char(1) YES NULL SHOW CREATE TABLE `常ン常ン常ン`; @@ -633,7 +633,7 @@ SELECT * FROM ` 床」床」床」床」床」 DESC `常ン常ン常ン`; Field Type Null Key Default Extra -床。床。床。 char(6) +床。床。床。 char(6) NO SHOW CREATE TABLE `常ン常ン常ン`; Table Create Table 常ン常ン常ン CREATE TABLE `常ン常ン常ン` ( diff --git a/mysql-test/suite/jp/r/jp_alter_utf8.result b/mysql-test/suite/jp/r/jp_alter_utf8.result index 19475e06a87..f2f374eed87 100644 --- a/mysql-test/suite/jp/r/jp_alter_utf8.result +++ b/mysql-test/suite/jp/r/jp_alter_utf8.result @@ -31,8 +31,8 @@ NULL スウスウスウスウスウ NULL NULL DESC `スアスアスア`; Field Type Null Key Default Extra スカスカ char(1) YES MUL NULL -スキスキスキ char(6) PRI -スクスクスク char(1) YES MUL NULL +スキスキスキ char(6) NO PRI +スクスクスク char(1) YES UNI NULL スケスケスケ char(1) YES NULL SHOW CREATE TABLE `スアスアスア`; Table Create Table @@ -58,7 +58,7 @@ SELECT * FROM `スアスアスア`; スウスウスウスウスウ DESC `スアスアスア`; Field Type Null Key Default Extra -スキスキスキ char(6) +スキスキスキ char(6) NO SHOW CREATE TABLE `スアスアスア`; Table Create Table スアスアスア CREATE TABLE `スアスアスア` ( @@ -80,8 +80,8 @@ NULL 縺縺縺縺縺 NULL NULL DESC `縺ゅ≠縺A; Field Type Null Key Default Extra 縺九° char(1) YES MUL NULL -縺阪″縺 char(6) PRI -縺上¥縺 char(1) YES MUL NULL +縺阪″縺 char(6) NO PRI +縺上¥縺 char(1) YES UNI NULL 縺代¢縺 char(1) YES NULL SHOW CREATE TABLE `縺ゅ≠縺A; Table Create Table @@ -107,7 +107,7 @@ SELECT * FROM `縺ゅ≠縺A; 縺縺縺縺縺 DESC `縺ゅ≠縺A; Field Type Null Key Default Extra -縺阪″縺 char(6) +縺阪″縺 char(6) NO SHOW CREATE TABLE `縺ゅ≠縺A; Table Create Table 縺ゅ≠縺 CREATE TABLE `縺ゅ≠縺A ( @@ -129,8 +129,8 @@ NULL 荳荳荳荳荳 NULL NULL DESC `鮴夜セ夜セ冒; Field Type Null Key Default Extra 荳荳 char(1) YES MUL NULL -荳ゆクゆク char(6) PRI -荳荳荳 char(1) YES MUL NULL +荳ゆクゆク char(6) NO PRI +荳荳荳 char(1) YES UNI NULL 荵壻ケ壻ケ char(1) YES NULL SHOW CREATE TABLE `鮴夜セ夜セ冒; Table Create Table @@ -156,7 +156,7 @@ SELECT * FROM `鮴夜セ夜セ冒; 荳荳荳荳荳 DESC `鮴夜セ夜セ冒; Field Type Null Key Default Extra -荳ゆクゆク char(6) +荳ゆクゆク char(6) NO SHOW CREATE TABLE `鮴夜セ夜セ冒; Table Create Table 鮴夜セ夜セ CREATE TABLE `鮴夜セ夜セ冒 ( @@ -193,8 +193,8 @@ NULL スウスウスウスウスウ NULL NULL DESC `スアスアスア`; Field Type Null Key Default Extra スカスカ char(1) YES MUL NULL -スキスキスキ char(6) PRI -スクスクスク char(1) YES MUL NULL +スキスキスキ char(6) NO PRI +スクスクスク char(1) YES UNI NULL スケスケスケ char(1) YES NULL SHOW CREATE TABLE `スアスアスア`; Table Create Table @@ -220,7 +220,7 @@ SELECT * FROM `スアスアスア`; スウスウスウスウスウ DESC `スアスアスア`; Field Type Null Key Default Extra -スキスキスキ char(6) +スキスキスキ char(6) NO SHOW CREATE TABLE `スアスアスア`; Table Create Table スアスアスア CREATE TABLE `スアスアスア` ( @@ -242,8 +242,8 @@ NULL 縺縺縺縺縺 NULL NULL DESC `縺ゅ≠縺A; Field Type Null Key Default Extra 縺九° char(1) YES MUL NULL -縺阪″縺 char(6) PRI -縺上¥縺 char(1) YES MUL NULL +縺阪″縺 char(6) NO PRI +縺上¥縺 char(1) YES UNI NULL 縺代¢縺 char(1) YES NULL SHOW CREATE TABLE `縺ゅ≠縺A; Table Create Table @@ -269,7 +269,7 @@ SELECT * FROM `縺ゅ≠縺A; 縺縺縺縺縺 DESC `縺ゅ≠縺A; Field Type Null Key Default Extra -縺阪″縺 char(6) +縺阪″縺 char(6) NO SHOW CREATE TABLE `縺ゅ≠縺A; Table Create Table 縺ゅ≠縺 CREATE TABLE `縺ゅ≠縺A ( @@ -291,8 +291,8 @@ NULL 荳荳荳荳荳 NULL NULL DESC `鮴夜セ夜セ冒; Field Type Null Key Default Extra 荳荳 char(1) YES MUL NULL -荳ゆクゆク char(6) PRI -荳荳荳 char(1) YES MUL NULL +荳ゆクゆク char(6) NO PRI +荳荳荳 char(1) YES UNI NULL 荵壻ケ壻ケ char(1) YES NULL SHOW CREATE TABLE `鮴夜セ夜セ冒; Table Create Table @@ -318,7 +318,7 @@ SELECT * FROM `鮴夜セ夜セ冒; 荳荳荳荳荳 DESC `鮴夜セ夜セ冒; Field Type Null Key Default Extra -荳ゆクゆク char(6) +荳ゆクゆク char(6) NO SHOW CREATE TABLE `鮴夜セ夜セ冒; Table Create Table 鮴夜セ夜セ CREATE TABLE `鮴夜セ夜セ冒 ( @@ -355,8 +355,8 @@ NULL スウスウスウスウスウ NULL NULL DESC `スアスアスア`; Field Type Null Key Default Extra スカスカ char(1) YES MUL NULL -スキスキスキ char(6) PRI -スクスクスク char(1) YES MUL NULL +スキスキスキ char(6) NO PRI +スクスクスク char(1) YES UNI NULL スケスケスケ char(1) YES NULL SHOW CREATE TABLE `スアスアスア`; Table Create Table @@ -368,7 +368,7 @@ Table Create Table PRIMARY KEY (`スキスキスキ`), UNIQUE KEY `スクスクスク` (`スクスクスク`), KEY `スカスカスカ` (`スカスカ`) -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 ALTER TABLE `スアスアスア` DROP INDEX `スカスカスカ`; ALTER TABLE `スアスアスア` DROP PRIMARY KEY; ALTER TABLE `スアスアスア` DROP INDEX `スクスクスク`; @@ -382,12 +382,12 @@ SELECT * FROM `スアスアスア`; スウスウスウスウスウ DESC `スアスアスア`; Field Type Null Key Default Extra -スキスキスキ char(6) +スキスキスキ char(6) NO SHOW CREATE TABLE `スアスアスア`; Table Create Table スアスアスア CREATE TABLE `スアスアスア` ( `スキスキスキ` char(6) NOT NULL default '' -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 ALTER TABLE `縺ゅ≠縺A ADD `縺九°縺義 char(1) FIRST; ALTER TABLE `縺ゅ≠縺A ADD `縺上¥縺汁 char(1) AFTER `縺阪″縺港; ALTER TABLE `縺ゅ≠縺A ADD `縺代¢縺疏 char(1); @@ -404,8 +404,8 @@ NULL 縺縺縺縺縺 NULL NULL DESC `縺ゅ≠縺A; Field Type Null Key Default Extra 縺九° char(1) YES MUL NULL -縺阪″縺 char(6) PRI -縺上¥縺 char(1) YES MUL NULL +縺阪″縺 char(6) NO PRI +縺上¥縺 char(1) YES UNI NULL 縺代¢縺 char(1) YES NULL SHOW CREATE TABLE `縺ゅ≠縺A; Table Create Table @@ -417,7 +417,7 @@ Table Create Table PRIMARY KEY (`縺阪″縺港), UNIQUE KEY `縺上¥縺汁 (`縺上¥縺汁), KEY `縺九°縺義 (`縺九°`) -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 ALTER TABLE `縺ゅ≠縺A DROP INDEX `縺九°縺義; ALTER TABLE `縺ゅ≠縺A DROP PRIMARY KEY; ALTER TABLE `縺ゅ≠縺A DROP INDEX `縺上¥縺汁; @@ -431,12 +431,12 @@ SELECT * FROM `縺ゅ≠縺A; 縺縺縺縺縺 DESC `縺ゅ≠縺A; Field Type Null Key Default Extra -縺阪″縺 char(6) +縺阪″縺 char(6) NO SHOW CREATE TABLE `縺ゅ≠縺A; Table Create Table 縺ゅ≠縺 CREATE TABLE `縺ゅ≠縺A ( `縺阪″縺港 char(6) NOT NULL default '' -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 ALTER TABLE `鮴夜セ夜セ冒 ADD `荳荳荳Я char(1) FIRST; ALTER TABLE `鮴夜セ夜セ冒 ADD `荳荳荳` char(1) AFTER `荳ゆクゆクA; ALTER TABLE `鮴夜セ夜セ冒 ADD `荵壻ケ壻ケ啻 char(1); @@ -453,8 +453,8 @@ NULL 荳荳荳荳荳 NULL NULL DESC `鮴夜セ夜セ冒; Field Type Null Key Default Extra 荳荳 char(1) YES MUL NULL -荳ゆクゆク char(6) PRI -荳荳荳 char(1) YES MUL NULL +荳ゆクゆク char(6) NO PRI +荳荳荳 char(1) YES UNI NULL 荵壻ケ壻ケ char(1) YES NULL SHOW CREATE TABLE `鮴夜セ夜セ冒; Table Create Table @@ -466,7 +466,7 @@ Table Create Table PRIMARY KEY (`荳ゆクゆクA), UNIQUE KEY `荳荳荳` (`荳荳荳`), KEY `荳荳荳Я (`荳荳Я) -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 ALTER TABLE `鮴夜セ夜セ冒 DROP INDEX `荳荳荳Я; ALTER TABLE `鮴夜セ夜セ冒 DROP PRIMARY KEY; ALTER TABLE `鮴夜セ夜セ冒 DROP INDEX `荳荳荳`; @@ -480,12 +480,12 @@ SELECT * FROM `鮴夜セ夜セ冒; 荳荳荳荳荳 DESC `鮴夜セ夜セ冒; Field Type Null Key Default Extra -荳ゆクゆク char(6) +荳ゆクゆク char(6) NO SHOW CREATE TABLE `鮴夜セ夜セ冒; Table Create Table 鮴夜セ夜セ CREATE TABLE `鮴夜セ夜セ冒 ( `荳ゆクゆクA char(6) NOT NULL default '' -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 DROP TABLE `スアスアスア`; DROP TABLE `スイスイスイ`; DROP TABLE `縺ゅ≠縺A; @@ -516,7 +516,7 @@ NULL スウスウスウスウスウ NULL NULL DESC `スアスアスア`; Field Type Null Key Default Extra スカスカ char(1) YES MUL NULL -スキスキスキ char(6) PRI +スキスキスキ char(6) NO PRI スクスクスク char(1) YES NULL スケスケスケ char(1) YES NULL SHOW CREATE TABLE `スアスアスア`; @@ -541,7 +541,7 @@ SELECT * FROM `スアスアスア`; スウスウスウスウスウ DESC `スアスアスア`; Field Type Null Key Default Extra -スキスキスキ char(6) +スキスキスキ char(6) NO SHOW CREATE TABLE `スアスアスア`; Table Create Table スアスアスア CREATE TABLE `スアスアスア` ( @@ -562,7 +562,7 @@ NULL 縺縺縺縺縺 NULL NULL DESC `縺ゅ≠縺A; Field Type Null Key Default Extra 縺九° char(1) YES MUL NULL -縺阪″縺 char(6) PRI +縺阪″縺 char(6) NO PRI 縺上¥縺 char(1) YES NULL 縺代¢縺 char(1) YES NULL SHOW CREATE TABLE `縺ゅ≠縺A; @@ -587,7 +587,7 @@ SELECT * FROM `縺ゅ≠縺A; 縺縺縺縺縺 DESC `縺ゅ≠縺A; Field Type Null Key Default Extra -縺阪″縺 char(6) +縺阪″縺 char(6) NO SHOW CREATE TABLE `縺ゅ≠縺A; Table Create Table 縺ゅ≠縺 CREATE TABLE `縺ゅ≠縺A ( @@ -608,7 +608,7 @@ NULL 荳荳荳荳荳 NULL NULL DESC `鮴夜セ夜セ冒; Field Type Null Key Default Extra 荳荳 char(1) YES MUL NULL -荳ゆクゆク char(6) PRI +荳ゆクゆク char(6) NO PRI 荳荳荳 char(1) YES NULL 荵壻ケ壻ケ char(1) YES NULL SHOW CREATE TABLE `鮴夜セ夜セ冒; @@ -633,7 +633,7 @@ SELECT * FROM `鮴夜セ夜セ冒; 荳荳荳荳荳 DESC `鮴夜セ夜セ冒; Field Type Null Key Default Extra -荳ゆクゆク char(6) +荳ゆクゆク char(6) NO SHOW CREATE TABLE `鮴夜セ夜セ冒; Table Create Table 鮴夜セ夜セ CREATE TABLE `鮴夜セ夜セ冒 ( diff --git a/mysql-test/suite/jp/r/jp_convert_sjis.result b/mysql-test/suite/jp/r/jp_convert_sjis.result index 8c9df3606c8..ff8a3fb2cd9 100644 --- a/mysql-test/suite/jp/r/jp_convert_sjis.result +++ b/mysql-test/suite/jp/r/jp_convert_sjis.result @@ -278,12 +278,15 @@ SELECT ` 齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠・・・・・ 齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠・・・・・ SELECT `C1`, CONVERT(`C1` using utf8) FROM `T3`; C1 CONVERT(`C1` using utf8) + ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T3`; C1 CONVERT(`C1` using ucs2) + ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 SELECT `C1`, CONVERT(`C1` using ujis) FROM `T3`; C1 CONVERT(`C1` using ujis) + ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 SELECT `C1`, CONVERT(`C1` using utf8) FROM `T4`; C1 CONVERT(`C1` using utf8) @@ -527,12 +530,15 @@ SELECT ` 齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠・・・・・ 齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠・・・・・ SELECT `C1`, CONVERT(`C1` using utf8) FROM `T6`; C1 CONVERT(`C1` using utf8) + ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T6`; C1 CONVERT(`C1` using ucs2) + ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 SELECT `C1`, CONVERT(`C1` using ujis) FROM `T6`; C1 CONVERT(`C1` using ujis) + ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 SELECT `C1`, CONVERT(`C1` using utf8) FROM `T7`; C1 CONVERT(`C1` using utf8) @@ -777,12 +783,15 @@ SELECT ` SELECT `C1`, CONVERT(`C1` using utf8) FROM `T9`; C1 CONVERT(`C1` using utf8) ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 + SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T9`; C1 CONVERT(`C1` using ucs2) ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 + SELECT `C1`, CONVERT(`C1` using ujis) FROM `T9`; C1 CONVERT(`C1` using ujis) ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 + SELECT `C1`, CONVERT(`C1` using utf8) FROM `T10`; C1 CONVERT(`C1` using utf8) !"#$%&'()*+,-./ !"#$%&'()*+,-./ @@ -1026,12 +1035,15 @@ SELECT ` SELECT `C1`, CONVERT(`C1` using utf8) FROM `T12`; C1 CONVERT(`C1` using utf8) ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 + SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T12`; C1 CONVERT(`C1` using ucs2) ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 + SELECT `C1`, CONVERT(`C1` using ujis) FROM `T12`; C1 CONVERT(`C1` using ujis) ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 + drop table `T1`; drop table `T2`; drop table `T3`; diff --git a/mysql-test/suite/jp/r/jp_create_db_sjis.result b/mysql-test/suite/jp/r/jp_create_db_sjis.result index 1ce0b7228d5..5d13cf74a39 100644 --- a/mysql-test/suite/jp/r/jp_create_db_sjis.result +++ b/mysql-test/suite/jp/r/jp_create_db_sjis.result @@ -8,6 +8,7 @@ CREATE DATABASE ` CREATE DATABASE `ソ十表`; SHOW DATABASES; Database +information_schema mysql test ソ十表 diff --git a/mysql-test/suite/jp/r/jp_create_db_ucs2.result b/mysql-test/suite/jp/r/jp_create_db_ucs2.result index 8fd921ea8e6..f03baadf707 100644 --- a/mysql-test/suite/jp/r/jp_create_db_ucs2.result +++ b/mysql-test/suite/jp/r/jp_create_db_ucs2.result @@ -9,6 +9,7 @@ CREATE DATABASE ` CREATE DATABASE `常ワ常ン常゙`; SHOW DATABASES; Database +information_schema mysql test ニヒワク diff --git a/mysql-test/suite/jp/r/jp_create_db_ujis.result b/mysql-test/suite/jp/r/jp_create_db_ujis.result index 45fdb34717b..627381bbacb 100644 --- a/mysql-test/suite/jp/r/jp_create_db_ujis.result +++ b/mysql-test/suite/jp/r/jp_create_db_ujis.result @@ -8,6 +8,7 @@ CREATE DATABASE ` CREATE DATABASE `常ワ常ン常゙`; SHOW DATABASES; Database +information_schema mysql test ニヒワク diff --git a/mysql-test/suite/jp/r/jp_create_db_utf8.result b/mysql-test/suite/jp/r/jp_create_db_utf8.result index c0e996040de..1813259bdc9 100644 --- a/mysql-test/suite/jp/r/jp_create_db_utf8.result +++ b/mysql-test/suite/jp/r/jp_create_db_utf8.result @@ -8,6 +8,7 @@ CREATE DATABASE `譌・譛ャ隱杼; CREATE DATABASE `鮴秘セ夜セ輿; SHOW DATABASES; Database +information_schema mysql test 譌・譛ャ隱 diff --git a/mysql-test/suite/jp/r/jp_create_tbl_sjis.result b/mysql-test/suite/jp/r/jp_create_tbl_sjis.result index ecc72f9d91b..763a25bc127 100644 --- a/mysql-test/suite/jp/r/jp_create_tbl_sjis.result +++ b/mysql-test/suite/jp/r/jp_create_tbl_sjis.result @@ -22,11 +22,23 @@ CREATE TABLE ` CREATE TABLE `ソソソ`(`噂噂噂` char(1)) DEFAULT CHARSET = sjis engine=INNODB; CREATE TABLE `十十十`(`蚕蚕蚕` char(1)) DEFAULT CHARSET = sjis engine=INNODB; CREATE TABLE IF NOT EXISTS `アアア`(`カカカ` char(1)) DEFAULT CHARSET = sjis engine=INNODB; +Warnings: +Note 1050 Table 'アアア' already exists CREATE TABLE IF NOT EXISTS `イイイ`(`キキキ` char(1)) DEFAULT CHARSET = sjis engine=INNODB; +Warnings: +Note 1050 Table 'イイイ' already exists CREATE TABLE IF NOT EXISTS `あああ`(`かかか` char(1)) DEFAULT CHARSET = sjis engine=INNODB; +Warnings: +Note 1050 Table 'あああ' already exists CREATE TABLE IF NOT EXISTS `いいい`(`ききき` char(1)) DEFAULT CHARSET = sjis engine=INNODB; +Warnings: +Note 1050 Table 'いいい' already exists CREATE TABLE IF NOT EXISTS `ソソソ`(`噂噂噂` char(1)) DEFAULT CHARSET = sjis engine=INNODB; +Warnings: +Note 1050 Table 'ソソソ' already exists CREATE TABLE IF NOT EXISTS `十十十`(`蚕蚕蚕` char(1)) DEFAULT CHARSET = sjis engine=INNODB; +Warnings: +Note 1050 Table '十十十' already exists CREATE TABLE IF NOT EXISTS `ウウウ`(`ククク` char(1)) DEFAULT CHARSET = sjis engine=INNODB; CREATE TABLE IF NOT EXISTS `ううう`(`くくく` char(1)) DEFAULT CHARSET = sjis engine=INNODB; CREATE TABLE IF NOT EXISTS `表表表`(`申申申`char(1)) DEFAULT CHARSET = sjis engine=INNODB; @@ -178,11 +190,23 @@ CREATE TABLE ` CREATE TABLE `ソソソ`(`噂噂噂` char(1)) DEFAULT CHARSET = sjis engine=MyISAM; CREATE TABLE `十十十`(`蚕蚕蚕` char(1)) DEFAULT CHARSET = sjis engine=MyISAM; CREATE TABLE IF NOT EXISTS `アアア`(`カカカ` char(1)) DEFAULT CHARSET = sjis engine=MyISAM; +Warnings: +Note 1050 Table 'アアア' already exists CREATE TABLE IF NOT EXISTS `イイイ`(`キキキ` char(1)) DEFAULT CHARSET = sjis engine=MyISAM; +Warnings: +Note 1050 Table 'イイイ' already exists CREATE TABLE IF NOT EXISTS `あああ`(`かかか` char(1)) DEFAULT CHARSET = sjis engine=MyISAM; +Warnings: +Note 1050 Table 'あああ' already exists CREATE TABLE IF NOT EXISTS `いいい`(`ききき` char(1)) DEFAULT CHARSET = sjis engine=MyISAM; +Warnings: +Note 1050 Table 'いいい' already exists CREATE TABLE IF NOT EXISTS `ソソソ`(`噂噂噂` char(1)) DEFAULT CHARSET = sjis engine=MyISAM; +Warnings: +Note 1050 Table 'ソソソ' already exists CREATE TABLE IF NOT EXISTS `十十十`(`蚕蚕蚕` char(1)) DEFAULT CHARSET = sjis engine=MyISAM; +Warnings: +Note 1050 Table '十十十' already exists CREATE TABLE IF NOT EXISTS `ウウウ`(`ククク` char(1)) DEFAULT CHARSET = sjis engine=MyISAM; CREATE TABLE IF NOT EXISTS `ううう`(`くくく` char(1)) DEFAULT CHARSET = sjis engine=MyISAM; CREATE TABLE IF NOT EXISTS `表表表`(`申申申`char(1)) DEFAULT CHARSET = sjis engine=MyISAM; @@ -334,11 +358,23 @@ CREATE TABLE ` CREATE TABLE `ソソソ`(`噂噂噂` char(1)) DEFAULT CHARSET = sjis engine=HEAP; CREATE TABLE `十十十`(`蚕蚕蚕` char(1)) DEFAULT CHARSET = sjis engine=HEAP; CREATE TABLE IF NOT EXISTS `アアア`(`カカカ` char(1)) DEFAULT CHARSET = sjis engine=HEAP; +Warnings: +Note 1050 Table 'アアア' already exists CREATE TABLE IF NOT EXISTS `イイイ`(`キキキ` char(1)) DEFAULT CHARSET = sjis engine=HEAP; +Warnings: +Note 1050 Table 'イイイ' already exists CREATE TABLE IF NOT EXISTS `あああ`(`かかか` char(1)) DEFAULT CHARSET = sjis engine=HEAP; +Warnings: +Note 1050 Table 'あああ' already exists CREATE TABLE IF NOT EXISTS `いいい`(`ききき` char(1)) DEFAULT CHARSET = sjis engine=HEAP; +Warnings: +Note 1050 Table 'いいい' already exists CREATE TABLE IF NOT EXISTS `ソソソ`(`噂噂噂` char(1)) DEFAULT CHARSET = sjis engine=HEAP; +Warnings: +Note 1050 Table 'ソソソ' already exists CREATE TABLE IF NOT EXISTS `十十十`(`蚕蚕蚕` char(1)) DEFAULT CHARSET = sjis engine=HEAP; +Warnings: +Note 1050 Table '十十十' already exists CREATE TABLE IF NOT EXISTS `ウウウ`(`ククク` char(1)) DEFAULT CHARSET = sjis engine=HEAP; CREATE TABLE IF NOT EXISTS `ううう`(`くくく` char(1)) DEFAULT CHARSET = sjis engine=HEAP; CREATE TABLE IF NOT EXISTS `表表表`(`申申申`char(1)) DEFAULT CHARSET = sjis engine=HEAP; @@ -397,77 +433,77 @@ SHOW CREATE TABLE ` Table Create Table アアア CREATE TABLE `アアア` ( `カカカ` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis SHOW CREATE TABLE `イイイ`; Table Create Table イイイ CREATE TABLE `イイイ` ( `キキキ` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis SHOW CREATE TABLE `ウウウ`; Table Create Table ウウウ CREATE TABLE `ウウウ` ( `ククク` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis SHOW CREATE TABLE `エエエ`; Table Create Table エエエ CREATE TEMPORARY TABLE `エエエ` ( `ケケケ` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis SHOW CREATE TABLE `オオオ`; Table Create Table オオオ CREATE TEMPORARY TABLE `オオオ` ( `コココ` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis SHOW CREATE TABLE `あああ`; Table Create Table あああ CREATE TABLE `あああ` ( `かかか` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis SHOW CREATE TABLE `いいい`; Table Create Table いいい CREATE TABLE `いいい` ( `ききき` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis SHOW CREATE TABLE `ううう`; Table Create Table ううう CREATE TABLE `ううう` ( `くくく` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis SHOW CREATE TABLE `えええ`; Table Create Table えええ CREATE TEMPORARY TABLE `えええ` ( `けけけ` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis SHOW CREATE TABLE `おおお`; Table Create Table おおお CREATE TEMPORARY TABLE `おおお` ( `こここ` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis SHOW CREATE TABLE `ソソソ`; Table Create Table ソソソ CREATE TABLE `ソソソ` ( `噂噂噂` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis SHOW CREATE TABLE `十十十`; Table Create Table 十十十 CREATE TABLE `十十十` ( `蚕蚕蚕` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis SHOW CREATE TABLE `表表表`; Table Create Table 表表表 CREATE TABLE `表表表` ( `申申申` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis SHOW CREATE TABLE `予予予`; Table Create Table 予予予 CREATE TEMPORARY TABLE `予予予` ( `貼貼貼` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis SHOW CREATE TABLE `構構構`; Table Create Table 構構構 CREATE TEMPORARY TABLE `構構構` ( `能能能` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis DROP TABLE `アアア`; DROP TABLE `イイイ`; DROP TABLE `ウウウ`; @@ -490,11 +526,23 @@ CREATE TABLE ` CREATE TABLE `ソソソ`(`噂噂噂` char(1)) DEFAULT CHARSET = sjis engine=BDB; CREATE TABLE `十十十`(`蚕蚕蚕` char(1)) DEFAULT CHARSET = sjis engine=BDB; CREATE TABLE IF NOT EXISTS `アアア`(`カカカ` char(1)) DEFAULT CHARSET = sjis engine=BDB; +Warnings: +Note 1050 Table 'アアア' already exists CREATE TABLE IF NOT EXISTS `イイイ`(`キキキ` char(1)) DEFAULT CHARSET = sjis engine=BDB; +Warnings: +Note 1050 Table 'イイイ' already exists CREATE TABLE IF NOT EXISTS `あああ`(`かかか` char(1)) DEFAULT CHARSET = sjis engine=BDB; +Warnings: +Note 1050 Table 'あああ' already exists CREATE TABLE IF NOT EXISTS `いいい`(`ききき` char(1)) DEFAULT CHARSET = sjis engine=BDB; +Warnings: +Note 1050 Table 'いいい' already exists CREATE TABLE IF NOT EXISTS `ソソソ`(`噂噂噂` char(1)) DEFAULT CHARSET = sjis engine=BDB; +Warnings: +Note 1050 Table 'ソソソ' already exists CREATE TABLE IF NOT EXISTS `十十十`(`蚕蚕蚕` char(1)) DEFAULT CHARSET = sjis engine=BDB; +Warnings: +Note 1050 Table '十十十' already exists CREATE TABLE IF NOT EXISTS `ウウウ`(`ククク` char(1)) DEFAULT CHARSET = sjis engine=BDB; CREATE TABLE IF NOT EXISTS `ううう`(`くくく` char(1)) DEFAULT CHARSET = sjis engine=BDB; CREATE TABLE IF NOT EXISTS `表表表`(`申申申`char(1)) DEFAULT CHARSET = sjis engine=BDB; diff --git a/mysql-test/suite/jp/r/jp_create_tbl_ucs2.result b/mysql-test/suite/jp/r/jp_create_tbl_ucs2.result index 0bf5a6891b0..d6616f66d9f 100644 --- a/mysql-test/suite/jp/r/jp_create_tbl_ucs2.result +++ b/mysql-test/suite/jp/r/jp_create_tbl_ucs2.result @@ -22,11 +22,23 @@ CREATE TABLE ` CREATE TABLE `常ン常ン常ン`(`床。床。床。` char(1)) DEFAULT CHARSET = ucs2 engine=INNODB; CREATE TABLE `常゙常゙常゙`(`床「床「床「` char(1)) DEFAULT CHARSET = ucs2 engine=INNODB; CREATE TABLE IF NOT EXISTS `竺竺竺`(`叱叱叱` char(1)) DEFAULT CHARSET = ucs2 engine=INNODB; +Warnings: +Note 1050 Table '竺竺竺' already exists CREATE TABLE IF NOT EXISTS `軸軸軸`(`執執執` char(1)) DEFAULT CHARSET = ucs2 engine=INNODB; +Warnings: +Note 1050 Table '軸軸軸' already exists CREATE TABLE IF NOT EXISTS `、「、「、「`(`、ォ、ォ、ォ` char(1)) DEFAULT CHARSET = ucs2 engine=INNODB; +Warnings: +Note 1050 Table '、「、「、「' already exists CREATE TABLE IF NOT EXISTS `、、、、、、`(`、ュ、ュ、ュ` char(1)) DEFAULT CHARSET = ucs2 engine=INNODB; +Warnings: +Note 1050 Table '、、、、、、' already exists CREATE TABLE IF NOT EXISTS `常ン常ン常ン`(`床。床。床。` char(1)) DEFAULT CHARSET = ucs2 engine=INNODB; +Warnings: +Note 1050 Table '常ン常ン常ン' already exists CREATE TABLE IF NOT EXISTS `常゙常゙常゙`(`床「床「床「` char(1)) DEFAULT CHARSET = ucs2 engine=INNODB; +Warnings: +Note 1050 Table '常゙常゙常゙' already exists CREATE TABLE IF NOT EXISTS `宍宍宍`(`失失失` char(1)) DEFAULT CHARSET = ucs2 engine=INNODB; CREATE TABLE IF NOT EXISTS `、ヲ、ヲ、ヲ`(`、ッ、ッ、ッ` char(1)) DEFAULT CHARSET = ucs2 engine=INNODB; CREATE TABLE IF NOT EXISTS `常゚常゚常゚`(`床」床」床」`char(1)) DEFAULT CHARSET = ucs2 engine=INNODB; @@ -178,11 +190,23 @@ CREATE TABLE ` CREATE TABLE `常ン常ン常ン`(`床。床。床。` char(1)) DEFAULT CHARSET = ucs2 engine=MyISAM; CREATE TABLE `常゙常゙常゙`(`床「床「床「` char(1)) DEFAULT CHARSET = ucs2 engine=MyISAM; CREATE TABLE IF NOT EXISTS `竺竺竺`(`叱叱叱` char(1)) DEFAULT CHARSET = ucs2 engine=MyISAM; +Warnings: +Note 1050 Table '竺竺竺' already exists CREATE TABLE IF NOT EXISTS `軸軸軸`(`執執執` char(1)) DEFAULT CHARSET = ucs2 engine=MyISAM; +Warnings: +Note 1050 Table '軸軸軸' already exists CREATE TABLE IF NOT EXISTS `、「、「、「`(`、ォ、ォ、ォ` char(1)) DEFAULT CHARSET = ucs2 engine=MyISAM; +Warnings: +Note 1050 Table '、「、「、「' already exists CREATE TABLE IF NOT EXISTS `、、、、、、`(`、ュ、ュ、ュ` char(1)) DEFAULT CHARSET = ucs2 engine=MyISAM; +Warnings: +Note 1050 Table '、、、、、、' already exists CREATE TABLE IF NOT EXISTS `常ン常ン常ン`(`床。床。床。` char(1)) DEFAULT CHARSET = ucs2 engine=MyISAM; +Warnings: +Note 1050 Table '常ン常ン常ン' already exists CREATE TABLE IF NOT EXISTS `常゙常゙常゙`(`床「床「床「` char(1)) DEFAULT CHARSET = ucs2 engine=MyISAM; +Warnings: +Note 1050 Table '常゙常゙常゙' already exists CREATE TABLE IF NOT EXISTS `宍宍宍`(`失失失` char(1)) DEFAULT CHARSET = ucs2 engine=MyISAM; CREATE TABLE IF NOT EXISTS `、ヲ、ヲ、ヲ`(`、ッ、ッ、ッ` char(1)) DEFAULT CHARSET = ucs2 engine=MyISAM; CREATE TABLE IF NOT EXISTS `常゚常゚常゚`(`床」床」床」`char(1)) DEFAULT CHARSET = ucs2 engine=MyISAM; @@ -334,11 +358,23 @@ CREATE TABLE ` CREATE TABLE `常ン常ン常ン`(`床。床。床。` char(1)) DEFAULT CHARSET = ucs2 engine=HEAP; CREATE TABLE `常゙常゙常゙`(`床「床「床「` char(1)) DEFAULT CHARSET = ucs2 engine=HEAP; CREATE TABLE IF NOT EXISTS `竺竺竺`(`叱叱叱` char(1)) DEFAULT CHARSET = ucs2 engine=HEAP; +Warnings: +Note 1050 Table '竺竺竺' already exists CREATE TABLE IF NOT EXISTS `軸軸軸`(`執執執` char(1)) DEFAULT CHARSET = ucs2 engine=HEAP; +Warnings: +Note 1050 Table '軸軸軸' already exists CREATE TABLE IF NOT EXISTS `、「、「、「`(`、ォ、ォ、ォ` char(1)) DEFAULT CHARSET = ucs2 engine=HEAP; +Warnings: +Note 1050 Table '、「、「、「' already exists CREATE TABLE IF NOT EXISTS `、、、、、、`(`、ュ、ュ、ュ` char(1)) DEFAULT CHARSET = ucs2 engine=HEAP; +Warnings: +Note 1050 Table '、、、、、、' already exists CREATE TABLE IF NOT EXISTS `常ン常ン常ン`(`床。床。床。` char(1)) DEFAULT CHARSET = ucs2 engine=HEAP; +Warnings: +Note 1050 Table '常ン常ン常ン' already exists CREATE TABLE IF NOT EXISTS `常゙常゙常゙`(`床「床「床「` char(1)) DEFAULT CHARSET = ucs2 engine=HEAP; +Warnings: +Note 1050 Table '常゙常゙常゙' already exists CREATE TABLE IF NOT EXISTS `宍宍宍`(`失失失` char(1)) DEFAULT CHARSET = ucs2 engine=HEAP; CREATE TABLE IF NOT EXISTS `、ヲ、ヲ、ヲ`(`、ッ、ッ、ッ` char(1)) DEFAULT CHARSET = ucs2 engine=HEAP; CREATE TABLE IF NOT EXISTS `常゚常゚常゚`(`床」床」床」`char(1)) DEFAULT CHARSET = ucs2 engine=HEAP; @@ -397,77 +433,77 @@ SHOW CREATE TABLE ` Table Create Table 竺竺竺 CREATE TABLE `竺竺竺` ( `叱叱叱` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 SHOW CREATE TABLE `軸軸軸`; Table Create Table 軸軸軸 CREATE TABLE `軸軸軸` ( `執執執` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 SHOW CREATE TABLE `宍宍宍`; Table Create Table 宍宍宍 CREATE TABLE `宍宍宍` ( `失失失` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 SHOW CREATE TABLE `雫雫雫`; Table Create Table 雫雫雫 CREATE TEMPORARY TABLE `雫雫雫` ( `嫉嫉嫉` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 SHOW CREATE TABLE `七七七`; Table Create Table 七七七 CREATE TEMPORARY TABLE `七七七` ( `室室室` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 SHOW CREATE TABLE `、「、「、「`; Table Create Table 、「、「、「 CREATE TABLE `、「、「、「` ( `、ォ、ォ、ォ` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 SHOW CREATE TABLE `、、、、、、`; Table Create Table 、、、、、、 CREATE TABLE `、、、、、、` ( `、ュ、ュ、ュ` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 SHOW CREATE TABLE `、ヲ、ヲ、ヲ`; Table Create Table 、ヲ、ヲ、ヲ CREATE TABLE `、ヲ、ヲ、ヲ` ( `、ッ、ッ、ッ` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 SHOW CREATE TABLE `、ィ、ィ、ィ`; Table Create Table 、ィ、ィ、ィ CREATE TEMPORARY TABLE `、ィ、ィ、ィ` ( `、ア、ア、ア` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 SHOW CREATE TABLE `、ェ、ェ、ェ`; Table Create Table 、ェ、ェ、ェ CREATE TEMPORARY TABLE `、ェ、ェ、ェ` ( `、ウ、ウ、ウ` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 SHOW CREATE TABLE `常ン常ン常ン`; Table Create Table 常ン常ン常ン CREATE TABLE `常ン常ン常ン` ( `床。床。床。` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 SHOW CREATE TABLE `常゙常゙常゙`; Table Create Table 常゙常゙常゙ CREATE TABLE `常゙常゙常゙` ( `床「床「床「` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 SHOW CREATE TABLE `常゚常゚常゚`; Table Create Table 常゚常゚常゚ CREATE TABLE `常゚常゚常゚` ( `床」床」床」` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 SHOW CREATE TABLE `常熄熄濮; Table Create Table 常熄熄 CREATE TEMPORARY TABLE `常熄熄濮 ( `床、床、床、` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 SHOW CREATE TABLE `常瘴瘴畫; Table Create Table 常瘴瘴 CREATE TEMPORARY TABLE `常瘴瘴畫 ( `床・床・床・` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 DROP TABLE `竺竺竺`; DROP TABLE `軸軸軸`; DROP TABLE `宍宍宍`; @@ -490,11 +526,23 @@ CREATE TABLE ` CREATE TABLE `常ン常ン常ン`(`床。床。床。` char(1)) DEFAULT CHARSET = ucs2 engine=BDB; CREATE TABLE `常゙常゙常゙`(`床「床「床「` char(1)) DEFAULT CHARSET = ucs2 engine=BDB; CREATE TABLE IF NOT EXISTS `竺竺竺`(`叱叱叱` char(1)) DEFAULT CHARSET = ucs2 engine=BDB; +Warnings: +Note 1050 Table '竺竺竺' already exists CREATE TABLE IF NOT EXISTS `軸軸軸`(`執執執` char(1)) DEFAULT CHARSET = ucs2 engine=BDB; +Warnings: +Note 1050 Table '軸軸軸' already exists CREATE TABLE IF NOT EXISTS `、「、「、「`(`、ォ、ォ、ォ` char(1)) DEFAULT CHARSET = ucs2 engine=BDB; +Warnings: +Note 1050 Table '、「、「、「' already exists CREATE TABLE IF NOT EXISTS `、、、、、、`(`、ュ、ュ、ュ` char(1)) DEFAULT CHARSET = ucs2 engine=BDB; +Warnings: +Note 1050 Table '、、、、、、' already exists CREATE TABLE IF NOT EXISTS `常ン常ン常ン`(`床。床。床。` char(1)) DEFAULT CHARSET = ucs2 engine=BDB; +Warnings: +Note 1050 Table '常ン常ン常ン' already exists CREATE TABLE IF NOT EXISTS `常゙常゙常゙`(`床「床「床「` char(1)) DEFAULT CHARSET = ucs2 engine=BDB; +Warnings: +Note 1050 Table '常゙常゙常゙' already exists CREATE TABLE IF NOT EXISTS `宍宍宍`(`失失失` char(1)) DEFAULT CHARSET = ucs2 engine=BDB; CREATE TABLE IF NOT EXISTS `、ヲ、ヲ、ヲ`(`、ッ、ッ、ッ` char(1)) DEFAULT CHARSET = ucs2 engine=BDB; CREATE TABLE IF NOT EXISTS `常゚常゚常゚`(`床」床」床」`char(1)) DEFAULT CHARSET = ucs2 engine=BDB; diff --git a/mysql-test/suite/jp/r/jp_create_tbl_ujis.result b/mysql-test/suite/jp/r/jp_create_tbl_ujis.result index ae555e5af15..f53e1e58793 100644 --- a/mysql-test/suite/jp/r/jp_create_tbl_ujis.result +++ b/mysql-test/suite/jp/r/jp_create_tbl_ujis.result @@ -22,11 +22,23 @@ CREATE TABLE ` CREATE TABLE `常ン常ン常ン`(`床。床。床。` char(1)) DEFAULT CHARSET = ujis engine=INNODB; CREATE TABLE `常゙常゙常゙`(`床「床「床「` char(1)) DEFAULT CHARSET = ujis engine=INNODB; CREATE TABLE IF NOT EXISTS `竺竺竺`(`叱叱叱` char(1)) DEFAULT CHARSET = ujis engine=INNODB; +Warnings: +Note 1050 Table '竺竺竺' already exists CREATE TABLE IF NOT EXISTS `軸軸軸`(`執執執` char(1)) DEFAULT CHARSET = ujis engine=INNODB; +Warnings: +Note 1050 Table '軸軸軸' already exists CREATE TABLE IF NOT EXISTS `、「、「、「`(`、ォ、ォ、ォ` char(1)) DEFAULT CHARSET = ujis engine=INNODB; +Warnings: +Note 1050 Table '、「、「、「' already exists CREATE TABLE IF NOT EXISTS `、、、、、、`(`、ュ、ュ、ュ` char(1)) DEFAULT CHARSET = ujis engine=INNODB; +Warnings: +Note 1050 Table '、、、、、、' already exists CREATE TABLE IF NOT EXISTS `常ン常ン常ン`(`床。床。床。` char(1)) DEFAULT CHARSET = ujis engine=INNODB; +Warnings: +Note 1050 Table '常ン常ン常ン' already exists CREATE TABLE IF NOT EXISTS `常゙常゙常゙`(`床「床「床「` char(1)) DEFAULT CHARSET = ujis engine=INNODB; +Warnings: +Note 1050 Table '常゙常゙常゙' already exists CREATE TABLE IF NOT EXISTS `宍宍宍`(`失失失` char(1)) DEFAULT CHARSET = ujis engine=INNODB; CREATE TABLE IF NOT EXISTS `、ヲ、ヲ、ヲ`(`、ッ、ッ、ッ` char(1)) DEFAULT CHARSET = ujis engine=INNODB; CREATE TABLE IF NOT EXISTS `常゚常゚常゚`(`床」床」床」`char(1)) DEFAULT CHARSET = ujis engine=INNODB; @@ -178,11 +190,23 @@ CREATE TABLE ` CREATE TABLE `常ン常ン常ン`(`床。床。床。` char(1)) DEFAULT CHARSET = ujis engine=MyISAM; CREATE TABLE `常゙常゙常゙`(`床「床「床「` char(1)) DEFAULT CHARSET = ujis engine=MyISAM; CREATE TABLE IF NOT EXISTS `竺竺竺`(`叱叱叱` char(1)) DEFAULT CHARSET = ujis engine=MyISAM; +Warnings: +Note 1050 Table '竺竺竺' already exists CREATE TABLE IF NOT EXISTS `軸軸軸`(`執執執` char(1)) DEFAULT CHARSET = ujis engine=MyISAM; +Warnings: +Note 1050 Table '軸軸軸' already exists CREATE TABLE IF NOT EXISTS `、「、「、「`(`、ォ、ォ、ォ` char(1)) DEFAULT CHARSET = ujis engine=MyISAM; +Warnings: +Note 1050 Table '、「、「、「' already exists CREATE TABLE IF NOT EXISTS `、、、、、、`(`、ュ、ュ、ュ` char(1)) DEFAULT CHARSET = ujis engine=MyISAM; +Warnings: +Note 1050 Table '、、、、、、' already exists CREATE TABLE IF NOT EXISTS `常ン常ン常ン`(`床。床。床。` char(1)) DEFAULT CHARSET = ujis engine=MyISAM; +Warnings: +Note 1050 Table '常ン常ン常ン' already exists CREATE TABLE IF NOT EXISTS `常゙常゙常゙`(`床「床「床「` char(1)) DEFAULT CHARSET = ujis engine=MyISAM; +Warnings: +Note 1050 Table '常゙常゙常゙' already exists CREATE TABLE IF NOT EXISTS `宍宍宍`(`失失失` char(1)) DEFAULT CHARSET = ujis engine=MyISAM; CREATE TABLE IF NOT EXISTS `、ヲ、ヲ、ヲ`(`、ッ、ッ、ッ` char(1)) DEFAULT CHARSET = ujis engine=MyISAM; CREATE TABLE IF NOT EXISTS `常゚常゚常゚`(`床」床」床」`char(1)) DEFAULT CHARSET = ujis engine=MyISAM; @@ -334,11 +358,23 @@ CREATE TABLE ` CREATE TABLE `常ン常ン常ン`(`床。床。床。` char(1)) DEFAULT CHARSET = ujis engine=HEAP; CREATE TABLE `常゙常゙常゙`(`床「床「床「` char(1)) DEFAULT CHARSET = ujis engine=HEAP; CREATE TABLE IF NOT EXISTS `竺竺竺`(`叱叱叱` char(1)) DEFAULT CHARSET = ujis engine=HEAP; +Warnings: +Note 1050 Table '竺竺竺' already exists CREATE TABLE IF NOT EXISTS `軸軸軸`(`執執執` char(1)) DEFAULT CHARSET = ujis engine=HEAP; +Warnings: +Note 1050 Table '軸軸軸' already exists CREATE TABLE IF NOT EXISTS `、「、「、「`(`、ォ、ォ、ォ` char(1)) DEFAULT CHARSET = ujis engine=HEAP; +Warnings: +Note 1050 Table '、「、「、「' already exists CREATE TABLE IF NOT EXISTS `、、、、、、`(`、ュ、ュ、ュ` char(1)) DEFAULT CHARSET = ujis engine=HEAP; +Warnings: +Note 1050 Table '、、、、、、' already exists CREATE TABLE IF NOT EXISTS `常ン常ン常ン`(`床。床。床。` char(1)) DEFAULT CHARSET = ujis engine=HEAP; +Warnings: +Note 1050 Table '常ン常ン常ン' already exists CREATE TABLE IF NOT EXISTS `常゙常゙常゙`(`床「床「床「` char(1)) DEFAULT CHARSET = ujis engine=HEAP; +Warnings: +Note 1050 Table '常゙常゙常゙' already exists CREATE TABLE IF NOT EXISTS `宍宍宍`(`失失失` char(1)) DEFAULT CHARSET = ujis engine=HEAP; CREATE TABLE IF NOT EXISTS `、ヲ、ヲ、ヲ`(`、ッ、ッ、ッ` char(1)) DEFAULT CHARSET = ujis engine=HEAP; CREATE TABLE IF NOT EXISTS `常゚常゚常゚`(`床」床」床」`char(1)) DEFAULT CHARSET = ujis engine=HEAP; @@ -397,77 +433,77 @@ SHOW CREATE TABLE ` Table Create Table 竺竺竺 CREATE TABLE `竺竺竺` ( `叱叱叱` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis SHOW CREATE TABLE `軸軸軸`; Table Create Table 軸軸軸 CREATE TABLE `軸軸軸` ( `執執執` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis SHOW CREATE TABLE `宍宍宍`; Table Create Table 宍宍宍 CREATE TABLE `宍宍宍` ( `失失失` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis SHOW CREATE TABLE `雫雫雫`; Table Create Table 雫雫雫 CREATE TEMPORARY TABLE `雫雫雫` ( `嫉嫉嫉` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis SHOW CREATE TABLE `七七七`; Table Create Table 七七七 CREATE TEMPORARY TABLE `七七七` ( `室室室` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis SHOW CREATE TABLE `、「、「、「`; Table Create Table 、「、「、「 CREATE TABLE `、「、「、「` ( `、ォ、ォ、ォ` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis SHOW CREATE TABLE `、、、、、、`; Table Create Table 、、、、、、 CREATE TABLE `、、、、、、` ( `、ュ、ュ、ュ` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis SHOW CREATE TABLE `、ヲ、ヲ、ヲ`; Table Create Table 、ヲ、ヲ、ヲ CREATE TABLE `、ヲ、ヲ、ヲ` ( `、ッ、ッ、ッ` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis SHOW CREATE TABLE `、ィ、ィ、ィ`; Table Create Table 、ィ、ィ、ィ CREATE TEMPORARY TABLE `、ィ、ィ、ィ` ( `、ア、ア、ア` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis SHOW CREATE TABLE `、ェ、ェ、ェ`; Table Create Table 、ェ、ェ、ェ CREATE TEMPORARY TABLE `、ェ、ェ、ェ` ( `、ウ、ウ、ウ` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis SHOW CREATE TABLE `常ン常ン常ン`; Table Create Table 常ン常ン常ン CREATE TABLE `常ン常ン常ン` ( `床。床。床。` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis SHOW CREATE TABLE `常゙常゙常゙`; Table Create Table 常゙常゙常゙ CREATE TABLE `常゙常゙常゙` ( `床「床「床「` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis SHOW CREATE TABLE `常゚常゚常゚`; Table Create Table 常゚常゚常゚ CREATE TABLE `常゚常゚常゚` ( `床」床」床」` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis SHOW CREATE TABLE `常熄熄濮; Table Create Table 常熄熄 CREATE TEMPORARY TABLE `常熄熄濮 ( `床、床、床、` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis SHOW CREATE TABLE `常瘴瘴畫; Table Create Table 常瘴瘴 CREATE TEMPORARY TABLE `常瘴瘴畫 ( `床・床・床・` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis DROP TABLE `竺竺竺`; DROP TABLE `軸軸軸`; DROP TABLE `宍宍宍`; @@ -490,11 +526,23 @@ CREATE TABLE ` CREATE TABLE `常ン常ン常ン`(`床。床。床。` char(1)) DEFAULT CHARSET = ujis engine=BDB; CREATE TABLE `常゙常゙常゙`(`床「床「床「` char(1)) DEFAULT CHARSET = ujis engine=BDB; CREATE TABLE IF NOT EXISTS `竺竺竺`(`叱叱叱` char(1)) DEFAULT CHARSET = ujis engine=BDB; +Warnings: +Note 1050 Table '竺竺竺' already exists CREATE TABLE IF NOT EXISTS `軸軸軸`(`執執執` char(1)) DEFAULT CHARSET = ujis engine=BDB; +Warnings: +Note 1050 Table '軸軸軸' already exists CREATE TABLE IF NOT EXISTS `、「、「、「`(`、ォ、ォ、ォ` char(1)) DEFAULT CHARSET = ujis engine=BDB; +Warnings: +Note 1050 Table '、「、「、「' already exists CREATE TABLE IF NOT EXISTS `、、、、、、`(`、ュ、ュ、ュ` char(1)) DEFAULT CHARSET = ujis engine=BDB; +Warnings: +Note 1050 Table '、、、、、、' already exists CREATE TABLE IF NOT EXISTS `常ン常ン常ン`(`床。床。床。` char(1)) DEFAULT CHARSET = ujis engine=BDB; +Warnings: +Note 1050 Table '常ン常ン常ン' already exists CREATE TABLE IF NOT EXISTS `常゙常゙常゙`(`床「床「床「` char(1)) DEFAULT CHARSET = ujis engine=BDB; +Warnings: +Note 1050 Table '常゙常゙常゙' already exists CREATE TABLE IF NOT EXISTS `宍宍宍`(`失失失` char(1)) DEFAULT CHARSET = ujis engine=BDB; CREATE TABLE IF NOT EXISTS `、ヲ、ヲ、ヲ`(`、ッ、ッ、ッ` char(1)) DEFAULT CHARSET = ujis engine=BDB; CREATE TABLE IF NOT EXISTS `常゚常゚常゚`(`床」床」床」`char(1)) DEFAULT CHARSET = ujis engine=BDB; diff --git a/mysql-test/suite/jp/r/jp_create_tbl_utf8.result b/mysql-test/suite/jp/r/jp_create_tbl_utf8.result index d4873406c46..6df30acbd7f 100644 --- a/mysql-test/suite/jp/r/jp_create_tbl_utf8.result +++ b/mysql-test/suite/jp/r/jp_create_tbl_utf8.result @@ -22,11 +22,23 @@ CREATE TABLE `縺縺縺Я(`縺阪″縺港 char(1)) DEFAULT CHARSET = utf8 engine=INNO CREATE TABLE `鮴夜セ夜セ冒(`荳ゆクゆクA char(1)) DEFAULT CHARSET = utf8 engine=INNODB; CREATE TABLE `鮴鈴セ鈴セ輿(`荳荳荳Я char(1)) DEFAULT CHARSET = utf8 engine=INNODB; CREATE TABLE IF NOT EXISTS `スアスアスア`(`スカスカスカ` char(1)) DEFAULT CHARSET = utf8 engine=INNODB; +Warnings: +Note 1050 Table 'スアスアスア' already exists CREATE TABLE IF NOT EXISTS `スイスイスイ`(`スキスキスキ` char(1)) DEFAULT CHARSET = utf8 engine=INNODB; +Warnings: +Note 1050 Table 'スイスイスイ' already exists CREATE TABLE IF NOT EXISTS `縺ゅ≠縺A(`縺九°縺義 char(1)) DEFAULT CHARSET = utf8 engine=INNODB; +Warnings: +Note 1050 Table '縺ゅ≠縺' already exists CREATE TABLE IF NOT EXISTS `縺縺縺Я(`縺阪″縺港 char(1)) DEFAULT CHARSET = utf8 engine=INNODB; +Warnings: +Note 1050 Table '縺縺縺' already exists CREATE TABLE IF NOT EXISTS `鮴夜セ夜セ冒(`荳ゆクゆクA char(1)) DEFAULT CHARSET = utf8 engine=INNODB; +Warnings: +Note 1050 Table '鮴夜セ夜セ' already exists CREATE TABLE IF NOT EXISTS `鮴鈴セ鈴セ輿(`荳荳荳Я char(1)) DEFAULT CHARSET = utf8 engine=INNODB; +Warnings: +Note 1050 Table '鮴鈴セ鈴セ' already exists CREATE TABLE IF NOT EXISTS `スウスウスウ`(`スクスクスク` char(1)) DEFAULT CHARSET = utf8 engine=INNODB; CREATE TABLE IF NOT EXISTS `縺縺縺`(`縺上¥縺汁 char(1)) DEFAULT CHARSET = utf8 engine=INNODB; CREATE TABLE IF NOT EXISTS `鮴樣セ樣セ杼(`荳荳荳`char(1)) DEFAULT CHARSET = utf8 engine=INNODB; @@ -178,11 +190,23 @@ CREATE TABLE `縺縺縺Я(`縺阪″縺港 char(1)) DEFAULT CHARSET = utf8 engine=MyIS CREATE TABLE `鮴夜セ夜セ冒(`荳ゆクゆクA char(1)) DEFAULT CHARSET = utf8 engine=MyISAM; CREATE TABLE `鮴鈴セ鈴セ輿(`荳荳荳Я char(1)) DEFAULT CHARSET = utf8 engine=MyISAM; CREATE TABLE IF NOT EXISTS `スアスアスア`(`スカスカスカ` char(1)) DEFAULT CHARSET = utf8 engine=MyISAM; +Warnings: +Note 1050 Table 'スアスアスア' already exists CREATE TABLE IF NOT EXISTS `スイスイスイ`(`スキスキスキ` char(1)) DEFAULT CHARSET = utf8 engine=MyISAM; +Warnings: +Note 1050 Table 'スイスイスイ' already exists CREATE TABLE IF NOT EXISTS `縺ゅ≠縺A(`縺九°縺義 char(1)) DEFAULT CHARSET = utf8 engine=MyISAM; +Warnings: +Note 1050 Table '縺ゅ≠縺' already exists CREATE TABLE IF NOT EXISTS `縺縺縺Я(`縺阪″縺港 char(1)) DEFAULT CHARSET = utf8 engine=MyISAM; +Warnings: +Note 1050 Table '縺縺縺' already exists CREATE TABLE IF NOT EXISTS `鮴夜セ夜セ冒(`荳ゆクゆクA char(1)) DEFAULT CHARSET = utf8 engine=MyISAM; +Warnings: +Note 1050 Table '鮴夜セ夜セ' already exists CREATE TABLE IF NOT EXISTS `鮴鈴セ鈴セ輿(`荳荳荳Я char(1)) DEFAULT CHARSET = utf8 engine=MyISAM; +Warnings: +Note 1050 Table '鮴鈴セ鈴セ' already exists CREATE TABLE IF NOT EXISTS `スウスウスウ`(`スクスクスク` char(1)) DEFAULT CHARSET = utf8 engine=MyISAM; CREATE TABLE IF NOT EXISTS `縺縺縺`(`縺上¥縺汁 char(1)) DEFAULT CHARSET = utf8 engine=MyISAM; CREATE TABLE IF NOT EXISTS `鮴樣セ樣セ杼(`荳荳荳`char(1)) DEFAULT CHARSET = utf8 engine=MyISAM; @@ -334,11 +358,23 @@ CREATE TABLE `縺縺縺Я(`縺阪″縺港 char(1)) DEFAULT CHARSET = utf8 engine=HEAP CREATE TABLE `鮴夜セ夜セ冒(`荳ゆクゆクA char(1)) DEFAULT CHARSET = utf8 engine=HEAP; CREATE TABLE `鮴鈴セ鈴セ輿(`荳荳荳Я char(1)) DEFAULT CHARSET = utf8 engine=HEAP; CREATE TABLE IF NOT EXISTS `スアスアスア`(`スカスカスカ` char(1)) DEFAULT CHARSET = utf8 engine=HEAP; +Warnings: +Note 1050 Table 'スアスアスア' already exists CREATE TABLE IF NOT EXISTS `スイスイスイ`(`スキスキスキ` char(1)) DEFAULT CHARSET = utf8 engine=HEAP; +Warnings: +Note 1050 Table 'スイスイスイ' already exists CREATE TABLE IF NOT EXISTS `縺ゅ≠縺A(`縺九°縺義 char(1)) DEFAULT CHARSET = utf8 engine=HEAP; +Warnings: +Note 1050 Table '縺ゅ≠縺' already exists CREATE TABLE IF NOT EXISTS `縺縺縺Я(`縺阪″縺港 char(1)) DEFAULT CHARSET = utf8 engine=HEAP; +Warnings: +Note 1050 Table '縺縺縺' already exists CREATE TABLE IF NOT EXISTS `鮴夜セ夜セ冒(`荳ゆクゆクA char(1)) DEFAULT CHARSET = utf8 engine=HEAP; +Warnings: +Note 1050 Table '鮴夜セ夜セ' already exists CREATE TABLE IF NOT EXISTS `鮴鈴セ鈴セ輿(`荳荳荳Я char(1)) DEFAULT CHARSET = utf8 engine=HEAP; +Warnings: +Note 1050 Table '鮴鈴セ鈴セ' already exists CREATE TABLE IF NOT EXISTS `スウスウスウ`(`スクスクスク` char(1)) DEFAULT CHARSET = utf8 engine=HEAP; CREATE TABLE IF NOT EXISTS `縺縺縺`(`縺上¥縺汁 char(1)) DEFAULT CHARSET = utf8 engine=HEAP; CREATE TABLE IF NOT EXISTS `鮴樣セ樣セ杼(`荳荳荳`char(1)) DEFAULT CHARSET = utf8 engine=HEAP; @@ -397,77 +433,77 @@ SHOW CREATE TABLE `スアスアスア`; Table Create Table スアスアスア CREATE TABLE `スアスアスア` ( `スカスカスカ` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW CREATE TABLE `スイスイスイ`; Table Create Table スイスイスイ CREATE TABLE `スイスイスイ` ( `スキスキスキ` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW CREATE TABLE `スウスウスウ`; Table Create Table スウスウスウ CREATE TABLE `スウスウスウ` ( `スクスクスク` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW CREATE TABLE `スエスエスエ`; Table Create Table スエスエスエ CREATE TEMPORARY TABLE `スエスエスエ` ( `スケスケスケ` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW CREATE TABLE `スオスオスオ`; Table Create Table スオスオスオ CREATE TEMPORARY TABLE `スオスオスオ` ( `スコスコスコ` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW CREATE TABLE `縺ゅ≠縺A; Table Create Table 縺ゅ≠縺 CREATE TABLE `縺ゅ≠縺A ( `縺九°縺義 char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW CREATE TABLE `縺縺縺Я; Table Create Table 縺縺縺 CREATE TABLE `縺縺縺Я ( `縺阪″縺港 char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW CREATE TABLE `縺縺縺`; Table Create Table 縺縺縺 CREATE TABLE `縺縺縺` ( `縺上¥縺汁 char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW CREATE TABLE `縺医∴縺`; Table Create Table 縺医∴縺 CREATE TEMPORARY TABLE `縺医∴縺` ( `縺代¢縺疏 char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW CREATE TABLE `縺翫♀縺柿; Table Create Table 縺翫♀縺 CREATE TEMPORARY TABLE `縺翫♀縺柿 ( `縺薙%縺伝 char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW CREATE TABLE `鮴夜セ夜セ冒; Table Create Table 鮴夜セ夜セ CREATE TABLE `鮴夜セ夜セ冒 ( `荳ゆクゆクA char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW CREATE TABLE `鮴鈴セ鈴セ輿; Table Create Table 鮴鈴セ鈴セ CREATE TABLE `鮴鈴セ鈴セ輿 ( `荳荳荳Я char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW CREATE TABLE `鮴樣セ樣セ杼; Table Create Table 鮴樣セ樣セ CREATE TABLE `鮴樣セ樣セ杼 ( `荳荳荳` char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW CREATE TABLE `鮴。鮴。鮴。`; Table Create Table 鮴。鮴。鮴。 CREATE TEMPORARY TABLE `鮴。鮴。鮴。` ( `荳御ク御ク形 char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW CREATE TABLE `鮴「鮴「鮴「`; Table Create Table 鮴「鮴「鮴「 CREATE TEMPORARY TABLE `鮴「鮴「鮴「` ( `荳剃ク剃ク蛋 char(1) default NULL -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 DROP TABLE `スアスアスア`; DROP TABLE `スイスイスイ`; DROP TABLE `スウスウスウ`; @@ -490,11 +526,23 @@ CREATE TABLE `縺縺縺Я(`縺阪″縺港 char(1)) DEFAULT CHARSET = utf8 engine=BDB; CREATE TABLE `鮴夜セ夜セ冒(`荳ゆクゆクA char(1)) DEFAULT CHARSET = utf8 engine=BDB; CREATE TABLE `鮴鈴セ鈴セ輿(`荳荳荳Я char(1)) DEFAULT CHARSET = utf8 engine=BDB; CREATE TABLE IF NOT EXISTS `スアスアスア`(`スカスカスカ` char(1)) DEFAULT CHARSET = utf8 engine=BDB; +Warnings: +Note 1050 Table 'スアスアスア' already exists CREATE TABLE IF NOT EXISTS `スイスイスイ`(`スキスキスキ` char(1)) DEFAULT CHARSET = utf8 engine=BDB; +Warnings: +Note 1050 Table 'スイスイスイ' already exists CREATE TABLE IF NOT EXISTS `縺ゅ≠縺A(`縺九°縺義 char(1)) DEFAULT CHARSET = utf8 engine=BDB; +Warnings: +Note 1050 Table '縺ゅ≠縺' already exists CREATE TABLE IF NOT EXISTS `縺縺縺Я(`縺阪″縺港 char(1)) DEFAULT CHARSET = utf8 engine=BDB; +Warnings: +Note 1050 Table '縺縺縺' already exists CREATE TABLE IF NOT EXISTS `鮴夜セ夜セ冒(`荳ゆクゆクA char(1)) DEFAULT CHARSET = utf8 engine=BDB; +Warnings: +Note 1050 Table '鮴夜セ夜セ' already exists CREATE TABLE IF NOT EXISTS `鮴鈴セ鈴セ輿(`荳荳荳Я char(1)) DEFAULT CHARSET = utf8 engine=BDB; +Warnings: +Note 1050 Table '鮴鈴セ鈴セ' already exists CREATE TABLE IF NOT EXISTS `スウスウスウ`(`スクスクスク` char(1)) DEFAULT CHARSET = utf8 engine=BDB; CREATE TABLE IF NOT EXISTS `縺縺縺`(`縺上¥縺汁 char(1)) DEFAULT CHARSET = utf8 engine=BDB; CREATE TABLE IF NOT EXISTS `鮴樣セ樣セ杼(`荳荳荳`char(1)) DEFAULT CHARSET = utf8 engine=BDB; diff --git a/mysql-test/suite/jp/r/jp_enum_sjis.result b/mysql-test/suite/jp/r/jp_enum_sjis.result index 1e46dbffbb1..43994123e3b 100644 --- a/mysql-test/suite/jp/r/jp_enum_sjis.result +++ b/mysql-test/suite/jp/r/jp_enum_sjis.result @@ -137,19 +137,19 @@ Table Create Table T7 CREATE TABLE `T7` ( `C1` enum('ア','イ','ウ') default NULL, KEY `C1` (`C1`) -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis SHOW CREATE TABLE `T8`; Table Create Table T8 CREATE TABLE `T8` ( `C1` enum('あ','い','う') default NULL, KEY `C1` (`C1`) -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis SHOW CREATE TABLE `T9`; Table Create Table T9 CREATE TABLE `T9` ( `C1` enum('ソ','十','表') default NULL, KEY `C1` (`C1`) -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis SHOW CREATE TABLE `T10`; Table Create Table T10 CREATE TABLE `T10` ( @@ -219,134 +219,134 @@ ALTER TABLE ` SHOW CREATE TABLE `T1`; Table Create Table T1 CREATE TABLE `T1` ( - `C2` char(1) NOT NULL default '', + `C2` char(1) NOT NULL, `C1` enum('ア','イ','ウ') default NULL, KEY `C1` (`C1`) ) ENGINE=InnoDB DEFAULT CHARSET=sjis SHOW CREATE TABLE `T2`; Table Create Table T2 CREATE TABLE `T2` ( - `C2` char(1) NOT NULL default '', + `C2` char(1) NOT NULL, `C1` enum('あ','い','う') default NULL, KEY `C1` (`C1`) ) ENGINE=InnoDB DEFAULT CHARSET=sjis SHOW CREATE TABLE `T3`; Table Create Table T3 CREATE TABLE `T3` ( - `C2` char(1) NOT NULL default '', + `C2` char(1) NOT NULL, `C1` enum('ソ','十','表') default NULL, KEY `C1` (`C1`) ) ENGINE=InnoDB DEFAULT CHARSET=sjis SHOW CREATE TABLE `T4`; Table Create Table T4 CREATE TABLE `T4` ( - `C2` char(1) NOT NULL default '', + `C2` char(1) NOT NULL, `C1` enum('ア','イ','ウ') default NULL, KEY `C1` (`C1`) ) ENGINE=MyISAM DEFAULT CHARSET=sjis SHOW CREATE TABLE `T5`; Table Create Table T5 CREATE TABLE `T5` ( - `C2` char(1) NOT NULL default '', + `C2` char(1) NOT NULL, `C1` enum('あ','い','う') default NULL, KEY `C1` (`C1`) ) ENGINE=MyISAM DEFAULT CHARSET=sjis SHOW CREATE TABLE `T6`; Table Create Table T6 CREATE TABLE `T6` ( - `C2` char(1) NOT NULL default '', + `C2` char(1) NOT NULL, `C1` enum('ソ','十','表') default NULL, KEY `C1` (`C1`) ) ENGINE=MyISAM DEFAULT CHARSET=sjis SHOW CREATE TABLE `T7`; Table Create Table T7 CREATE TABLE `T7` ( - `C2` char(1) NOT NULL default '', + `C2` char(1) NOT NULL, `C1` enum('ア','イ','ウ') default NULL, KEY `C1` (`C1`) -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis SHOW CREATE TABLE `T8`; Table Create Table T8 CREATE TABLE `T8` ( - `C2` char(1) NOT NULL default '', + `C2` char(1) NOT NULL, `C1` enum('あ','い','う') default NULL, KEY `C1` (`C1`) -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis SHOW CREATE TABLE `T9`; Table Create Table T9 CREATE TABLE `T9` ( - `C2` char(1) NOT NULL default '', + `C2` char(1) NOT NULL, `C1` enum('ソ','十','表') default NULL, KEY `C1` (`C1`) -) ENGINE=HEAP DEFAULT CHARSET=sjis +) ENGINE=MEMORY DEFAULT CHARSET=sjis SHOW CREATE TABLE `T10`; Table Create Table T10 CREATE TABLE `T10` ( - `C2` char(1) NOT NULL default '', + `C2` char(1) NOT NULL, `C1` enum('ア','イ','ウ') default NULL, KEY `C1` (`C1`) ) ENGINE=BerkeleyDB DEFAULT CHARSET=sjis SHOW CREATE TABLE `T11`; Table Create Table T11 CREATE TABLE `T11` ( - `C2` char(1) NOT NULL default '', + `C2` char(1) NOT NULL, `C1` enum('あ','い','う') default NULL, KEY `C1` (`C1`) ) ENGINE=BerkeleyDB DEFAULT CHARSET=sjis SHOW CREATE TABLE `T12`; Table Create Table T12 CREATE TABLE `T12` ( - `C2` char(1) NOT NULL default '', + `C2` char(1) NOT NULL, `C1` enum('ソ','十','表') default NULL, KEY `C1` (`C1`) ) ENGINE=BerkeleyDB DEFAULT CHARSET=sjis DESC `T1`; Field Type Null Key Default Extra -C2 char(1) +C2 char(1) NO NULL C1 enum('ア','イ','ウ') YES MUL NULL DESC `T2`; Field Type Null Key Default Extra -C2 char(1) +C2 char(1) NO NULL C1 enum('あ','い','う') YES MUL NULL DESC `T3`; Field Type Null Key Default Extra -C2 char(1) +C2 char(1) NO NULL C1 enum('ソ','十','表') YES MUL NULL DESC `T4`; Field Type Null Key Default Extra -C2 char(1) +C2 char(1) NO NULL C1 enum('ア','イ','ウ') YES MUL NULL DESC `T5`; Field Type Null Key Default Extra -C2 char(1) +C2 char(1) NO NULL C1 enum('あ','い','う') YES MUL NULL DESC `T6`; Field Type Null Key Default Extra -C2 char(1) +C2 char(1) NO NULL C1 enum('ソ','十','表') YES MUL NULL DESC `T7`; Field Type Null Key Default Extra -C2 char(1) +C2 char(1) NO NULL C1 enum('ア','イ','ウ') YES MUL NULL DESC `T8`; Field Type Null Key Default Extra -C2 char(1) +C2 char(1) NO NULL C1 enum('あ','い','う') YES MUL NULL DESC `T9`; Field Type Null Key Default Extra -C2 char(1) +C2 char(1) NO NULL C1 enum('ソ','十','表') YES MUL NULL DESC `T10`; Field Type Null Key Default Extra -C2 char(1) +C2 char(1) NO NULL C1 enum('ア','イ','ウ') YES MUL NULL DESC `T11`; Field Type Null Key Default Extra -C2 char(1) +C2 char(1) NO NULL C1 enum('あ','い','う') YES MUL NULL DESC `T12`; Field Type Null Key Default Extra -C2 char(1) +C2 char(1) NO NULL C1 enum('ソ','十','表') YES MUL NULL DROP TABLE `T1`; DROP TABLE `T2`; diff --git a/mysql-test/suite/jp/r/jp_enum_ucs2.result b/mysql-test/suite/jp/r/jp_enum_ucs2.result index a84cace35fe..c41e6c262eb 100644 --- a/mysql-test/suite/jp/r/jp_enum_ucs2.result +++ b/mysql-test/suite/jp/r/jp_enum_ucs2.result @@ -138,19 +138,19 @@ Table Create Table 」ヤ」キ CREATE TABLE `」ヤ」キ` ( `」テ」ア` enum('竺','軸','宍') default NULL, KEY `」テ」ア` (`」テ」ア`) -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 SHOW CREATE TABLE `」ヤ」ク`; Table Create Table 」ヤ」ク CREATE TABLE `」ヤ」ク` ( `」テ」ア` enum('、「','、、','、ヲ') default NULL, KEY `」テ」ア` (`」テ」ア`) -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 SHOW CREATE TABLE `」ヤ」ケ`; Table Create Table 」ヤ」ケ CREATE TABLE `」ヤ」ケ` ( `」テ」ア` enum('常ワ','常ン','常゙') default NULL, KEY `」テ」ア` (`」テ」ア`) -) ENGINE=HEAP DEFAULT CHARSET=ucs2 +) ENGINE=MEMORY DEFAULT CHARSET=ucs2 SHOW CREATE TABLE `」ヤ」ア」ー`; Table Create Table 」ヤ」ア」ー CREATE TABLE `」ヤ」ア」ー` ( diff --git a/mysql-test/suite/jp/r/jp_enum_ujis.result b/mysql-test/suite/jp/r/jp_enum_ujis.result index dbc850b1368..9ba445eaba5 100644 --- a/mysql-test/suite/jp/r/jp_enum_ujis.result +++ b/mysql-test/suite/jp/r/jp_enum_ujis.result @@ -137,19 +137,19 @@ Table Create Table 」ヤ」キ CREATE TABLE `」ヤ」キ` ( `」テ」ア` enum('竺','軸','宍') default NULL, KEY `」テ」ア` (`」テ」ア`) -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis SHOW CREATE TABLE `」ヤ」ク`; Table Create Table 」ヤ」ク CREATE TABLE `」ヤ」ク` ( `」テ」ア` enum('、「','、、','、ヲ') default NULL, KEY `」テ」ア` (`」テ」ア`) -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis SHOW CREATE TABLE `」ヤ」ケ`; Table Create Table 」ヤ」ケ CREATE TABLE `」ヤ」ケ` ( `」テ」ア` enum('常ワ','常ン','常゙') default NULL, KEY `」テ」ア` (`」テ」ア`) -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis SHOW CREATE TABLE `」ヤ」ア」ー`; Table Create Table 」ヤ」ア」ー CREATE TABLE `」ヤ」ア」ー` ( @@ -219,134 +219,134 @@ ALTER TABLE ` SHOW CREATE TABLE `」ヤ」ア`; Table Create Table 」ヤ」ア CREATE TABLE `」ヤ」ア` ( - `」テ」イ` char(1) NOT NULL default '', + `」テ」イ` char(1) NOT NULL, `」テ」ア` enum('竺','軸','宍') default NULL, KEY `」テ」ア` (`」テ」ア`) ) ENGINE=InnoDB DEFAULT CHARSET=ujis SHOW CREATE TABLE `」ヤ」イ`; Table Create Table 」ヤ」イ CREATE TABLE `」ヤ」イ` ( - `」テ」イ` char(1) NOT NULL default '', + `」テ」イ` char(1) NOT NULL, `」テ」ア` enum('、「','、、','、ヲ') default NULL, KEY `」テ」ア` (`」テ」ア`) ) ENGINE=InnoDB DEFAULT CHARSET=ujis SHOW CREATE TABLE `」ヤ」ウ`; Table Create Table 」ヤ」ウ CREATE TABLE `」ヤ」ウ` ( - `」テ」イ` char(1) NOT NULL default '', + `」テ」イ` char(1) NOT NULL, `」テ」ア` enum('常ワ','常ン','常゙') default NULL, KEY `」テ」ア` (`」テ」ア`) ) ENGINE=InnoDB DEFAULT CHARSET=ujis SHOW CREATE TABLE `」ヤ」エ`; Table Create Table 」ヤ」エ CREATE TABLE `」ヤ」エ` ( - `」テ」イ` char(1) NOT NULL default '', + `」テ」イ` char(1) NOT NULL, `」テ」ア` enum('竺','軸','宍') default NULL, KEY `」テ」ア` (`」テ」ア`) ) ENGINE=MyISAM DEFAULT CHARSET=ujis SHOW CREATE TABLE `」ヤ」オ`; Table Create Table 」ヤ」オ CREATE TABLE `」ヤ」オ` ( - `」テ」イ` char(1) NOT NULL default '', + `」テ」イ` char(1) NOT NULL, `」テ」ア` enum('、「','、、','、ヲ') default NULL, KEY `」テ」ア` (`」テ」ア`) ) ENGINE=MyISAM DEFAULT CHARSET=ujis SHOW CREATE TABLE `」ヤ」カ`; Table Create Table 」ヤ」カ CREATE TABLE `」ヤ」カ` ( - `」テ」イ` char(1) NOT NULL default '', + `」テ」イ` char(1) NOT NULL, `」テ」ア` enum('常ワ','常ン','常゙') default NULL, KEY `」テ」ア` (`」テ」ア`) ) ENGINE=MyISAM DEFAULT CHARSET=ujis SHOW CREATE TABLE `」ヤ」キ`; Table Create Table 」ヤ」キ CREATE TABLE `」ヤ」キ` ( - `」テ」イ` char(1) NOT NULL default '', + `」テ」イ` char(1) NOT NULL, `」テ」ア` enum('竺','軸','宍') default NULL, KEY `」テ」ア` (`」テ」ア`) -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis SHOW CREATE TABLE `」ヤ」ク`; Table Create Table 」ヤ」ク CREATE TABLE `」ヤ」ク` ( - `」テ」イ` char(1) NOT NULL default '', + `」テ」イ` char(1) NOT NULL, `」テ」ア` enum('、「','、、','、ヲ') default NULL, KEY `」テ」ア` (`」テ」ア`) -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis SHOW CREATE TABLE `」ヤ」ケ`; Table Create Table 」ヤ」ケ CREATE TABLE `」ヤ」ケ` ( - `」テ」イ` char(1) NOT NULL default '', + `」テ」イ` char(1) NOT NULL, `」テ」ア` enum('常ワ','常ン','常゙') default NULL, KEY `」テ」ア` (`」テ」ア`) -) ENGINE=HEAP DEFAULT CHARSET=ujis +) ENGINE=MEMORY DEFAULT CHARSET=ujis SHOW CREATE TABLE `」ヤ」ア」ー`; Table Create Table 」ヤ」ア」ー CREATE TABLE `」ヤ」ア」ー` ( - `」テ」イ` char(1) NOT NULL default '', + `」テ」イ` char(1) NOT NULL, `」テ」ア` enum('竺','軸','宍') default NULL, KEY `」テ」ア` (`」テ」ア`) ) ENGINE=BerkeleyDB DEFAULT CHARSET=ujis SHOW CREATE TABLE `」ヤ」ア」ア`; Table Create Table 」ヤ」ア」ア CREATE TABLE `」ヤ」ア」ア` ( - `」テ」イ` char(1) NOT NULL default '', + `」テ」イ` char(1) NOT NULL, `」テ」ア` enum('、「','、、','、ヲ') default NULL, KEY `」テ」ア` (`」テ」ア`) ) ENGINE=BerkeleyDB DEFAULT CHARSET=ujis SHOW CREATE TABLE `」ヤ」ア」イ`; Table Create Table 」ヤ」ア」イ CREATE TABLE `」ヤ」ア」イ` ( - `」テ」イ` char(1) NOT NULL default '', + `」テ」イ` char(1) NOT NULL, `」テ」ア` enum('常ワ','常ン','常゙') default NULL, KEY `」テ」ア` (`」テ」ア`) ) ENGINE=BerkeleyDB DEFAULT CHARSET=ujis DESC `」ヤ」ア`; Field Type Null Key Default Extra -」テ」イ char(1) +」テ」イ char(1) NO NULL 」テ」ア enum('竺','軸','宍') YES MUL NULL DESC `」ヤ」イ`; Field Type Null Key Default Extra -」テ」イ char(1) +」テ」イ char(1) NO NULL 」テ」ア enum('、「','、、','、ヲ') YES MUL NULL DESC `」ヤ」ウ`; Field Type Null Key Default Extra -」テ」イ char(1) +」テ」イ char(1) NO NULL 」テ」ア enum('常ワ','常ン','常゙') YES MUL NULL DESC `」ヤ」エ`; Field Type Null Key Default Extra -」テ」イ char(1) +」テ」イ char(1) NO NULL 」テ」ア enum('竺','軸','宍') YES MUL NULL DESC `」ヤ」オ`; Field Type Null Key Default Extra -」テ」イ char(1) +」テ」イ char(1) NO NULL 」テ」ア enum('、「','、、','、ヲ') YES MUL NULL DESC `」ヤ」カ`; Field Type Null Key Default Extra -」テ」イ char(1) +」テ」イ char(1) NO NULL 」テ」ア enum('常ワ','常ン','常゙') YES MUL NULL DESC `」ヤ」キ`; Field Type Null Key Default Extra -」テ」イ char(1) +」テ」イ char(1) NO NULL 」テ」ア enum('竺','軸','宍') YES MUL NULL DESC `」ヤ」ク`; Field Type Null Key Default Extra -」テ」イ char(1) +」テ」イ char(1) NO NULL 」テ」ア enum('、「','、、','、ヲ') YES MUL NULL DESC `」ヤ」ケ`; Field Type Null Key Default Extra -」テ」イ char(1) +」テ」イ char(1) NO NULL 」テ」ア enum('常ワ','常ン','常゙') YES MUL NULL DESC `」ヤ」ア」ー`; Field Type Null Key Default Extra -」テ」イ char(1) +」テ」イ char(1) NO NULL 」テ」ア enum('竺','軸','宍') YES MUL NULL DESC `」ヤ」ア」ア`; Field Type Null Key Default Extra -」テ」イ char(1) +」テ」イ char(1) NO NULL 」テ」ア enum('、「','、、','、ヲ') YES MUL NULL DESC `」ヤ」ア」イ`; Field Type Null Key Default Extra -」テ」イ char(1) +」テ」イ char(1) NO NULL 」テ」ア enum('常ワ','常ン','常゙') YES MUL NULL DROP TABLE `」ヤ」ア`; DROP TABLE `」ヤ」イ`; diff --git a/mysql-test/suite/jp/r/jp_enum_utf8.result b/mysql-test/suite/jp/r/jp_enum_utf8.result index f2515871ece..c4ff9193447 100644 --- a/mysql-test/suite/jp/r/jp_enum_utf8.result +++ b/mysql-test/suite/jp/r/jp_enum_utf8.result @@ -137,19 +137,19 @@ Table Create Table シエシ CREATE TABLE `シエシ輿 ( `シ」シ疏 enum('スア','スイ','スウ') default NULL, KEY `シ」シ疏 (`シ」シ疏) -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW CREATE TABLE `シエシ倭; Table Create Table シエシ CREATE TABLE `シエシ倭 ( `シ」シ疏 enum('縺','縺','縺') default NULL, KEY `シ」シ疏 (`シ」シ疏) -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW CREATE TABLE `シエシ兪; Table Create Table シエシ CREATE TABLE `シエシ兪 ( `シ」シ疏 enum('鮴','鮴','鮴') default NULL, KEY `シ」シ疏 (`シ」シ疏) -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW CREATE TABLE `シエシ托シ秦; Table Create Table シエシ托シ CREATE TABLE `シエシ托シ秦 ( @@ -219,134 +219,134 @@ ALTER TABLE `シエシ托シ蛋 ADD `シ」シ蛋 CHAR(1) NOT NULL FIRST; SHOW CREATE TABLE `シエシ疏; Table Create Table シエシ CREATE TABLE `シエシ疏 ( - `シ」シ蛋 char(1) NOT NULL default '', + `シ」シ蛋 char(1) NOT NULL, `シ」シ疏 enum('スア','スイ','スウ') default NULL, KEY `シ」シ疏 (`シ」シ疏) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 SHOW CREATE TABLE `シエシ蛋; Table Create Table シエシ CREATE TABLE `シエシ蛋 ( - `シ」シ蛋 char(1) NOT NULL default '', + `シ」シ蛋 char(1) NOT NULL, `シ」シ疏 enum('縺','縺','縺') default NULL, KEY `シ」シ疏 (`シ」シ疏) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 SHOW CREATE TABLE `シエシ伝; Table Create Table シエシ CREATE TABLE `シエシ伝 ( - `シ」シ蛋 char(1) NOT NULL default '', + `シ」シ蛋 char(1) NOT NULL, `シ」シ疏 enum('鮴','鮴','鮴') default NULL, KEY `シ」シ疏 (`シ」シ疏) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 SHOW CREATE TABLE `シエシ覗; Table Create Table シエシ CREATE TABLE `シエシ覗 ( - `シ」シ蛋 char(1) NOT NULL default '', + `シ」シ蛋 char(1) NOT NULL, `シ」シ疏 enum('スア','スイ','スウ') default NULL, KEY `シ」シ疏 (`シ」シ疏) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 SHOW CREATE TABLE `シエシ描; Table Create Table シエシ CREATE TABLE `シエシ描 ( - `シ」シ蛋 char(1) NOT NULL default '', + `シ」シ蛋 char(1) NOT NULL, `シ」シ疏 enum('縺','縺','縺') default NULL, KEY `シ」シ疏 (`シ」シ疏) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 SHOW CREATE TABLE `シエシ冒; Table Create Table シエシ CREATE TABLE `シエシ冒 ( - `シ」シ蛋 char(1) NOT NULL default '', + `シ」シ蛋 char(1) NOT NULL, `シ」シ疏 enum('鮴','鮴','鮴') default NULL, KEY `シ」シ疏 (`シ」シ疏) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 SHOW CREATE TABLE `シエシ輿; Table Create Table シエシ CREATE TABLE `シエシ輿 ( - `シ」シ蛋 char(1) NOT NULL default '', + `シ」シ蛋 char(1) NOT NULL, `シ」シ疏 enum('スア','スイ','スウ') default NULL, KEY `シ」シ疏 (`シ」シ疏) -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW CREATE TABLE `シエシ倭; Table Create Table シエシ CREATE TABLE `シエシ倭 ( - `シ」シ蛋 char(1) NOT NULL default '', + `シ」シ蛋 char(1) NOT NULL, `シ」シ疏 enum('縺','縺','縺') default NULL, KEY `シ」シ疏 (`シ」シ疏) -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW CREATE TABLE `シエシ兪; Table Create Table シエシ CREATE TABLE `シエシ兪 ( - `シ」シ蛋 char(1) NOT NULL default '', + `シ」シ蛋 char(1) NOT NULL, `シ」シ疏 enum('鮴','鮴','鮴') default NULL, KEY `シ」シ疏 (`シ」シ疏) -) ENGINE=HEAP DEFAULT CHARSET=utf8 +) ENGINE=MEMORY DEFAULT CHARSET=utf8 SHOW CREATE TABLE `シエシ托シ秦; Table Create Table シエシ托シ CREATE TABLE `シエシ托シ秦 ( - `シ」シ蛋 char(1) NOT NULL default '', + `シ」シ蛋 char(1) NOT NULL, `シ」シ疏 enum('スア','スイ','スウ') default NULL, KEY `シ」シ疏 (`シ」シ疏) ) ENGINE=BerkeleyDB DEFAULT CHARSET=utf8 SHOW CREATE TABLE `シエシ托シ疏; Table Create Table シエシ托シ CREATE TABLE `シエシ托シ疏 ( - `シ」シ蛋 char(1) NOT NULL default '', + `シ」シ蛋 char(1) NOT NULL, `シ」シ疏 enum('縺','縺','縺') default NULL, KEY `シ」シ疏 (`シ」シ疏) ) ENGINE=BerkeleyDB DEFAULT CHARSET=utf8 SHOW CREATE TABLE `シエシ托シ蛋; Table Create Table シエシ托シ CREATE TABLE `シエシ托シ蛋 ( - `シ」シ蛋 char(1) NOT NULL default '', + `シ」シ蛋 char(1) NOT NULL, `シ」シ疏 enum('鮴','鮴','鮴') default NULL, KEY `シ」シ疏 (`シ」シ疏) ) ENGINE=BerkeleyDB DEFAULT CHARSET=utf8 DESC `シエシ疏; Field Type Null Key Default Extra -シ」シ char(1) +シ」シ char(1) NO NULL シ」シ enum('スア','スイ','スウ') YES MUL NULL DESC `シエシ蛋; Field Type Null Key Default Extra -シ」シ char(1) +シ」シ char(1) NO NULL シ」シ enum('縺','縺','縺') YES MUL NULL DESC `シエシ伝; Field Type Null Key Default Extra -シ」シ char(1) +シ」シ char(1) NO NULL シ」シ enum('鮴','鮴','鮴') YES MUL NULL DESC `シエシ覗; Field Type Null Key Default Extra -シ」シ char(1) +シ」シ char(1) NO NULL シ」シ enum('スア','スイ','スウ') YES MUL NULL DESC `シエシ描; Field Type Null Key Default Extra -シ」シ char(1) +シ」シ char(1) NO NULL シ」シ enum('縺','縺','縺') YES MUL NULL DESC `シエシ冒; Field Type Null Key Default Extra -シ」シ char(1) +シ」シ char(1) NO NULL シ」シ enum('鮴','鮴','鮴') YES MUL NULL DESC `シエシ輿; Field Type Null Key Default Extra -シ」シ char(1) +シ」シ char(1) NO NULL シ」シ enum('スア','スイ','スウ') YES MUL NULL DESC `シエシ倭; Field Type Null Key Default Extra -シ」シ char(1) +シ」シ char(1) NO NULL シ」シ enum('縺','縺','縺') YES MUL NULL DESC `シエシ兪; Field Type Null Key Default Extra -シ」シ char(1) +シ」シ char(1) NO NULL シ」シ enum('鮴','鮴','鮴') YES MUL NULL DESC `シエシ托シ秦; Field Type Null Key Default Extra -シ」シ char(1) +シ」シ char(1) NO NULL シ」シ enum('スア','スイ','スウ') YES MUL NULL DESC `シエシ托シ疏; Field Type Null Key Default Extra -シ」シ char(1) +シ」シ char(1) NO NULL シ」シ enum('縺','縺','縺') YES MUL NULL DESC `シエシ托シ蛋; Field Type Null Key Default Extra -シ」シ char(1) +シ」シ char(1) NO NULL シ」シ enum('鮴','鮴','鮴') YES MUL NULL DROP TABLE `シエシ疏; DROP TABLE `シエシ蛋; diff --git a/mysql-test/suite/jp/r/jp_join_sjis.result b/mysql-test/suite/jp/r/jp_join_sjis.result index a5ccc58ae4c..95df2d5488e 100644 --- a/mysql-test/suite/jp/r/jp_join_sjis.result +++ b/mysql-test/suite/jp/r/jp_join_sjis.result @@ -71,31 +71,31 @@ SELECT * FROM ` カ ア サ ア SELECT * FROM `T1a` JOIN `T1b` USING (`C1`); -C1 C1 -ア ア +C1 +ア SELECT * FROM `T1a` INNER JOIN `T1b` USING (`C1`); -C1 C1 -ア ア +C1 +ア SELECT * FROM `T1a` CROSS JOIN `T1b`; C1 C1 ア ア カ ア サ ア SELECT * FROM `T1a` LEFT JOIN `T1b` USING (`C1`); -C1 C1 -ア ア -カ NULL -サ NULL +C1 +ア +カ +サ SELECT * FROM `T1a` LEFT JOIN `T1b` ON (`T1a`.`C1` = `T1b`.`C1`); C1 C1 ア ア カ NULL サ NULL SELECT * FROM `T1b` RIGHT JOIN `T1a` USING (`C1`); -C1 C1 -ア ア -NULL カ -NULL サ +C1 +ア +カ +サ SELECT * FROM `T1b` RIGHT JOIN `T1a` ON (`T1a`.`C1` = `T1b`.`C1`); C1 C1 ア ア @@ -112,31 +112,31 @@ SELECT * FROM ` か あ さ あ SELECT * FROM `T2a` JOIN `T2b` USING (`C1`); -C1 C1 -あ あ +C1 +あ SELECT * FROM `T2a` INNER JOIN `T2b` USING (`C1`); -C1 C1 -あ あ +C1 +あ SELECT * FROM `T2a` CROSS JOIN `T2b`; C1 C1 あ あ か あ さ あ SELECT * FROM `T2a` LEFT JOIN `T2b` USING (`C1`); -C1 C1 -あ あ -か NULL -さ NULL +C1 +あ +か +さ SELECT * FROM `T2a` LEFT JOIN `T2b` ON (`T2a`.`C1` = `T2b`.`C1`); C1 C1 あ あ か NULL さ NULL SELECT * FROM `T2b` RIGHT JOIN `T2a` USING (`C1`); -C1 C1 -あ あ -NULL か -NULL さ +C1 +あ +か +さ SELECT * FROM `T2b` RIGHT JOIN `T2a` ON (`T2a`.`C1` = `T2b`.`C1`); C1 C1 あ あ @@ -153,31 +153,31 @@ SELECT * FROM ` 十 ソ 表 ソ SELECT * FROM `T3a` JOIN `T3b` USING (`C1`); -C1 C1 -ソ ソ +C1 +ソ SELECT * FROM `T3a` INNER JOIN `T3b` USING (`C1`); -C1 C1 -ソ ソ +C1 +ソ SELECT * FROM `T3a` CROSS JOIN `T3b`; C1 C1 ソ ソ 十 ソ 表 ソ SELECT * FROM `T3a` LEFT JOIN `T3b` USING (`C1`); -C1 C1 -ソ ソ -十 NULL -表 NULL +C1 +ソ +十 +表 SELECT * FROM `T3a` LEFT JOIN `T3b` ON (`T3a`.`C1` = `T3b`.`C1`); C1 C1 ソ ソ 十 NULL 表 NULL SELECT * FROM `T3b` RIGHT JOIN `T3a` USING (`C1`); -C1 C1 -ソ ソ -NULL 十 -NULL 表 +C1 +ソ +十 +表 SELECT * FROM `T3b` RIGHT JOIN `T3a` ON (`T3a`.`C1` = `T3b`.`C1`); C1 C1 ソ ソ @@ -194,31 +194,31 @@ SELECT * FROM ` カ ア サ ア SELECT * FROM `T4a` JOIN `T4b` USING (`C1`); -C1 C1 -ア ア +C1 +ア SELECT * FROM `T4a` INNER JOIN `T4b` USING (`C1`); -C1 C1 -ア ア +C1 +ア SELECT * FROM `T4a` CROSS JOIN `T4b`; C1 C1 ア ア カ ア サ ア SELECT * FROM `T4a` LEFT JOIN `T4b` USING (`C1`); -C1 C1 -ア ア -カ NULL -サ NULL +C1 +ア +カ +サ SELECT * FROM `T4a` LEFT JOIN `T4b` ON (`T4a`.`C1` = `T4b`.`C1`); C1 C1 ア ア カ NULL サ NULL SELECT * FROM `T4b` RIGHT JOIN `T4a` USING (`C1`); -C1 C1 -ア ア -NULL カ -NULL サ +C1 +ア +カ +サ SELECT * FROM `T4b` RIGHT JOIN `T4a` ON (`T4a`.`C1` = `T4b`.`C1`); C1 C1 ア ア @@ -235,31 +235,31 @@ SELECT * FROM ` か あ さ あ SELECT * FROM `T5a` JOIN `T5b` USING (`C1`); -C1 C1 -あ あ +C1 +あ SELECT * FROM `T5a` INNER JOIN `T5b` USING (`C1`); -C1 C1 -あ あ +C1 +あ SELECT * FROM `T5a` CROSS JOIN `T5b`; C1 C1 あ あ か あ さ あ SELECT * FROM `T5a` LEFT JOIN `T5b` USING (`C1`); -C1 C1 -あ あ -か NULL -さ NULL +C1 +あ +か +さ SELECT * FROM `T5a` LEFT JOIN `T5b` ON (`T5a`.`C1` = `T5b`.`C1`); C1 C1 あ あ か NULL さ NULL SELECT * FROM `T5b` RIGHT JOIN `T5a` USING (`C1`); -C1 C1 -あ あ -NULL か -NULL さ +C1 +あ +か +さ SELECT * FROM `T5b` RIGHT JOIN `T5a` ON (`T5a`.`C1` = `T5b`.`C1`); C1 C1 あ あ @@ -276,31 +276,31 @@ SELECT * FROM ` 十 ソ 表 ソ SELECT * FROM `T6a` JOIN `T6b` USING (`C1`); -C1 C1 -ソ ソ +C1 +ソ SELECT * FROM `T6a` INNER JOIN `T6b` USING (`C1`); -C1 C1 -ソ ソ +C1 +ソ SELECT * FROM `T6a` CROSS JOIN `T6b`; C1 C1 ソ ソ 十 ソ 表 ソ SELECT * FROM `T6a` LEFT JOIN `T6b` USING (`C1`); -C1 C1 -ソ ソ -十 NULL -表 NULL +C1 +ソ +十 +表 SELECT * FROM `T6a` LEFT JOIN `T6b` ON (`T6a`.`C1` = `T6b`.`C1`); C1 C1 ソ ソ 十 NULL 表 NULL SELECT * FROM `T6b` RIGHT JOIN `T6a` USING (`C1`); -C1 C1 -ソ ソ -NULL 十 -NULL 表 +C1 +ソ +十 +表 SELECT * FROM `T6b` RIGHT JOIN `T6a` ON (`T6a`.`C1` = `T6b`.`C1`); C1 C1 ソ ソ @@ -317,31 +317,31 @@ SELECT * FROM ` カ ア サ ア SELECT * FROM `T7a` JOIN `T7b` USING (`C1`); -C1 C1 -ア ア +C1 +ア SELECT * FROM `T7a` INNER JOIN `T7b` USING (`C1`); -C1 C1 -ア ア +C1 +ア SELECT * FROM `T7a` CROSS JOIN `T7b`; C1 C1 ア ア カ ア サ ア SELECT * FROM `T7a` LEFT JOIN `T7b` USING (`C1`); -C1 C1 -ア ア -カ NULL -サ NULL +C1 +ア +カ +サ SELECT * FROM `T7a` LEFT JOIN `T7b` ON (`T7a`.`C1` = `T7b`.`C1`); C1 C1 ア ア カ NULL サ NULL SELECT * FROM `T7b` RIGHT JOIN `T7a` USING (`C1`); -C1 C1 -ア ア -NULL カ -NULL サ +C1 +ア +カ +サ SELECT * FROM `T7b` RIGHT JOIN `T7a` ON (`T7a`.`C1` = `T7b`.`C1`); C1 C1 ア ア @@ -358,31 +358,31 @@ SELECT * FROM ` か あ さ あ SELECT * FROM `T8a` JOIN `T8b` USING (`C1`); -C1 C1 -あ あ +C1 +あ SELECT * FROM `T8a` INNER JOIN `T8b` USING (`C1`); -C1 C1 -あ あ +C1 +あ SELECT * FROM `T8a` CROSS JOIN `T8b`; C1 C1 あ あ か あ さ あ SELECT * FROM `T8a` LEFT JOIN `T8b` USING (`C1`); -C1 C1 -あ あ -か NULL -さ NULL +C1 +あ +か +さ SELECT * FROM `T8a` LEFT JOIN `T8b` ON (`T8a`.`C1` = `T8b`.`C1`); C1 C1 あ あ か NULL さ NULL SELECT * FROM `T8b` RIGHT JOIN `T8a` USING (`C1`); -C1 C1 -あ あ -NULL か -NULL さ +C1 +あ +か +さ SELECT * FROM `T8b` RIGHT JOIN `T8a` ON (`T8a`.`C1` = `T8b`.`C1`); C1 C1 あ あ @@ -399,31 +399,31 @@ SELECT * FROM ` 十 ソ 表 ソ SELECT * FROM `T9a` JOIN `T9b` USING (`C1`); -C1 C1 -ソ ソ +C1 +ソ SELECT * FROM `T9a` INNER JOIN `T9b` USING (`C1`); -C1 C1 -ソ ソ +C1 +ソ SELECT * FROM `T9a` CROSS JOIN `T9b`; C1 C1 ソ ソ 十 ソ 表 ソ SELECT * FROM `T9a` LEFT JOIN `T9b` USING (`C1`); -C1 C1 -ソ ソ -十 NULL -表 NULL +C1 +ソ +十 +表 SELECT * FROM `T9a` LEFT JOIN `T9b` ON (`T9a`.`C1` = `T9b`.`C1`); C1 C1 ソ ソ 十 NULL 表 NULL SELECT * FROM `T9b` RIGHT JOIN `T9a` USING (`C1`); -C1 C1 -ソ ソ -NULL 十 -NULL 表 +C1 +ソ +十 +表 SELECT * FROM `T9b` RIGHT JOIN `T9a` ON (`T9a`.`C1` = `T9b`.`C1`); C1 C1 ソ ソ @@ -440,31 +440,31 @@ SELECT * FROM ` カ ア サ ア SELECT * FROM `T10a` JOIN `T10b` USING (`C1`); -C1 C1 -ア ア +C1 +ア SELECT * FROM `T10a` INNER JOIN `T10b` USING (`C1`); -C1 C1 -ア ア +C1 +ア SELECT * FROM `T10a` CROSS JOIN `T10b`; C1 C1 ア ア カ ア サ ア SELECT * FROM `T10a` LEFT JOIN `T10b` USING (`C1`); -C1 C1 -ア ア -カ NULL -サ NULL +C1 +ア +カ +サ SELECT * FROM `T10a` LEFT JOIN `T10b` ON (`T10a`.`C1` = `T10b`.`C1`); C1 C1 ア ア カ NULL サ NULL SELECT * FROM `T10b` RIGHT JOIN `T10a` USING (`C1`); -C1 C1 -ア ア -NULL カ -NULL サ +C1 +ア +カ +サ SELECT * FROM `T10b` RIGHT JOIN `T10a` ON (`T10a`.`C1` = `T10b`.`C1`); C1 C1 ア ア @@ -481,31 +481,31 @@ SELECT * FROM ` か あ さ あ SELECT * FROM `T11a` JOIN `T11b` USING (`C1`); -C1 C1 -あ あ +C1 +あ SELECT * FROM `T11a` INNER JOIN `T11b` USING (`C1`); -C1 C1 -あ あ +C1 +あ SELECT * FROM `T11a` CROSS JOIN `T11b`; C1 C1 あ あ か あ さ あ SELECT * FROM `T11a` LEFT JOIN `T11b` USING (`C1`); -C1 C1 -あ あ -か NULL -さ NULL +C1 +あ +か +さ SELECT * FROM `T11a` LEFT JOIN `T11b` ON (`T11a`.`C1` = `T11b`.`C1`); C1 C1 あ あ か NULL さ NULL SELECT * FROM `T11b` RIGHT JOIN `T11a` USING (`C1`); -C1 C1 -あ あ -NULL か -NULL さ +C1 +あ +か +さ SELECT * FROM `T11b` RIGHT JOIN `T11a` ON (`T11a`.`C1` = `T11b`.`C1`); C1 C1 あ あ @@ -522,31 +522,31 @@ SELECT * FROM ` 十 ソ 表 ソ SELECT * FROM `T12a` JOIN `T12b` USING (`C1`); -C1 C1 -ソ ソ +C1 +ソ SELECT * FROM `T12a` INNER JOIN `T12b` USING (`C1`); -C1 C1 -ソ ソ +C1 +ソ SELECT * FROM `T12a` CROSS JOIN `T12b`; C1 C1 ソ ソ 十 ソ 表 ソ SELECT * FROM `T12a` LEFT JOIN `T12b` USING (`C1`); -C1 C1 -ソ ソ -十 NULL -表 NULL +C1 +ソ +十 +表 SELECT * FROM `T12a` LEFT JOIN `T12b` ON (`T12a`.`C1` = `T12b`.`C1`); C1 C1 ソ ソ 十 NULL 表 NULL SELECT * FROM `T12b` RIGHT JOIN `T12a` USING (`C1`); -C1 C1 -ソ ソ -NULL 十 -NULL 表 +C1 +ソ +十 +表 SELECT * FROM `T12b` RIGHT JOIN `T12a` ON (`T12a`.`C1` = `T12b`.`C1`); C1 C1 ソ ソ diff --git a/mysql-test/suite/jp/r/jp_join_ucs2.result b/mysql-test/suite/jp/r/jp_join_ucs2.result index 76988f15cc4..ac19554eb5a 100644 --- a/mysql-test/suite/jp/r/jp_join_ucs2.result +++ b/mysql-test/suite/jp/r/jp_join_ucs2.result @@ -72,31 +72,31 @@ SELECT * FROM ` 叱 竺 悉 竺 SELECT * FROM `」ヤ」アa` JOIN `」ヤ」アb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 +」テ」ア +竺 SELECT * FROM `」ヤ」アa` INNER JOIN `」ヤ」アb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 +」テ」ア +竺 SELECT * FROM `」ヤ」アa` CROSS JOIN `」ヤ」アb`; 」テ」ア 」テ」ア 竺 竺 叱 竺 悉 竺 SELECT * FROM `」ヤ」アa` LEFT JOIN `」ヤ」アb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 -叱 NULL -悉 NULL +」テ」ア +竺 +叱 +悉 SELECT * FROM `」ヤ」アa` LEFT JOIN `」ヤ」アb` ON (`」ヤ」アa`.`」テ」ア` = `」ヤ」アb`.`」テ」ア`); 」テ」ア 」テ」ア 竺 竺 叱 NULL 悉 NULL SELECT * FROM `」ヤ」アb` RIGHT JOIN `」ヤ」アa` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 -NULL 叱 -NULL 悉 +」テ」ア +竺 +叱 +悉 SELECT * FROM `」ヤ」アb` RIGHT JOIN `」ヤ」アa` ON (`」ヤ」アa`.`」テ」ア` = `」ヤ」アb`.`」テ」ア`); 」テ」ア 」テ」ア 竺 竺 @@ -113,31 +113,31 @@ SELECT * FROM ` 、ォ 、「 、オ 、「 SELECT * FROM `」ヤ」イa` JOIN `」ヤ」イb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 +」テ」ア +、「 SELECT * FROM `」ヤ」イa` INNER JOIN `」ヤ」イb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 +」テ」ア +、「 SELECT * FROM `」ヤ」イa` CROSS JOIN `」ヤ」イb`; 」テ」ア 」テ」ア 、「 、「 、ォ 、「 、オ 、「 SELECT * FROM `」ヤ」イa` LEFT JOIN `」ヤ」イb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 -、ォ NULL -、オ NULL +」テ」ア +、「 +、ォ +、オ SELECT * FROM `」ヤ」イa` LEFT JOIN `」ヤ」イb` ON (`」ヤ」イa`.`」テ」ア` = `」ヤ」イb`.`」テ」ア`); 」テ」ア 」テ」ア 、「 、「 、ォ NULL 、オ NULL SELECT * FROM `」ヤ」イb` RIGHT JOIN `」ヤ」イa` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 -NULL 、ォ -NULL 、オ +」テ」ア +、「 +、ォ +、オ SELECT * FROM `」ヤ」イb` RIGHT JOIN `」ヤ」イa` ON (`」ヤ」イa`.`」テ」ア` = `」ヤ」イb`.`」テ」ア`); 」テ」ア 」テ」ア 、「 、「 @@ -154,31 +154,31 @@ SELECT * FROM ` 常ン 常ワ 常゙ 常ワ SELECT * FROM `」ヤ」ウa` JOIN `」ヤ」ウb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ +」テ」ア +常ワ SELECT * FROM `」ヤ」ウa` INNER JOIN `」ヤ」ウb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ +」テ」ア +常ワ SELECT * FROM `」ヤ」ウa` CROSS JOIN `」ヤ」ウb`; 」テ」ア 」テ」ア 常ワ 常ワ 常ン 常ワ 常゙ 常ワ SELECT * FROM `」ヤ」ウa` LEFT JOIN `」ヤ」ウb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ -常ン NULL -常゙ NULL +」テ」ア +常ワ +常ン +常゙ SELECT * FROM `」ヤ」ウa` LEFT JOIN `」ヤ」ウb` ON (`」ヤ」ウa`.`」テ」ア` = `」ヤ」ウb`.`」テ」ア`); 」テ」ア 」テ」ア 常ワ 常ワ 常ン NULL 常゙ NULL SELECT * FROM `」ヤ」ウb` RIGHT JOIN `」ヤ」ウa` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ -NULL 常ン -NULL 常゙ +」テ」ア +常ワ +常ン +常゙ SELECT * FROM `」ヤ」ウb` RIGHT JOIN `」ヤ」ウa` ON (`」ヤ」ウa`.`」テ」ア` = `」ヤ」ウb`.`」テ」ア`); 」テ」ア 」テ」ア 常ワ 常ワ @@ -195,31 +195,31 @@ SELECT * FROM ` 叱 竺 悉 竺 SELECT * FROM `」ヤ」エa` JOIN `」ヤ」エb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 +」テ」ア +竺 SELECT * FROM `」ヤ」エa` INNER JOIN `」ヤ」エb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 +」テ」ア +竺 SELECT * FROM `」ヤ」エa` CROSS JOIN `」ヤ」エb`; 」テ」ア 」テ」ア 竺 竺 叱 竺 悉 竺 SELECT * FROM `」ヤ」エa` LEFT JOIN `」ヤ」エb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 -叱 NULL -悉 NULL +」テ」ア +竺 +叱 +悉 SELECT * FROM `」ヤ」エa` LEFT JOIN `」ヤ」エb` ON (`」ヤ」エa`.`」テ」ア` = `」ヤ」エb`.`」テ」ア`); 」テ」ア 」テ」ア 竺 竺 叱 NULL 悉 NULL SELECT * FROM `」ヤ」エb` RIGHT JOIN `」ヤ」エa` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 -NULL 叱 -NULL 悉 +」テ」ア +竺 +叱 +悉 SELECT * FROM `」ヤ」エb` RIGHT JOIN `」ヤ」エa` ON (`」ヤ」エa`.`」テ」ア` = `」ヤ」エb`.`」テ」ア`); 」テ」ア 」テ」ア 竺 竺 @@ -236,31 +236,31 @@ SELECT * FROM ` 、ォ 、「 、オ 、「 SELECT * FROM `」ヤ」オa` JOIN `」ヤ」オb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 +」テ」ア +、「 SELECT * FROM `」ヤ」オa` INNER JOIN `」ヤ」オb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 +」テ」ア +、「 SELECT * FROM `」ヤ」オa` CROSS JOIN `」ヤ」オb`; 」テ」ア 」テ」ア 、「 、「 、ォ 、「 、オ 、「 SELECT * FROM `」ヤ」オa` LEFT JOIN `」ヤ」オb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 -、ォ NULL -、オ NULL +」テ」ア +、「 +、ォ +、オ SELECT * FROM `」ヤ」オa` LEFT JOIN `」ヤ」オb` ON (`」ヤ」オa`.`」テ」ア` = `」ヤ」オb`.`」テ」ア`); 」テ」ア 」テ」ア 、「 、「 、ォ NULL 、オ NULL SELECT * FROM `」ヤ」オb` RIGHT JOIN `」ヤ」オa` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 -NULL 、ォ -NULL 、オ +」テ」ア +、「 +、ォ +、オ SELECT * FROM `」ヤ」オb` RIGHT JOIN `」ヤ」オa` ON (`」ヤ」オa`.`」テ」ア` = `」ヤ」オb`.`」テ」ア`); 」テ」ア 」テ」ア 、「 、「 @@ -277,31 +277,31 @@ SELECT * FROM ` 常ン 常ワ 常゙ 常ワ SELECT * FROM `」ヤ」カa` JOIN `」ヤ」カb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ +」テ」ア +常ワ SELECT * FROM `」ヤ」カa` INNER JOIN `」ヤ」カb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ +」テ」ア +常ワ SELECT * FROM `」ヤ」カa` CROSS JOIN `」ヤ」カb`; 」テ」ア 」テ」ア 常ワ 常ワ 常ン 常ワ 常゙ 常ワ SELECT * FROM `」ヤ」カa` LEFT JOIN `」ヤ」カb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ -常ン NULL -常゙ NULL +」テ」ア +常ワ +常ン +常゙ SELECT * FROM `」ヤ」カa` LEFT JOIN `」ヤ」カb` ON (`」ヤ」カa`.`」テ」ア` = `」ヤ」カb`.`」テ」ア`); 」テ」ア 」テ」ア 常ワ 常ワ 常ン NULL 常゙ NULL SELECT * FROM `」ヤ」カb` RIGHT JOIN `」ヤ」カa` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ -NULL 常ン -NULL 常゙ +」テ」ア +常ワ +常ン +常゙ SELECT * FROM `」ヤ」カb` RIGHT JOIN `」ヤ」カa` ON (`」ヤ」カa`.`」テ」ア` = `」ヤ」カb`.`」テ」ア`); 」テ」ア 」テ」ア 常ワ 常ワ @@ -318,31 +318,31 @@ SELECT * FROM ` 叱 竺 悉 竺 SELECT * FROM `」ヤ」キa` JOIN `」ヤ」キb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 +」テ」ア +竺 SELECT * FROM `」ヤ」キa` INNER JOIN `」ヤ」キb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 +」テ」ア +竺 SELECT * FROM `」ヤ」キa` CROSS JOIN `」ヤ」キb`; 」テ」ア 」テ」ア 竺 竺 叱 竺 悉 竺 SELECT * FROM `」ヤ」キa` LEFT JOIN `」ヤ」キb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 -叱 NULL -悉 NULL +」テ」ア +竺 +叱 +悉 SELECT * FROM `」ヤ」キa` LEFT JOIN `」ヤ」キb` ON (`」ヤ」キa`.`」テ」ア` = `」ヤ」キb`.`」テ」ア`); 」テ」ア 」テ」ア 竺 竺 叱 NULL 悉 NULL SELECT * FROM `」ヤ」キb` RIGHT JOIN `」ヤ」キa` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 -NULL 叱 -NULL 悉 +」テ」ア +竺 +叱 +悉 SELECT * FROM `」ヤ」キb` RIGHT JOIN `」ヤ」キa` ON (`」ヤ」キa`.`」テ」ア` = `」ヤ」キb`.`」テ」ア`); 」テ」ア 」テ」ア 竺 竺 @@ -359,31 +359,31 @@ SELECT * FROM ` 、ォ 、「 、オ 、「 SELECT * FROM `」ヤ」クa` JOIN `」ヤ」クb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 +」テ」ア +、「 SELECT * FROM `」ヤ」クa` INNER JOIN `」ヤ」クb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 +」テ」ア +、「 SELECT * FROM `」ヤ」クa` CROSS JOIN `」ヤ」クb`; 」テ」ア 」テ」ア 、「 、「 、ォ 、「 、オ 、「 SELECT * FROM `」ヤ」クa` LEFT JOIN `」ヤ」クb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 -、ォ NULL -、オ NULL +」テ」ア +、「 +、ォ +、オ SELECT * FROM `」ヤ」クa` LEFT JOIN `」ヤ」クb` ON (`」ヤ」クa`.`」テ」ア` = `」ヤ」クb`.`」テ」ア`); 」テ」ア 」テ」ア 、「 、「 、ォ NULL 、オ NULL SELECT * FROM `」ヤ」クb` RIGHT JOIN `」ヤ」クa` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 -NULL 、ォ -NULL 、オ +」テ」ア +、「 +、ォ +、オ SELECT * FROM `」ヤ」クb` RIGHT JOIN `」ヤ」クa` ON (`」ヤ」クa`.`」テ」ア` = `」ヤ」クb`.`」テ」ア`); 」テ」ア 」テ」ア 、「 、「 @@ -400,31 +400,31 @@ SELECT * FROM ` 常ン 常ワ 常゙ 常ワ SELECT * FROM `」ヤ」ケa` JOIN `」ヤ」ケb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ +」テ」ア +常ワ SELECT * FROM `」ヤ」ケa` INNER JOIN `」ヤ」ケb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ +」テ」ア +常ワ SELECT * FROM `」ヤ」ケa` CROSS JOIN `」ヤ」ケb`; 」テ」ア 」テ」ア 常ワ 常ワ 常ン 常ワ 常゙ 常ワ SELECT * FROM `」ヤ」ケa` LEFT JOIN `」ヤ」ケb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ -常ン NULL -常゙ NULL +」テ」ア +常ワ +常ン +常゙ SELECT * FROM `」ヤ」ケa` LEFT JOIN `」ヤ」ケb` ON (`」ヤ」ケa`.`」テ」ア` = `」ヤ」ケb`.`」テ」ア`); 」テ」ア 」テ」ア 常ワ 常ワ 常ン NULL 常゙ NULL SELECT * FROM `」ヤ」ケb` RIGHT JOIN `」ヤ」ケa` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ -NULL 常ン -NULL 常゙ +」テ」ア +常ワ +常ン +常゙ SELECT * FROM `」ヤ」ケb` RIGHT JOIN `」ヤ」ケa` ON (`」ヤ」ケa`.`」テ」ア` = `」ヤ」ケb`.`」テ」ア`); 」テ」ア 」テ」ア 常ワ 常ワ @@ -441,31 +441,31 @@ SELECT * FROM ` 叱 竺 悉 竺 SELECT * FROM `」ヤ」ア」ーa` JOIN `」ヤ」ア」ーb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 +」テ」ア +竺 SELECT * FROM `」ヤ」ア」ーa` INNER JOIN `」ヤ」ア」ーb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 +」テ」ア +竺 SELECT * FROM `」ヤ」ア」ーa` CROSS JOIN `」ヤ」ア」ーb`; 」テ」ア 」テ」ア 竺 竺 叱 竺 悉 竺 SELECT * FROM `」ヤ」ア」ーa` LEFT JOIN `」ヤ」ア」ーb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 -叱 NULL -悉 NULL +」テ」ア +竺 +叱 +悉 SELECT * FROM `」ヤ」ア」ーa` LEFT JOIN `」ヤ」ア」ーb` ON (`」ヤ」ア」ーa`.`」テ」ア` = `」ヤ」ア」ーb`.`」テ」ア`); 」テ」ア 」テ」ア 竺 竺 叱 NULL 悉 NULL SELECT * FROM `」ヤ」ア」ーb` RIGHT JOIN `」ヤ」ア」ーa` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 -NULL 叱 -NULL 悉 +」テ」ア +竺 +叱 +悉 SELECT * FROM `」ヤ」ア」ーb` RIGHT JOIN `」ヤ」ア」ーa` ON (`」ヤ」ア」ーa`.`」テ」ア` = `」ヤ」ア」ーb`.`」テ」ア`); 」テ」ア 」テ」ア 竺 竺 @@ -482,31 +482,31 @@ SELECT * FROM ` 、ォ 、「 、オ 、「 SELECT * FROM `」ヤ」ア」アa` JOIN `」ヤ」ア」アb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 +」テ」ア +、「 SELECT * FROM `」ヤ」ア」アa` INNER JOIN `」ヤ」ア」アb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 +」テ」ア +、「 SELECT * FROM `」ヤ」ア」アa` CROSS JOIN `」ヤ」ア」アb`; 」テ」ア 」テ」ア 、「 、「 、ォ 、「 、オ 、「 SELECT * FROM `」ヤ」ア」アa` LEFT JOIN `」ヤ」ア」アb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 -、ォ NULL -、オ NULL +」テ」ア +、「 +、ォ +、オ SELECT * FROM `」ヤ」ア」アa` LEFT JOIN `」ヤ」ア」アb` ON (`」ヤ」ア」アa`.`」テ」ア` = `」ヤ」ア」アb`.`」テ」ア`); 」テ」ア 」テ」ア 、「 、「 、ォ NULL 、オ NULL SELECT * FROM `」ヤ」ア」アb` RIGHT JOIN `」ヤ」ア」アa` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 -NULL 、ォ -NULL 、オ +」テ」ア +、「 +、ォ +、オ SELECT * FROM `」ヤ」ア」アb` RIGHT JOIN `」ヤ」ア」アa` ON (`」ヤ」ア」アa`.`」テ」ア` = `」ヤ」ア」アb`.`」テ」ア`); 」テ」ア 」テ」ア 、「 、「 @@ -523,31 +523,31 @@ SELECT * FROM ` 常ン 常ワ 常゙ 常ワ SELECT * FROM `」ヤ」ア」イa` JOIN `」ヤ」ア」イb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ +」テ」ア +常ワ SELECT * FROM `」ヤ」ア」イa` INNER JOIN `」ヤ」ア」イb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ +」テ」ア +常ワ SELECT * FROM `」ヤ」ア」イa` CROSS JOIN `」ヤ」ア」イb`; 」テ」ア 」テ」ア 常ワ 常ワ 常ン 常ワ 常゙ 常ワ SELECT * FROM `」ヤ」ア」イa` LEFT JOIN `」ヤ」ア」イb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ -常ン NULL -常゙ NULL +」テ」ア +常ワ +常ン +常゙ SELECT * FROM `」ヤ」ア」イa` LEFT JOIN `」ヤ」ア」イb` ON (`」ヤ」ア」イa`.`」テ」ア` = `」ヤ」ア」イb`.`」テ」ア`); 」テ」ア 」テ」ア 常ワ 常ワ 常ン NULL 常゙ NULL SELECT * FROM `」ヤ」ア」イb` RIGHT JOIN `」ヤ」ア」イa` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ -NULL 常ン -NULL 常゙ +」テ」ア +常ワ +常ン +常゙ SELECT * FROM `」ヤ」ア」イb` RIGHT JOIN `」ヤ」ア」イa` ON (`」ヤ」ア」イa`.`」テ」ア` = `」ヤ」ア」イb`.`」テ」ア`); 」テ」ア 」テ」ア 常ワ 常ワ diff --git a/mysql-test/suite/jp/r/jp_join_ujis.result b/mysql-test/suite/jp/r/jp_join_ujis.result index ac430cd9b5e..838d701cdcc 100644 --- a/mysql-test/suite/jp/r/jp_join_ujis.result +++ b/mysql-test/suite/jp/r/jp_join_ujis.result @@ -71,31 +71,31 @@ SELECT * FROM ` 叱 竺 悉 竺 SELECT * FROM `」ヤ」アa` JOIN `」ヤ」アb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 +」テ」ア +竺 SELECT * FROM `」ヤ」アa` INNER JOIN `」ヤ」アb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 +」テ」ア +竺 SELECT * FROM `」ヤ」アa` CROSS JOIN `」ヤ」アb`; 」テ」ア 」テ」ア 竺 竺 叱 竺 悉 竺 SELECT * FROM `」ヤ」アa` LEFT JOIN `」ヤ」アb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 -叱 NULL -悉 NULL +」テ」ア +竺 +叱 +悉 SELECT * FROM `」ヤ」アa` LEFT JOIN `」ヤ」アb` ON (`」ヤ」アa`.`」テ」ア` = `」ヤ」アb`.`」テ」ア`); 」テ」ア 」テ」ア 竺 竺 叱 NULL 悉 NULL SELECT * FROM `」ヤ」アb` RIGHT JOIN `」ヤ」アa` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 -NULL 叱 -NULL 悉 +」テ」ア +竺 +叱 +悉 SELECT * FROM `」ヤ」アb` RIGHT JOIN `」ヤ」アa` ON (`」ヤ」アa`.`」テ」ア` = `」ヤ」アb`.`」テ」ア`); 」テ」ア 」テ」ア 竺 竺 @@ -112,31 +112,31 @@ SELECT * FROM ` 、ォ 、「 、オ 、「 SELECT * FROM `」ヤ」イa` JOIN `」ヤ」イb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 +」テ」ア +、「 SELECT * FROM `」ヤ」イa` INNER JOIN `」ヤ」イb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 +」テ」ア +、「 SELECT * FROM `」ヤ」イa` CROSS JOIN `」ヤ」イb`; 」テ」ア 」テ」ア 、「 、「 、ォ 、「 、オ 、「 SELECT * FROM `」ヤ」イa` LEFT JOIN `」ヤ」イb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 -、ォ NULL -、オ NULL +」テ」ア +、「 +、ォ +、オ SELECT * FROM `」ヤ」イa` LEFT JOIN `」ヤ」イb` ON (`」ヤ」イa`.`」テ」ア` = `」ヤ」イb`.`」テ」ア`); 」テ」ア 」テ」ア 、「 、「 、ォ NULL 、オ NULL SELECT * FROM `」ヤ」イb` RIGHT JOIN `」ヤ」イa` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 -NULL 、ォ -NULL 、オ +」テ」ア +、「 +、ォ +、オ SELECT * FROM `」ヤ」イb` RIGHT JOIN `」ヤ」イa` ON (`」ヤ」イa`.`」テ」ア` = `」ヤ」イb`.`」テ」ア`); 」テ」ア 」テ」ア 、「 、「 @@ -153,31 +153,31 @@ SELECT * FROM ` 常ン 常ワ 常゙ 常ワ SELECT * FROM `」ヤ」ウa` JOIN `」ヤ」ウb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ +」テ」ア +常ワ SELECT * FROM `」ヤ」ウa` INNER JOIN `」ヤ」ウb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ +」テ」ア +常ワ SELECT * FROM `」ヤ」ウa` CROSS JOIN `」ヤ」ウb`; 」テ」ア 」テ」ア 常ワ 常ワ 常ン 常ワ 常゙ 常ワ SELECT * FROM `」ヤ」ウa` LEFT JOIN `」ヤ」ウb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ -常ン NULL -常゙ NULL +」テ」ア +常ワ +常ン +常゙ SELECT * FROM `」ヤ」ウa` LEFT JOIN `」ヤ」ウb` ON (`」ヤ」ウa`.`」テ」ア` = `」ヤ」ウb`.`」テ」ア`); 」テ」ア 」テ」ア 常ワ 常ワ 常ン NULL 常゙ NULL SELECT * FROM `」ヤ」ウb` RIGHT JOIN `」ヤ」ウa` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ -NULL 常ン -NULL 常゙ +」テ」ア +常ワ +常ン +常゙ SELECT * FROM `」ヤ」ウb` RIGHT JOIN `」ヤ」ウa` ON (`」ヤ」ウa`.`」テ」ア` = `」ヤ」ウb`.`」テ」ア`); 」テ」ア 」テ」ア 常ワ 常ワ @@ -194,31 +194,31 @@ SELECT * FROM ` 叱 竺 悉 竺 SELECT * FROM `」ヤ」エa` JOIN `」ヤ」エb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 +」テ」ア +竺 SELECT * FROM `」ヤ」エa` INNER JOIN `」ヤ」エb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 +」テ」ア +竺 SELECT * FROM `」ヤ」エa` CROSS JOIN `」ヤ」エb`; 」テ」ア 」テ」ア 竺 竺 叱 竺 悉 竺 SELECT * FROM `」ヤ」エa` LEFT JOIN `」ヤ」エb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 -叱 NULL -悉 NULL +」テ」ア +竺 +叱 +悉 SELECT * FROM `」ヤ」エa` LEFT JOIN `」ヤ」エb` ON (`」ヤ」エa`.`」テ」ア` = `」ヤ」エb`.`」テ」ア`); 」テ」ア 」テ」ア 竺 竺 叱 NULL 悉 NULL SELECT * FROM `」ヤ」エb` RIGHT JOIN `」ヤ」エa` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 -NULL 叱 -NULL 悉 +」テ」ア +竺 +叱 +悉 SELECT * FROM `」ヤ」エb` RIGHT JOIN `」ヤ」エa` ON (`」ヤ」エa`.`」テ」ア` = `」ヤ」エb`.`」テ」ア`); 」テ」ア 」テ」ア 竺 竺 @@ -235,31 +235,31 @@ SELECT * FROM ` 、ォ 、「 、オ 、「 SELECT * FROM `」ヤ」オa` JOIN `」ヤ」オb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 +」テ」ア +、「 SELECT * FROM `」ヤ」オa` INNER JOIN `」ヤ」オb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 +」テ」ア +、「 SELECT * FROM `」ヤ」オa` CROSS JOIN `」ヤ」オb`; 」テ」ア 」テ」ア 、「 、「 、ォ 、「 、オ 、「 SELECT * FROM `」ヤ」オa` LEFT JOIN `」ヤ」オb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 -、ォ NULL -、オ NULL +」テ」ア +、「 +、ォ +、オ SELECT * FROM `」ヤ」オa` LEFT JOIN `」ヤ」オb` ON (`」ヤ」オa`.`」テ」ア` = `」ヤ」オb`.`」テ」ア`); 」テ」ア 」テ」ア 、「 、「 、ォ NULL 、オ NULL SELECT * FROM `」ヤ」オb` RIGHT JOIN `」ヤ」オa` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 -NULL 、ォ -NULL 、オ +」テ」ア +、「 +、ォ +、オ SELECT * FROM `」ヤ」オb` RIGHT JOIN `」ヤ」オa` ON (`」ヤ」オa`.`」テ」ア` = `」ヤ」オb`.`」テ」ア`); 」テ」ア 」テ」ア 、「 、「 @@ -276,31 +276,31 @@ SELECT * FROM ` 常ン 常ワ 常゙ 常ワ SELECT * FROM `」ヤ」カa` JOIN `」ヤ」カb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ +」テ」ア +常ワ SELECT * FROM `」ヤ」カa` INNER JOIN `」ヤ」カb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ +」テ」ア +常ワ SELECT * FROM `」ヤ」カa` CROSS JOIN `」ヤ」カb`; 」テ」ア 」テ」ア 常ワ 常ワ 常ン 常ワ 常゙ 常ワ SELECT * FROM `」ヤ」カa` LEFT JOIN `」ヤ」カb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ -常ン NULL -常゙ NULL +」テ」ア +常ワ +常ン +常゙ SELECT * FROM `」ヤ」カa` LEFT JOIN `」ヤ」カb` ON (`」ヤ」カa`.`」テ」ア` = `」ヤ」カb`.`」テ」ア`); 」テ」ア 」テ」ア 常ワ 常ワ 常ン NULL 常゙ NULL SELECT * FROM `」ヤ」カb` RIGHT JOIN `」ヤ」カa` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ -NULL 常ン -NULL 常゙ +」テ」ア +常ワ +常ン +常゙ SELECT * FROM `」ヤ」カb` RIGHT JOIN `」ヤ」カa` ON (`」ヤ」カa`.`」テ」ア` = `」ヤ」カb`.`」テ」ア`); 」テ」ア 」テ」ア 常ワ 常ワ @@ -317,31 +317,31 @@ SELECT * FROM ` 叱 竺 悉 竺 SELECT * FROM `」ヤ」キa` JOIN `」ヤ」キb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 +」テ」ア +竺 SELECT * FROM `」ヤ」キa` INNER JOIN `」ヤ」キb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 +」テ」ア +竺 SELECT * FROM `」ヤ」キa` CROSS JOIN `」ヤ」キb`; 」テ」ア 」テ」ア 竺 竺 叱 竺 悉 竺 SELECT * FROM `」ヤ」キa` LEFT JOIN `」ヤ」キb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 -叱 NULL -悉 NULL +」テ」ア +竺 +叱 +悉 SELECT * FROM `」ヤ」キa` LEFT JOIN `」ヤ」キb` ON (`」ヤ」キa`.`」テ」ア` = `」ヤ」キb`.`」テ」ア`); 」テ」ア 」テ」ア 竺 竺 叱 NULL 悉 NULL SELECT * FROM `」ヤ」キb` RIGHT JOIN `」ヤ」キa` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 -NULL 叱 -NULL 悉 +」テ」ア +竺 +叱 +悉 SELECT * FROM `」ヤ」キb` RIGHT JOIN `」ヤ」キa` ON (`」ヤ」キa`.`」テ」ア` = `」ヤ」キb`.`」テ」ア`); 」テ」ア 」テ」ア 竺 竺 @@ -358,31 +358,31 @@ SELECT * FROM ` 、ォ 、「 、オ 、「 SELECT * FROM `」ヤ」クa` JOIN `」ヤ」クb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 +」テ」ア +、「 SELECT * FROM `」ヤ」クa` INNER JOIN `」ヤ」クb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 +」テ」ア +、「 SELECT * FROM `」ヤ」クa` CROSS JOIN `」ヤ」クb`; 」テ」ア 」テ」ア 、「 、「 、ォ 、「 、オ 、「 SELECT * FROM `」ヤ」クa` LEFT JOIN `」ヤ」クb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 -、ォ NULL -、オ NULL +」テ」ア +、「 +、ォ +、オ SELECT * FROM `」ヤ」クa` LEFT JOIN `」ヤ」クb` ON (`」ヤ」クa`.`」テ」ア` = `」ヤ」クb`.`」テ」ア`); 」テ」ア 」テ」ア 、「 、「 、ォ NULL 、オ NULL SELECT * FROM `」ヤ」クb` RIGHT JOIN `」ヤ」クa` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 -NULL 、ォ -NULL 、オ +」テ」ア +、「 +、ォ +、オ SELECT * FROM `」ヤ」クb` RIGHT JOIN `」ヤ」クa` ON (`」ヤ」クa`.`」テ」ア` = `」ヤ」クb`.`」テ」ア`); 」テ」ア 」テ」ア 、「 、「 @@ -399,31 +399,31 @@ SELECT * FROM ` 常ン 常ワ 常゙ 常ワ SELECT * FROM `」ヤ」ケa` JOIN `」ヤ」ケb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ +」テ」ア +常ワ SELECT * FROM `」ヤ」ケa` INNER JOIN `」ヤ」ケb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ +」テ」ア +常ワ SELECT * FROM `」ヤ」ケa` CROSS JOIN `」ヤ」ケb`; 」テ」ア 」テ」ア 常ワ 常ワ 常ン 常ワ 常゙ 常ワ SELECT * FROM `」ヤ」ケa` LEFT JOIN `」ヤ」ケb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ -常ン NULL -常゙ NULL +」テ」ア +常ワ +常ン +常゙ SELECT * FROM `」ヤ」ケa` LEFT JOIN `」ヤ」ケb` ON (`」ヤ」ケa`.`」テ」ア` = `」ヤ」ケb`.`」テ」ア`); 」テ」ア 」テ」ア 常ワ 常ワ 常ン NULL 常゙ NULL SELECT * FROM `」ヤ」ケb` RIGHT JOIN `」ヤ」ケa` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ -NULL 常ン -NULL 常゙ +」テ」ア +常ワ +常ン +常゙ SELECT * FROM `」ヤ」ケb` RIGHT JOIN `」ヤ」ケa` ON (`」ヤ」ケa`.`」テ」ア` = `」ヤ」ケb`.`」テ」ア`); 」テ」ア 」テ」ア 常ワ 常ワ @@ -440,31 +440,31 @@ SELECT * FROM ` 叱 竺 悉 竺 SELECT * FROM `」ヤ」ア」ーa` JOIN `」ヤ」ア」ーb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 +」テ」ア +竺 SELECT * FROM `」ヤ」ア」ーa` INNER JOIN `」ヤ」ア」ーb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 +」テ」ア +竺 SELECT * FROM `」ヤ」ア」ーa` CROSS JOIN `」ヤ」ア」ーb`; 」テ」ア 」テ」ア 竺 竺 叱 竺 悉 竺 SELECT * FROM `」ヤ」ア」ーa` LEFT JOIN `」ヤ」ア」ーb` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 -叱 NULL -悉 NULL +」テ」ア +竺 +叱 +悉 SELECT * FROM `」ヤ」ア」ーa` LEFT JOIN `」ヤ」ア」ーb` ON (`」ヤ」ア」ーa`.`」テ」ア` = `」ヤ」ア」ーb`.`」テ」ア`); 」テ」ア 」テ」ア 竺 竺 叱 NULL 悉 NULL SELECT * FROM `」ヤ」ア」ーb` RIGHT JOIN `」ヤ」ア」ーa` USING (`」テ」ア`); -」テ」ア 」テ」ア -竺 竺 -NULL 叱 -NULL 悉 +」テ」ア +竺 +叱 +悉 SELECT * FROM `」ヤ」ア」ーb` RIGHT JOIN `」ヤ」ア」ーa` ON (`」ヤ」ア」ーa`.`」テ」ア` = `」ヤ」ア」ーb`.`」テ」ア`); 」テ」ア 」テ」ア 竺 竺 @@ -481,31 +481,31 @@ SELECT * FROM ` 、ォ 、「 、オ 、「 SELECT * FROM `」ヤ」ア」アa` JOIN `」ヤ」ア」アb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 +」テ」ア +、「 SELECT * FROM `」ヤ」ア」アa` INNER JOIN `」ヤ」ア」アb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 +」テ」ア +、「 SELECT * FROM `」ヤ」ア」アa` CROSS JOIN `」ヤ」ア」アb`; 」テ」ア 」テ」ア 、「 、「 、ォ 、「 、オ 、「 SELECT * FROM `」ヤ」ア」アa` LEFT JOIN `」ヤ」ア」アb` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 -、ォ NULL -、オ NULL +」テ」ア +、「 +、ォ +、オ SELECT * FROM `」ヤ」ア」アa` LEFT JOIN `」ヤ」ア」アb` ON (`」ヤ」ア」アa`.`」テ」ア` = `」ヤ」ア」アb`.`」テ」ア`); 」テ」ア 」テ」ア 、「 、「 、ォ NULL 、オ NULL SELECT * FROM `」ヤ」ア」アb` RIGHT JOIN `」ヤ」ア」アa` USING (`」テ」ア`); -」テ」ア 」テ」ア -、「 、「 -NULL 、ォ -NULL 、オ +」テ」ア +、「 +、ォ +、オ SELECT * FROM `」ヤ」ア」アb` RIGHT JOIN `」ヤ」ア」アa` ON (`」ヤ」ア」アa`.`」テ」ア` = `」ヤ」ア」アb`.`」テ」ア`); 」テ」ア 」テ」ア 、「 、「 @@ -522,31 +522,31 @@ SELECT * FROM ` 常ン 常ワ 常゙ 常ワ SELECT * FROM `」ヤ」ア」イa` JOIN `」ヤ」ア」イb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ +」テ」ア +常ワ SELECT * FROM `」ヤ」ア」イa` INNER JOIN `」ヤ」ア」イb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ +」テ」ア +常ワ SELECT * FROM `」ヤ」ア」イa` CROSS JOIN `」ヤ」ア」イb`; 」テ」ア 」テ」ア 常ワ 常ワ 常ン 常ワ 常゙ 常ワ SELECT * FROM `」ヤ」ア」イa` LEFT JOIN `」ヤ」ア」イb` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ -常ン NULL -常゙ NULL +」テ」ア +常ワ +常ン +常゙ SELECT * FROM `」ヤ」ア」イa` LEFT JOIN `」ヤ」ア」イb` ON (`」ヤ」ア」イa`.`」テ」ア` = `」ヤ」ア」イb`.`」テ」ア`); 」テ」ア 」テ」ア 常ワ 常ワ 常ン NULL 常゙ NULL SELECT * FROM `」ヤ」ア」イb` RIGHT JOIN `」ヤ」ア」イa` USING (`」テ」ア`); -」テ」ア 」テ」ア -常ワ 常ワ -NULL 常ン -NULL 常゙ +」テ」ア +常ワ +常ン +常゙ SELECT * FROM `」ヤ」ア」イb` RIGHT JOIN `」ヤ」ア」イa` ON (`」ヤ」ア」イa`.`」テ」ア` = `」ヤ」ア」イb`.`」テ」ア`); 」テ」ア 」テ」ア 常ワ 常ワ diff --git a/mysql-test/suite/jp/r/jp_join_utf8.result b/mysql-test/suite/jp/r/jp_join_utf8.result index 716e97a2bb3..8c222653c3e 100644 --- a/mysql-test/suite/jp/r/jp_join_utf8.result +++ b/mysql-test/suite/jp/r/jp_join_utf8.result @@ -71,31 +71,31 @@ SELECT * FROM `シエシ疎` INNER JOIN `シエシ礎`; スカ スア スサ スア SELECT * FROM `シエシ疎` JOIN `シエシ礎` USING (`シ」シ疏); -シ」シ シ」シ -スア スア +シ」シ +スア SELECT * FROM `シエシ疎` INNER JOIN `シエシ礎` USING (`シ」シ疏); -シ」シ シ」シ -スア スア +シ」シ +スア SELECT * FROM `シエシ疎` CROSS JOIN `シエシ礎`; シ」シ シ」シ スア スア スカ スア スサ スア SELECT * FROM `シエシ疎` LEFT JOIN `シエシ礎` USING (`シ」シ疏); -シ」シ シ」シ -スア スア -スカ NULL -スサ NULL +シ」シ +スア +スカ +スサ SELECT * FROM `シエシ疎` LEFT JOIN `シエシ礎` ON (`シエシ疎`.`シ」シ疏 = `シエシ礎`.`シ」シ疏); シ」シ シ」シ スア スア スカ NULL スサ NULL SELECT * FROM `シエシ礎` RIGHT JOIN `シエシ疎` USING (`シ」シ疏); -シ」シ シ」シ -スア スア -NULL スカ -NULL スサ +シ」シ +スア +スカ +スサ SELECT * FROM `シエシ礎` RIGHT JOIN `シエシ疎` ON (`シエシ疎`.`シ」シ疏 = `シエシ礎`.`シ」シ疏); シ」シ シ」シ スア スア @@ -112,31 +112,31 @@ SELECT * FROM `シエシ誕` INNER JOIN `シエシ鍛`; 縺 縺 縺 縺 SELECT * FROM `シエシ誕` JOIN `シエシ鍛` USING (`シ」シ疏); -シ」シ シ」シ -縺 縺 +シ」シ +縺 SELECT * FROM `シエシ誕` INNER JOIN `シエシ鍛` USING (`シ」シ疏); -シ」シ シ」シ -縺 縺 +シ」シ +縺 SELECT * FROM `シエシ誕` CROSS JOIN `シエシ鍛`; シ」シ シ」シ 縺 縺 縺 縺 縺 縺 SELECT * FROM `シエシ誕` LEFT JOIN `シエシ鍛` USING (`シ」シ疏); -シ」シ シ」シ -縺 縺 -縺 NULL -縺 NULL +シ」シ +縺 +縺 +縺 SELECT * FROM `シエシ誕` LEFT JOIN `シエシ鍛` ON (`シエシ誕`.`シ」シ疏 = `シエシ鍛`.`シ」シ疏); シ」シ シ」シ 縺 縺 縺 NULL 縺 NULL SELECT * FROM `シエシ鍛` RIGHT JOIN `シエシ誕` USING (`シ」シ疏); -シ」シ シ」シ -縺 縺 -NULL 縺 -NULL 縺 +シ」シ +縺 +縺 +縺 SELECT * FROM `シエシ鍛` RIGHT JOIN `シエシ誕` ON (`シエシ誕`.`シ」シ疏 = `シエシ鍛`.`シ」シ疏); シ」シ シ」シ 縺 縺 @@ -153,31 +153,31 @@ SELECT * FROM `シエシ殿` INNER JOIN `シエシ澱`; 鮴 鮴 鮴 鮴 SELECT * FROM `シエシ殿` JOIN `シエシ澱` USING (`シ」シ疏); -シ」シ シ」シ -鮴 鮴 +シ」シ +鮴 SELECT * FROM `シエシ殿` INNER JOIN `シエシ澱` USING (`シ」シ疏); -シ」シ シ」シ -鮴 鮴 +シ」シ +鮴 SELECT * FROM `シエシ殿` CROSS JOIN `シエシ澱`; シ」シ シ」シ 鮴 鮴 鮴 鮴 鮴 鮴 SELECT * FROM `シエシ殿` LEFT JOIN `シエシ澱` USING (`シ」シ疏); -シ」シ シ」シ -鮴 鮴 -鮴 NULL -鮴 NULL +シ」シ +鮴 +鮴 +鮴 SELECT * FROM `シエシ殿` LEFT JOIN `シエシ澱` ON (`シエシ殿`.`シ」シ疏 = `シエシ澱`.`シ」シ疏); シ」シ シ」シ 鮴 鮴 鮴 NULL 鮴 NULL SELECT * FROM `シエシ澱` RIGHT JOIN `シエシ殿` USING (`シ」シ疏); -シ」シ シ」シ -鮴 鮴 -NULL 鮴 -NULL 鮴 +シ」シ +鮴 +鮴 +鮴 SELECT * FROM `シエシ澱` RIGHT JOIN `シエシ殿` ON (`シエシ殿`.`シ」シ疏 = `シエシ澱`.`シ」シ疏); シ」シ シ」シ 鮴 鮴 @@ -194,31 +194,31 @@ SELECT * FROM `シエシ蚤` INNER JOIN `シエシ巴`; スカ スア スサ スア SELECT * FROM `シエシ蚤` JOIN `シエシ巴` USING (`シ」シ疏); -シ」シ シ」シ -スア スア +シ」シ +スア SELECT * FROM `シエシ蚤` INNER JOIN `シエシ巴` USING (`シ」シ疏); -シ」シ シ」シ -スア スア +シ」シ +スア SELECT * FROM `シエシ蚤` CROSS JOIN `シエシ巴`; シ」シ シ」シ スア スア スカ スア スサ スア SELECT * FROM `シエシ蚤` LEFT JOIN `シエシ巴` USING (`シ」シ疏); -シ」シ シ」シ -スア スア -スカ NULL -スサ NULL +シ」シ +スア +スカ +スサ SELECT * FROM `シエシ蚤` LEFT JOIN `シエシ巴` ON (`シエシ蚤`.`シ」シ疏 = `シエシ巴`.`シ」シ疏); シ」シ シ」シ スア スア スカ NULL スサ NULL SELECT * FROM `シエシ巴` RIGHT JOIN `シエシ蚤` USING (`シ」シ疏); -シ」シ シ」シ -スア スア -NULL スカ -NULL スサ +シ」シ +スア +スカ +スサ SELECT * FROM `シエシ巴` RIGHT JOIN `シエシ蚤` ON (`シエシ蚤`.`シ」シ疏 = `シエシ巴`.`シ」シ疏); シ」シ シ」シ スア スア @@ -235,31 +235,31 @@ SELECT * FROM `シエシ病` INNER JOIN `シエシ秒`; 縺 縺 縺 縺 SELECT * FROM `シエシ病` JOIN `シエシ秒` USING (`シ」シ疏); -シ」シ シ」シ -縺 縺 +シ」シ +縺 SELECT * FROM `シエシ病` INNER JOIN `シエシ秒` USING (`シ」シ疏); -シ」シ シ」シ -縺 縺 +シ」シ +縺 SELECT * FROM `シエシ病` CROSS JOIN `シエシ秒`; シ」シ シ」シ 縺 縺 縺 縺 縺 縺 SELECT * FROM `シエシ病` LEFT JOIN `シエシ秒` USING (`シ」シ疏); -シ」シ シ」シ -縺 縺 -縺 NULL -縺 NULL +シ」シ +縺 +縺 +縺 SELECT * FROM `シエシ病` LEFT JOIN `シエシ秒` ON (`シエシ病`.`シ」シ疏 = `シエシ秒`.`シ」シ疏); シ」シ シ」シ 縺 縺 縺 NULL 縺 NULL SELECT * FROM `シエシ秒` RIGHT JOIN `シエシ病` USING (`シ」シ疏); -シ」シ シ」シ -縺 縺 -NULL 縺 -NULL 縺 +シ」シ +縺 +縺 +縺 SELECT * FROM `シエシ秒` RIGHT JOIN `シエシ病` ON (`シエシ病`.`シ」シ疏 = `シエシ秒`.`シ」シ疏); シ」シ シ」シ 縺 縺 @@ -276,31 +276,31 @@ SELECT * FROM `シエシ紡` INNER JOIN `シエシ肪`; 鮴 鮴 鮴 鮴 SELECT * FROM `シエシ紡` JOIN `シエシ肪` USING (`シ」シ疏); -シ」シ シ」シ -鮴 鮴 +シ」シ +鮴 SELECT * FROM `シエシ紡` INNER JOIN `シエシ肪` USING (`シ」シ疏); -シ」シ シ」シ -鮴 鮴 +シ」シ +鮴 SELECT * FROM `シエシ紡` CROSS JOIN `シエシ肪`; シ」シ シ」シ 鮴 鮴 鮴 鮴 鮴 鮴 SELECT * FROM `シエシ紡` LEFT JOIN `シエシ肪` USING (`シ」シ疏); -シ」シ シ」シ -鮴 鮴 -鮴 NULL -鮴 NULL +シ」シ +鮴 +鮴 +鮴 SELECT * FROM `シエシ紡` LEFT JOIN `シエシ肪` ON (`シエシ紡`.`シ」シ疏 = `シエシ肪`.`シ」シ疏); シ」シ シ」シ 鮴 鮴 鮴 NULL 鮴 NULL SELECT * FROM `シエシ肪` RIGHT JOIN `シエシ紡` USING (`シ」シ疏); -シ」シ シ」シ -鮴 鮴 -NULL 鮴 -NULL 鮴 +シ」シ +鮴 +鮴 +鮴 SELECT * FROM `シエシ肪` RIGHT JOIN `シエシ紡` ON (`シエシ紡`.`シ」シ疏 = `シエシ肪`.`シ」シ疏); シ」シ シ」シ 鮴 鮴 @@ -317,31 +317,31 @@ SELECT * FROM `シエシ預` INNER JOIN `シエシ傭`; スカ スア スサ スア SELECT * FROM `シエシ預` JOIN `シエシ傭` USING (`シ」シ疏); -シ」シ シ」シ -スア スア +シ」シ +スア SELECT * FROM `シエシ預` INNER JOIN `シエシ傭` USING (`シ」シ疏); -シ」シ シ」シ -スア スア +シ」シ +スア SELECT * FROM `シエシ預` CROSS JOIN `シエシ傭`; シ」シ シ」シ スア スア スカ スア スサ スア SELECT * FROM `シエシ預` LEFT JOIN `シエシ傭` USING (`シ」シ疏); -シ」シ シ」シ -スア スア -スカ NULL -スサ NULL +シ」シ +スア +スカ +スサ SELECT * FROM `シエシ預` LEFT JOIN `シエシ傭` ON (`シエシ預`.`シ」シ疏 = `シエシ傭`.`シ」シ疏); シ」シ シ」シ スア スア スカ NULL スサ NULL SELECT * FROM `シエシ傭` RIGHT JOIN `シエシ預` USING (`シ」シ疏); -シ」シ シ」シ -スア スア -NULL スカ -NULL スサ +シ」シ +スア +スカ +スサ SELECT * FROM `シエシ傭` RIGHT JOIN `シエシ預` ON (`シエシ預`.`シ」シ疏 = `シエシ傭`.`シ」シ疏); シ」シ シ」シ スア スア @@ -358,31 +358,31 @@ SELECT * FROM `シエシ和` INNER JOIN `シエシ話`; 縺 縺 縺 縺 SELECT * FROM `シエシ和` JOIN `シエシ話` USING (`シ」シ疏); -シ」シ シ」シ -縺 縺 +シ」シ +縺 SELECT * FROM `シエシ和` INNER JOIN `シエシ話` USING (`シ」シ疏); -シ」シ シ」シ -縺 縺 +シ」シ +縺 SELECT * FROM `シエシ和` CROSS JOIN `シエシ話`; シ」シ シ」シ 縺 縺 縺 縺 縺 縺 SELECT * FROM `シエシ和` LEFT JOIN `シエシ話` USING (`シ」シ疏); -シ」シ シ」シ -縺 縺 -縺 NULL -縺 NULL +シ」シ +縺 +縺 +縺 SELECT * FROM `シエシ和` LEFT JOIN `シエシ話` ON (`シエシ和`.`シ」シ疏 = `シエシ話`.`シ」シ疏); シ」シ シ」シ 縺 縺 縺 NULL 縺 NULL SELECT * FROM `シエシ話` RIGHT JOIN `シエシ和` USING (`シ」シ疏); -シ」シ シ」シ -縺 縺 -NULL 縺 -NULL 縺 +シ」シ +縺 +縺 +縺 SELECT * FROM `シエシ話` RIGHT JOIN `シエシ和` ON (`シエシ和`.`シ」シ疏 = `シエシ話`.`シ」シ疏); シ」シ シ」シ 縺 縺 @@ -399,31 +399,31 @@ SELECT * FROM `シエシ兮` INNER JOIN `シエシ冀`; 鮴 鮴 鮴 鮴 SELECT * FROM `シエシ兮` JOIN `シエシ冀` USING (`シ」シ疏); -シ」シ シ」シ -鮴 鮴 +シ」シ +鮴 SELECT * FROM `シエシ兮` INNER JOIN `シエシ冀` USING (`シ」シ疏); -シ」シ シ」シ -鮴 鮴 +シ」シ +鮴 SELECT * FROM `シエシ兮` CROSS JOIN `シエシ冀`; シ」シ シ」シ 鮴 鮴 鮴 鮴 鮴 鮴 SELECT * FROM `シエシ兮` LEFT JOIN `シエシ冀` USING (`シ」シ疏); -シ」シ シ」シ -鮴 鮴 -鮴 NULL -鮴 NULL +シ」シ +鮴 +鮴 +鮴 SELECT * FROM `シエシ兮` LEFT JOIN `シエシ冀` ON (`シエシ兮`.`シ」シ疏 = `シエシ冀`.`シ」シ疏); シ」シ シ」シ 鮴 鮴 鮴 NULL 鮴 NULL SELECT * FROM `シエシ冀` RIGHT JOIN `シエシ兮` USING (`シ」シ疏); -シ」シ シ」シ -鮴 鮴 -NULL 鮴 -NULL 鮴 +シ」シ +鮴 +鮴 +鮴 SELECT * FROM `シエシ冀` RIGHT JOIN `シエシ兮` ON (`シエシ兮`.`シ」シ疏 = `シエシ冀`.`シ」シ疏); シ」シ シ」シ 鮴 鮴 @@ -440,31 +440,31 @@ SELECT * FROM `シエシ托シ紳` INNER JOIN `シエシ托シ臣`; スカ スア スサ スア SELECT * FROM `シエシ托シ紳` JOIN `シエシ托シ臣` USING (`シ」シ疏); -シ」シ シ」シ -スア スア +シ」シ +スア SELECT * FROM `シエシ托シ紳` INNER JOIN `シエシ托シ臣` USING (`シ」シ疏); -シ」シ シ」シ -スア スア +シ」シ +スア SELECT * FROM `シエシ托シ紳` CROSS JOIN `シエシ托シ臣`; シ」シ シ」シ スア スア スカ スア スサ スア SELECT * FROM `シエシ托シ紳` LEFT JOIN `シエシ托シ臣` USING (`シ」シ疏); -シ」シ シ」シ -スア スア -スカ NULL -スサ NULL +シ」シ +スア +スカ +スサ SELECT * FROM `シエシ托シ紳` LEFT JOIN `シエシ托シ臣` ON (`シエシ托シ紳`.`シ」シ疏 = `シエシ托シ臣`.`シ」シ疏); シ」シ シ」シ スア スア スカ NULL スサ NULL SELECT * FROM `シエシ托シ臣` RIGHT JOIN `シエシ托シ紳` USING (`シ」シ疏); -シ」シ シ」シ -スア スア -NULL スカ -NULL スサ +シ」シ +スア +スカ +スサ SELECT * FROM `シエシ托シ臣` RIGHT JOIN `シエシ托シ紳` ON (`シエシ托シ紳`.`シ」シ疏 = `シエシ托シ臣`.`シ」シ疏); シ」シ シ」シ スア スア @@ -481,31 +481,31 @@ SELECT * FROM `シエシ托シ疎` INNER JOIN `シエシ托シ礎`; 縺 縺 縺 縺 SELECT * FROM `シエシ托シ疎` JOIN `シエシ托シ礎` USING (`シ」シ疏); -シ」シ シ」シ -縺 縺 +シ」シ +縺 SELECT * FROM `シエシ托シ疎` INNER JOIN `シエシ托シ礎` USING (`シ」シ疏); -シ」シ シ」シ -縺 縺 +シ」シ +縺 SELECT * FROM `シエシ托シ疎` CROSS JOIN `シエシ托シ礎`; シ」シ シ」シ 縺 縺 縺 縺 縺 縺 SELECT * FROM `シエシ托シ疎` LEFT JOIN `シエシ托シ礎` USING (`シ」シ疏); -シ」シ シ」シ -縺 縺 -縺 NULL -縺 NULL +シ」シ +縺 +縺 +縺 SELECT * FROM `シエシ托シ疎` LEFT JOIN `シエシ托シ礎` ON (`シエシ托シ疎`.`シ」シ疏 = `シエシ托シ礎`.`シ」シ疏); シ」シ シ」シ 縺 縺 縺 NULL 縺 NULL SELECT * FROM `シエシ托シ礎` RIGHT JOIN `シエシ托シ疎` USING (`シ」シ疏); -シ」シ シ」シ -縺 縺 -NULL 縺 -NULL 縺 +シ」シ +縺 +縺 +縺 SELECT * FROM `シエシ托シ礎` RIGHT JOIN `シエシ托シ疎` ON (`シエシ托シ疎`.`シ」シ疏 = `シエシ托シ礎`.`シ」シ疏); シ」シ シ」シ 縺 縺 @@ -522,31 +522,31 @@ SELECT * FROM `シエシ托シ誕` INNER JOIN `シエシ托シ鍛`; 鮴 鮴 鮴 鮴 SELECT * FROM `シエシ托シ誕` JOIN `シエシ托シ鍛` USING (`シ」シ疏); -シ」シ シ」シ -鮴 鮴 +シ」シ +鮴 SELECT * FROM `シエシ托シ誕` INNER JOIN `シエシ托シ鍛` USING (`シ」シ疏); -シ」シ シ」シ -鮴 鮴 +シ」シ +鮴 SELECT * FROM `シエシ托シ誕` CROSS JOIN `シエシ托シ鍛`; シ」シ シ」シ 鮴 鮴 鮴 鮴 鮴 鮴 SELECT * FROM `シエシ托シ誕` LEFT JOIN `シエシ托シ鍛` USING (`シ」シ疏); -シ」シ シ」シ -鮴 鮴 -鮴 NULL -鮴 NULL +シ」シ +鮴 +鮴 +鮴 SELECT * FROM `シエシ托シ誕` LEFT JOIN `シエシ托シ鍛` ON (`シエシ托シ誕`.`シ」シ疏 = `シエシ托シ鍛`.`シ」シ疏); シ」シ シ」シ 鮴 鮴 鮴 NULL 鮴 NULL SELECT * FROM `シエシ托シ鍛` RIGHT JOIN `シエシ托シ誕` USING (`シ」シ疏); -シ」シ シ」シ -鮴 鮴 -NULL 鮴 -NULL 鮴 +シ」シ +鮴 +鮴 +鮴 SELECT * FROM `シエシ托シ鍛` RIGHT JOIN `シエシ托シ誕` ON (`シエシ托シ誕`.`シ」シ疏 = `シエシ托シ鍛`.`シ」シ疏); シ」シ シ」シ 鮴 鮴 diff --git a/mysql-test/suite/jp/r/jp_select_sjis.result b/mysql-test/suite/jp/r/jp_select_sjis.result index d48d08d745f..652b538fb88 100644 --- a/mysql-test/suite/jp/r/jp_select_sjis.result +++ b/mysql-test/suite/jp/r/jp_select_sjis.result @@ -118,6 +118,7 @@ SELECT * FROM ` 齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠・・・・・ SELECT * FROM `T3`; C1 + ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 SELECT * FROM `T4`; C1 @@ -201,6 +202,7 @@ SELECT * FROM ` 齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠・・・・・ SELECT * FROM `T6`; C1 + ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 SELECT * FROM `T7`; C1 @@ -285,6 +287,7 @@ SELECT * FROM ` SELECT * FROM `T9`; C1 ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 + SELECT * FROM `T10`; C1 !"#$%&'()*+,-./ @@ -368,6 +371,7 @@ SELECT * FROM ` SELECT * FROM `T12`; C1 ソ十表予構噂蚕申貼能暴禄曾箪兔喀媾彌拿杤 + drop table `T1`; drop table `T2`; drop table `T3`; diff --git a/mysql-test/suite/jp/t/jp_alter_sjis.test b/mysql-test/suite/jp/t/jp_alter_sjis.test index b7b31862599..f250afcf5dd 100644 --- a/mysql-test/suite/jp/t/jp_alter_sjis.test +++ b/mysql-test/suite/jp/t/jp_alter_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis SET NAMES sjis; SET character_set_database = sjis; diff --git a/mysql-test/suite/jp/t/jp_alter_ucs2.test b/mysql-test/suite/jp/t/jp_alter_ucs2.test index 6c5b3132edf..27cf5b72839 100644 --- a/mysql-test/suite/jp/t/jp_alter_ucs2.test +++ b/mysql-test/suite/jp/t/jp_alter_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_alter_ujis.test b/mysql-test/suite/jp/t/jp_alter_ujis.test index d388d20c49b..b817f608446 100644 --- a/mysql-test/suite/jp/t/jp_alter_ujis.test +++ b/mysql-test/suite/jp/t/jp_alter_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_alter_utf8.test b/mysql-test/suite/jp/t/jp_alter_utf8.test index 6771343f38f..60a67485ba5 100644 --- a/mysql-test/suite/jp/t/jp_alter_utf8.test +++ b/mysql-test/suite/jp/t/jp_alter_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings DROP TABLE IF EXISTS `スアスアスア`; DROP TABLE IF EXISTS `スイスイスイ`; diff --git a/mysql-test/suite/jp/t/jp_charlength_sjis.test b/mysql-test/suite/jp/t/jp_charlength_sjis.test index 5f3543bb7a6..350605450da 100644 --- a/mysql-test/suite/jp/t/jp_charlength_sjis.test +++ b/mysql-test/suite/jp/t/jp_charlength_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_charlength_ucs2.test b/mysql-test/suite/jp/t/jp_charlength_ucs2.test index 2db9db7cfc6..714ced47ff8 100644 --- a/mysql-test/suite/jp/t/jp_charlength_ucs2.test +++ b/mysql-test/suite/jp/t/jp_charlength_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_charlength_ujis.test b/mysql-test/suite/jp/t/jp_charlength_ujis.test index 08973231f27..923bffef540 100644 --- a/mysql-test/suite/jp/t/jp_charlength_ujis.test +++ b/mysql-test/suite/jp/t/jp_charlength_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_charlength_utf8.test b/mysql-test/suite/jp/t/jp_charlength_utf8.test index a3f74db27ee..bc099caf74a 100644 --- a/mysql-test/suite/jp/t/jp_charlength_utf8.test +++ b/mysql-test/suite/jp/t/jp_charlength_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_charset_sjis.test b/mysql-test/suite/jp/t/jp_charset_sjis.test index 3a9f264bdfe..276be86cd9d 100644 --- a/mysql-test/suite/jp/t/jp_charset_sjis.test +++ b/mysql-test/suite/jp/t/jp_charset_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_charset_ucs2.test b/mysql-test/suite/jp/t/jp_charset_ucs2.test index 5183071033b..f7971095fa6 100644 --- a/mysql-test/suite/jp/t/jp_charset_ucs2.test +++ b/mysql-test/suite/jp/t/jp_charset_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_charset_ujis.test b/mysql-test/suite/jp/t/jp_charset_ujis.test index de9ef318530..a8a6544537a 100644 --- a/mysql-test/suite/jp/t/jp_charset_ujis.test +++ b/mysql-test/suite/jp/t/jp_charset_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_charset_utf8.test b/mysql-test/suite/jp/t/jp_charset_utf8.test index 2d73daba42a..7d8311c2f72 100644 --- a/mysql-test/suite/jp/t/jp_charset_utf8.test +++ b/mysql-test/suite/jp/t/jp_charset_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_convert_sjis.test b/mysql-test/suite/jp/t/jp_convert_sjis.test index 93fa33029bf..835328c92eb 100644 --- a/mysql-test/suite/jp/t/jp_convert_sjis.test +++ b/mysql-test/suite/jp/t/jp_convert_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis SET NAMES sjis; SET character_set_database = sjis; diff --git a/mysql-test/suite/jp/t/jp_convert_ucs2.test b/mysql-test/suite/jp/t/jp_convert_ucs2.test index 88b0d0c9cba..3ed4efe158d 100644 --- a/mysql-test/suite/jp/t/jp_convert_ucs2.test +++ b/mysql-test/suite/jp/t/jp_convert_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_convert_ujis.test b/mysql-test/suite/jp/t/jp_convert_ujis.test index d6303b66f34..4409b6cad90 100644 --- a/mysql-test/suite/jp/t/jp_convert_ujis.test +++ b/mysql-test/suite/jp/t/jp_convert_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_convert_utf8.test b/mysql-test/suite/jp/t/jp_convert_utf8.test index a687b0f06cb..e7c180e72fc 100644 --- a/mysql-test/suite/jp/t/jp_convert_utf8.test +++ b/mysql-test/suite/jp/t/jp_convert_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_create_tbl_sjis.test b/mysql-test/suite/jp/t/jp_create_tbl_sjis.test index 45c0b24388b..93f3ac3c4a3 100644 --- a/mysql-test/suite/jp/t/jp_create_tbl_sjis.test +++ b/mysql-test/suite/jp/t/jp_create_tbl_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis SET NAMES sjis; SET character_set_database = sjis; diff --git a/mysql-test/suite/jp/t/jp_create_tbl_ucs2.test b/mysql-test/suite/jp/t/jp_create_tbl_ucs2.test index 519697e3530..553ef8a4dad 100644 --- a/mysql-test/suite/jp/t/jp_create_tbl_ucs2.test +++ b/mysql-test/suite/jp/t/jp_create_tbl_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_create_tbl_ujis.test b/mysql-test/suite/jp/t/jp_create_tbl_ujis.test index ac70facdce9..1106ddc1417 100644 --- a/mysql-test/suite/jp/t/jp_create_tbl_ujis.test +++ b/mysql-test/suite/jp/t/jp_create_tbl_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_create_tbl_utf8.test b/mysql-test/suite/jp/t/jp_create_tbl_utf8.test index 5c816eb169a..9b0ece77e34 100644 --- a/mysql-test/suite/jp/t/jp_create_tbl_utf8.test +++ b/mysql-test/suite/jp/t/jp_create_tbl_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings DROP TABLE IF EXISTS `スアスアスア`; DROP TABLE IF EXISTS `スイスイスイ`; diff --git a/mysql-test/suite/jp/t/jp_enum_sjis.test b/mysql-test/suite/jp/t/jp_enum_sjis.test index 2ea1bf320e0..c433e0bcac4 100644 --- a/mysql-test/suite/jp/t/jp_enum_sjis.test +++ b/mysql-test/suite/jp/t/jp_enum_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_enum_ucs2.test b/mysql-test/suite/jp/t/jp_enum_ucs2.test index 2239ebab478..79f5952cf97 100644 --- a/mysql-test/suite/jp/t/jp_enum_ucs2.test +++ b/mysql-test/suite/jp/t/jp_enum_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc # half-with kana is not handled correctly in 4.1 diff --git a/mysql-test/suite/jp/t/jp_enum_ujis.test b/mysql-test/suite/jp/t/jp_enum_ujis.test index da41165aad0..f48d176ec6b 100644 --- a/mysql-test/suite/jp/t/jp_enum_ujis.test +++ b/mysql-test/suite/jp/t/jp_enum_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_enum_utf8.test b/mysql-test/suite/jp/t/jp_enum_utf8.test index 4ce3576b604..64fe2129164 100644 --- a/mysql-test/suite/jp/t/jp_enum_utf8.test +++ b/mysql-test/suite/jp/t/jp_enum_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_insert_sjis.test b/mysql-test/suite/jp/t/jp_insert_sjis.test index 0266ad1eaca..a940eeb5782 100644 --- a/mysql-test/suite/jp/t/jp_insert_sjis.test +++ b/mysql-test/suite/jp/t/jp_insert_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_insert_ucs2.test b/mysql-test/suite/jp/t/jp_insert_ucs2.test index 9b0a02e57d8..443f6f1107b 100644 --- a/mysql-test/suite/jp/t/jp_insert_ucs2.test +++ b/mysql-test/suite/jp/t/jp_insert_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_insert_ujis.test b/mysql-test/suite/jp/t/jp_insert_ujis.test index 7b6d2838386..ab82db59326 100644 --- a/mysql-test/suite/jp/t/jp_insert_ujis.test +++ b/mysql-test/suite/jp/t/jp_insert_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_insert_utf8.test b/mysql-test/suite/jp/t/jp_insert_utf8.test index ef6acb90063..e8c41bab4ea 100644 --- a/mysql-test/suite/jp/t/jp_insert_utf8.test +++ b/mysql-test/suite/jp/t/jp_insert_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_instr_sjis.test b/mysql-test/suite/jp/t/jp_instr_sjis.test index c19b5f2b14c..83480ea0267 100644 --- a/mysql-test/suite/jp/t/jp_instr_sjis.test +++ b/mysql-test/suite/jp/t/jp_instr_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_instr_ucs2.test b/mysql-test/suite/jp/t/jp_instr_ucs2.test index b8f83961e90..7b442d09a3d 100644 --- a/mysql-test/suite/jp/t/jp_instr_ucs2.test +++ b/mysql-test/suite/jp/t/jp_instr_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_instr_ujis.test b/mysql-test/suite/jp/t/jp_instr_ujis.test index 696e1147372..d0373ba73ce 100644 --- a/mysql-test/suite/jp/t/jp_instr_ujis.test +++ b/mysql-test/suite/jp/t/jp_instr_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_instr_utf8.test b/mysql-test/suite/jp/t/jp_instr_utf8.test index b25b72bc8d0..c7491101872 100644 --- a/mysql-test/suite/jp/t/jp_instr_utf8.test +++ b/mysql-test/suite/jp/t/jp_instr_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_join_sjis.test b/mysql-test/suite/jp/t/jp_join_sjis.test index 30b23913929..77d1dc15c5c 100644 --- a/mysql-test/suite/jp/t/jp_join_sjis.test +++ b/mysql-test/suite/jp/t/jp_join_sjis.test @@ -1,3 +1,4 @@ +-- source include/have_innodb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_join_ucs2.test b/mysql-test/suite/jp/t/jp_join_ucs2.test index 27e49203dd2..276af80f7af 100644 --- a/mysql-test/suite/jp/t/jp_join_ucs2.test +++ b/mysql-test/suite/jp/t/jp_join_ucs2.test @@ -1,3 +1,4 @@ +-- source include/have_innodb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_join_ujis.test b/mysql-test/suite/jp/t/jp_join_ujis.test index 079f260cc26..5716ee12e60 100644 --- a/mysql-test/suite/jp/t/jp_join_ujis.test +++ b/mysql-test/suite/jp/t/jp_join_ujis.test @@ -1,3 +1,4 @@ +-- source include/have_innodb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_join_utf8.test b/mysql-test/suite/jp/t/jp_join_utf8.test index 0b2f033f8bb..36f8e930bc3 100644 --- a/mysql-test/suite/jp/t/jp_join_utf8.test +++ b/mysql-test/suite/jp/t/jp_join_utf8.test @@ -1,3 +1,4 @@ +-- source include/have_innodb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_left_sjis.test b/mysql-test/suite/jp/t/jp_left_sjis.test index 5d69d9892e2..e93e92493a1 100644 --- a/mysql-test/suite/jp/t/jp_left_sjis.test +++ b/mysql-test/suite/jp/t/jp_left_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_left_ucs2.test b/mysql-test/suite/jp/t/jp_left_ucs2.test index 59d10b7d736..2c1be4a7e6a 100644 --- a/mysql-test/suite/jp/t/jp_left_ucs2.test +++ b/mysql-test/suite/jp/t/jp_left_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_left_ujis.test b/mysql-test/suite/jp/t/jp_left_ujis.test index 718639cd8a4..f639bf643df 100644 --- a/mysql-test/suite/jp/t/jp_left_ujis.test +++ b/mysql-test/suite/jp/t/jp_left_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_left_utf8.test b/mysql-test/suite/jp/t/jp_left_utf8.test index f9c99718e0f..63d9061a879 100644 --- a/mysql-test/suite/jp/t/jp_left_utf8.test +++ b/mysql-test/suite/jp/t/jp_left_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_length_sjis.test b/mysql-test/suite/jp/t/jp_length_sjis.test index 7023891b7f0..81121a4432e 100644 --- a/mysql-test/suite/jp/t/jp_length_sjis.test +++ b/mysql-test/suite/jp/t/jp_length_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_length_ucs2.test b/mysql-test/suite/jp/t/jp_length_ucs2.test index 9951c9b6cd1..1dcc975d868 100644 --- a/mysql-test/suite/jp/t/jp_length_ucs2.test +++ b/mysql-test/suite/jp/t/jp_length_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_length_ujis.test b/mysql-test/suite/jp/t/jp_length_ujis.test index ac3aef2c768..ad41c7a7113 100644 --- a/mysql-test/suite/jp/t/jp_length_ujis.test +++ b/mysql-test/suite/jp/t/jp_length_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_length_utf8.test b/mysql-test/suite/jp/t/jp_length_utf8.test index 5c5021f37be..7bfe1896034 100644 --- a/mysql-test/suite/jp/t/jp_length_utf8.test +++ b/mysql-test/suite/jp/t/jp_length_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_like_sjis.test b/mysql-test/suite/jp/t/jp_like_sjis.test index 5c41b9ff7ef..1cb7aadb876 100644 --- a/mysql-test/suite/jp/t/jp_like_sjis.test +++ b/mysql-test/suite/jp/t/jp_like_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_like_ucs2.test b/mysql-test/suite/jp/t/jp_like_ucs2.test index feae40de49e..1f9b7c09b9d 100644 --- a/mysql-test/suite/jp/t/jp_like_ucs2.test +++ b/mysql-test/suite/jp/t/jp_like_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_like_ujis.test b/mysql-test/suite/jp/t/jp_like_ujis.test index 29ef7c5d48b..56c4fa8a8b0 100644 --- a/mysql-test/suite/jp/t/jp_like_ujis.test +++ b/mysql-test/suite/jp/t/jp_like_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_like_utf8.test b/mysql-test/suite/jp/t/jp_like_utf8.test index 4247242029d..f6cc895d814 100644 --- a/mysql-test/suite/jp/t/jp_like_utf8.test +++ b/mysql-test/suite/jp/t/jp_like_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_locate_sjis.test b/mysql-test/suite/jp/t/jp_locate_sjis.test index 92c671199b6..a015109e2a3 100644 --- a/mysql-test/suite/jp/t/jp_locate_sjis.test +++ b/mysql-test/suite/jp/t/jp_locate_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_locate_ucs2.test b/mysql-test/suite/jp/t/jp_locate_ucs2.test index d00ad67235a..111caefb02e 100644 --- a/mysql-test/suite/jp/t/jp_locate_ucs2.test +++ b/mysql-test/suite/jp/t/jp_locate_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_locate_ujis.test b/mysql-test/suite/jp/t/jp_locate_ujis.test index 5375fad75db..872555a4532 100644 --- a/mysql-test/suite/jp/t/jp_locate_ujis.test +++ b/mysql-test/suite/jp/t/jp_locate_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_locate_utf8.test b/mysql-test/suite/jp/t/jp_locate_utf8.test index cbf6714e322..85d2e69fd60 100644 --- a/mysql-test/suite/jp/t/jp_locate_utf8.test +++ b/mysql-test/suite/jp/t/jp_locate_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_lpad_sjis.test b/mysql-test/suite/jp/t/jp_lpad_sjis.test index 7038112cbc8..4b18402473d 100644 --- a/mysql-test/suite/jp/t/jp_lpad_sjis.test +++ b/mysql-test/suite/jp/t/jp_lpad_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_lpad_ucs2.test b/mysql-test/suite/jp/t/jp_lpad_ucs2.test index e3bead0855a..95dd088abce 100644 --- a/mysql-test/suite/jp/t/jp_lpad_ucs2.test +++ b/mysql-test/suite/jp/t/jp_lpad_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_lpad_ujis.test b/mysql-test/suite/jp/t/jp_lpad_ujis.test index eea4877ec3a..c1149a67207 100644 --- a/mysql-test/suite/jp/t/jp_lpad_ujis.test +++ b/mysql-test/suite/jp/t/jp_lpad_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_lpad_utf8.test b/mysql-test/suite/jp/t/jp_lpad_utf8.test index 599bf5eba28..42aa2fd860b 100644 --- a/mysql-test/suite/jp/t/jp_lpad_utf8.test +++ b/mysql-test/suite/jp/t/jp_lpad_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_ltrim_sjis.test b/mysql-test/suite/jp/t/jp_ltrim_sjis.test index 864238df07c..7b5e20ec9a4 100644 --- a/mysql-test/suite/jp/t/jp_ltrim_sjis.test +++ b/mysql-test/suite/jp/t/jp_ltrim_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_ltrim_ucs2.test b/mysql-test/suite/jp/t/jp_ltrim_ucs2.test index 0ae647f5222..25a6eaabc60 100644 --- a/mysql-test/suite/jp/t/jp_ltrim_ucs2.test +++ b/mysql-test/suite/jp/t/jp_ltrim_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_ltrim_ujis.test b/mysql-test/suite/jp/t/jp_ltrim_ujis.test index 64363aa330b..fbba90a38b5 100644 --- a/mysql-test/suite/jp/t/jp_ltrim_ujis.test +++ b/mysql-test/suite/jp/t/jp_ltrim_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_ltrim_utf8.test b/mysql-test/suite/jp/t/jp_ltrim_utf8.test index 846ce11163b..b33d22e459d 100644 --- a/mysql-test/suite/jp/t/jp_ltrim_utf8.test +++ b/mysql-test/suite/jp/t/jp_ltrim_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_ps_sjis.test b/mysql-test/suite/jp/t/jp_ps_sjis.test index cc93dca2a79..2e09c51cf7a 100644 --- a/mysql-test/suite/jp/t/jp_ps_sjis.test +++ b/mysql-test/suite/jp/t/jp_ps_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings DROP TABLE IF EXISTS t1; diff --git a/mysql-test/suite/jp/t/jp_ps_ujis.test b/mysql-test/suite/jp/t/jp_ps_ujis.test index 7d61c12e496..ab64fcf5216 100644 --- a/mysql-test/suite/jp/t/jp_ps_ujis.test +++ b/mysql-test/suite/jp/t/jp_ps_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_replace_sjis.test b/mysql-test/suite/jp/t/jp_replace_sjis.test index 811d3350a34..91996ba83e9 100644 --- a/mysql-test/suite/jp/t/jp_replace_sjis.test +++ b/mysql-test/suite/jp/t/jp_replace_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_replace_ucs2.test b/mysql-test/suite/jp/t/jp_replace_ucs2.test index 7739a30cd9c..3043115ef62 100644 --- a/mysql-test/suite/jp/t/jp_replace_ucs2.test +++ b/mysql-test/suite/jp/t/jp_replace_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_replace_ujis.test b/mysql-test/suite/jp/t/jp_replace_ujis.test index 3d8724e63d5..1ba29426010 100644 --- a/mysql-test/suite/jp/t/jp_replace_ujis.test +++ b/mysql-test/suite/jp/t/jp_replace_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_replace_utf8.test b/mysql-test/suite/jp/t/jp_replace_utf8.test index 1d89a43648b..81b892a5df7 100644 --- a/mysql-test/suite/jp/t/jp_replace_utf8.test +++ b/mysql-test/suite/jp/t/jp_replace_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_reverse_sjis.test b/mysql-test/suite/jp/t/jp_reverse_sjis.test index c1e2b2a17ca..5d9014dc3a6 100644 --- a/mysql-test/suite/jp/t/jp_reverse_sjis.test +++ b/mysql-test/suite/jp/t/jp_reverse_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_reverse_ucs2.test b/mysql-test/suite/jp/t/jp_reverse_ucs2.test index d91ec7f70e8..95afeeda570 100644 --- a/mysql-test/suite/jp/t/jp_reverse_ucs2.test +++ b/mysql-test/suite/jp/t/jp_reverse_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_reverse_ujis.test b/mysql-test/suite/jp/t/jp_reverse_ujis.test index d37d363f59a..0d66201c367 100644 --- a/mysql-test/suite/jp/t/jp_reverse_ujis.test +++ b/mysql-test/suite/jp/t/jp_reverse_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_reverse_utf8.test b/mysql-test/suite/jp/t/jp_reverse_utf8.test index 4e53d4be049..ee323b64ada 100644 --- a/mysql-test/suite/jp/t/jp_reverse_utf8.test +++ b/mysql-test/suite/jp/t/jp_reverse_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_right_sjis.test b/mysql-test/suite/jp/t/jp_right_sjis.test index f481ec532ec..edf3795c510 100644 --- a/mysql-test/suite/jp/t/jp_right_sjis.test +++ b/mysql-test/suite/jp/t/jp_right_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_right_ucs2.test b/mysql-test/suite/jp/t/jp_right_ucs2.test index 23ca2fa4fae..d3132b3e11f 100644 --- a/mysql-test/suite/jp/t/jp_right_ucs2.test +++ b/mysql-test/suite/jp/t/jp_right_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_right_ujis.test b/mysql-test/suite/jp/t/jp_right_ujis.test index b5284489c7e..92cd7ed83dc 100644 --- a/mysql-test/suite/jp/t/jp_right_ujis.test +++ b/mysql-test/suite/jp/t/jp_right_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_right_utf8.test b/mysql-test/suite/jp/t/jp_right_utf8.test index 863755c1dcf..6d884e55771 100644 --- a/mysql-test/suite/jp/t/jp_right_utf8.test +++ b/mysql-test/suite/jp/t/jp_right_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_rpad_sjis.test b/mysql-test/suite/jp/t/jp_rpad_sjis.test index cc008631548..1bf752020bb 100644 --- a/mysql-test/suite/jp/t/jp_rpad_sjis.test +++ b/mysql-test/suite/jp/t/jp_rpad_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_rpad_ucs2.test b/mysql-test/suite/jp/t/jp_rpad_ucs2.test index ca5059497d3..f3876dafe2f 100644 --- a/mysql-test/suite/jp/t/jp_rpad_ucs2.test +++ b/mysql-test/suite/jp/t/jp_rpad_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_rpad_ujis.test b/mysql-test/suite/jp/t/jp_rpad_ujis.test index d7725b80af7..6ace7442b8d 100644 --- a/mysql-test/suite/jp/t/jp_rpad_ujis.test +++ b/mysql-test/suite/jp/t/jp_rpad_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_rpad_utf8.test b/mysql-test/suite/jp/t/jp_rpad_utf8.test index b5a335bc6ce..6c075e20cb9 100644 --- a/mysql-test/suite/jp/t/jp_rpad_utf8.test +++ b/mysql-test/suite/jp/t/jp_rpad_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_rtrim_sjis.test b/mysql-test/suite/jp/t/jp_rtrim_sjis.test index c80cf9410f9..1a9511698ce 100644 --- a/mysql-test/suite/jp/t/jp_rtrim_sjis.test +++ b/mysql-test/suite/jp/t/jp_rtrim_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_rtrim_ucs2.test b/mysql-test/suite/jp/t/jp_rtrim_ucs2.test index 0fac38d12d1..2132eaa5cbe 100644 --- a/mysql-test/suite/jp/t/jp_rtrim_ucs2.test +++ b/mysql-test/suite/jp/t/jp_rtrim_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_rtrim_ujis.test b/mysql-test/suite/jp/t/jp_rtrim_ujis.test index 46cda84dd55..07b42b96dfd 100644 --- a/mysql-test/suite/jp/t/jp_rtrim_ujis.test +++ b/mysql-test/suite/jp/t/jp_rtrim_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_rtrim_utf8.test b/mysql-test/suite/jp/t/jp_rtrim_utf8.test index 4880a42db3e..48f863d891c 100644 --- a/mysql-test/suite/jp/t/jp_rtrim_utf8.test +++ b/mysql-test/suite/jp/t/jp_rtrim_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_select_sjis.test b/mysql-test/suite/jp/t/jp_select_sjis.test index d84ed7a4b2c..fc80ce01471 100644 --- a/mysql-test/suite/jp/t/jp_select_sjis.test +++ b/mysql-test/suite/jp/t/jp_select_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_select_ucs2.test b/mysql-test/suite/jp/t/jp_select_ucs2.test index 2e4602e7ea4..6cebdb65db1 100644 --- a/mysql-test/suite/jp/t/jp_select_ucs2.test +++ b/mysql-test/suite/jp/t/jp_select_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_select_ujis.test b/mysql-test/suite/jp/t/jp_select_ujis.test index 4ad9e581a92..0e4d1ffc771 100644 --- a/mysql-test/suite/jp/t/jp_select_ujis.test +++ b/mysql-test/suite/jp/t/jp_select_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_select_utf8.test b/mysql-test/suite/jp/t/jp_select_utf8.test index e614b9ccfb0..88fd6677f7c 100644 --- a/mysql-test/suite/jp/t/jp_select_utf8.test +++ b/mysql-test/suite/jp/t/jp_select_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_subquery_sjis.test b/mysql-test/suite/jp/t/jp_subquery_sjis.test index 5292c7a2519..b6aa3e52f51 100644 --- a/mysql-test/suite/jp/t/jp_subquery_sjis.test +++ b/mysql-test/suite/jp/t/jp_subquery_sjis.test @@ -1,3 +1,4 @@ +-- source include/have_innodb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_subquery_ucs2.test b/mysql-test/suite/jp/t/jp_subquery_ucs2.test index 311433438f4..d2c1fd29358 100644 --- a/mysql-test/suite/jp/t/jp_subquery_ucs2.test +++ b/mysql-test/suite/jp/t/jp_subquery_ucs2.test @@ -1,3 +1,4 @@ +-- source include/have_innodb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_subquery_ujis.test b/mysql-test/suite/jp/t/jp_subquery_ujis.test index 67c9f00fd85..2fd0427481c 100644 --- a/mysql-test/suite/jp/t/jp_subquery_ujis.test +++ b/mysql-test/suite/jp/t/jp_subquery_ujis.test @@ -1,3 +1,4 @@ +-- source include/have_innodb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_subquery_utf8.test b/mysql-test/suite/jp/t/jp_subquery_utf8.test index 97c2df8ce30..460f1c1a903 100644 --- a/mysql-test/suite/jp/t/jp_subquery_utf8.test +++ b/mysql-test/suite/jp/t/jp_subquery_utf8.test @@ -1,3 +1,4 @@ +-- source include/have_innodb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_substring_sjis.test b/mysql-test/suite/jp/t/jp_substring_sjis.test index ac929114880..a6c9496a873 100644 --- a/mysql-test/suite/jp/t/jp_substring_sjis.test +++ b/mysql-test/suite/jp/t/jp_substring_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_substring_ucs2.test b/mysql-test/suite/jp/t/jp_substring_ucs2.test index f3cd5550072..71c0f903aa8 100644 --- a/mysql-test/suite/jp/t/jp_substring_ucs2.test +++ b/mysql-test/suite/jp/t/jp_substring_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_substring_ujis.test b/mysql-test/suite/jp/t/jp_substring_ujis.test index c201c7148da..c93ab761352 100644 --- a/mysql-test/suite/jp/t/jp_substring_ujis.test +++ b/mysql-test/suite/jp/t/jp_substring_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_substring_utf8.test b/mysql-test/suite/jp/t/jp_substring_utf8.test index 9f88115c899..3bd1bbbb491 100644 --- a/mysql-test/suite/jp/t/jp_substring_utf8.test +++ b/mysql-test/suite/jp/t/jp_substring_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_trim_sjis.test b/mysql-test/suite/jp/t/jp_trim_sjis.test index 0f6821605ed..04dc832d49f 100644 --- a/mysql-test/suite/jp/t/jp_trim_sjis.test +++ b/mysql-test/suite/jp/t/jp_trim_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_trim_ucs2.test b/mysql-test/suite/jp/t/jp_trim_ucs2.test index 1d8a12650e0..7c82c249dcc 100644 --- a/mysql-test/suite/jp/t/jp_trim_ucs2.test +++ b/mysql-test/suite/jp/t/jp_trim_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_trim_ujis.test b/mysql-test/suite/jp/t/jp_trim_ujis.test index de401217fcf..bcd9942f0ae 100644 --- a/mysql-test/suite/jp/t/jp_trim_ujis.test +++ b/mysql-test/suite/jp/t/jp_trim_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_trim_utf8.test b/mysql-test/suite/jp/t/jp_trim_utf8.test index 0777de15c36..f6f487254bc 100644 --- a/mysql-test/suite/jp/t/jp_trim_utf8.test +++ b/mysql-test/suite/jp/t/jp_trim_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_union_ujis.test b/mysql-test/suite/jp/t/jp_union_ujis.test index e36d18c85c0..c1252b9f5a2 100644 --- a/mysql-test/suite/jp/t/jp_union_ujis.test +++ b/mysql-test/suite/jp/t/jp_union_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_update_sjis.test b/mysql-test/suite/jp/t/jp_update_sjis.test index 0dc7372ae92..4b3733cff76 100644 --- a/mysql-test/suite/jp/t/jp_update_sjis.test +++ b/mysql-test/suite/jp/t/jp_update_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_update_ucs2.test b/mysql-test/suite/jp/t/jp_update_ucs2.test index 7a3c1233210..6ad7db9c5a0 100644 --- a/mysql-test/suite/jp/t/jp_update_ucs2.test +++ b/mysql-test/suite/jp/t/jp_update_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_update_ujis.test b/mysql-test/suite/jp/t/jp_update_ujis.test index 852e45b9eeb..14ca6580f04 100644 --- a/mysql-test/suite/jp/t/jp_update_ujis.test +++ b/mysql-test/suite/jp/t/jp_update_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_update_utf8.test b/mysql-test/suite/jp/t/jp_update_utf8.test index b4b3d18ecab..135f6e6981c 100644 --- a/mysql-test/suite/jp/t/jp_update_utf8.test +++ b/mysql-test/suite/jp/t/jp_update_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; diff --git a/mysql-test/suite/jp/t/jp_where_sjis.test b/mysql-test/suite/jp/t/jp_where_sjis.test index 452d137f643..890a4c28f3c 100644 --- a/mysql-test/suite/jp/t/jp_where_sjis.test +++ b/mysql-test/suite/jp/t/jp_where_sjis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --character_set sjis --disable_warnings drop table if exists `T1`; diff --git a/mysql-test/suite/jp/t/jp_where_ucs2.test b/mysql-test/suite/jp/t/jp_where_ucs2.test index 3b82eacd615..7d90faaaa89 100644 --- a/mysql-test/suite/jp/t/jp_where_ucs2.test +++ b/mysql-test/suite/jp/t/jp_where_ucs2.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ucs2.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_where_ujis.test b/mysql-test/suite/jp/t/jp_where_ujis.test index e96404fbb17..2f0924e8c8e 100644 --- a/mysql-test/suite/jp/t/jp_where_ujis.test +++ b/mysql-test/suite/jp/t/jp_where_ujis.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --source include/have_ujis.inc --disable_warnings diff --git a/mysql-test/suite/jp/t/jp_where_utf8.test b/mysql-test/suite/jp/t/jp_where_utf8.test index 7280bc33f21..231553e8819 100644 --- a/mysql-test/suite/jp/t/jp_where_utf8.test +++ b/mysql-test/suite/jp/t/jp_where_utf8.test @@ -1,3 +1,5 @@ +-- source include/have_innodb.inc +-- source include/have_bdb.inc --disable_warnings drop table if exists `シエシ疏; drop table if exists `シエシ蛋; From 16c57d9099c4fee924be5b66642296850d922235 Mon Sep 17 00:00:00 2001 From: Sergey Vojtovich Date: Wed, 9 Sep 2009 14:38:50 +0500 Subject: [PATCH 09/18] BUG#45638 - Create temporary table with engine innodb fails Create temporary InnoDB table fails on case insensitive filesystems, when lower_case_table_names is 2 (e.g. OS X) and temporary directory path contains upper case letters. The problem was that tmpdir prefix was converted to lower case when table was created, but was passed as is when table was opened. Fixed by leaving tmpdir prefix part intact. --- .../r/lowercase_mixed_tmpdir_innodb.result | 6 ++++ .../lowercase_mixed_tmpdir_innodb-master.opt | 2 ++ .../t/lowercase_mixed_tmpdir_innodb-master.sh | 6 ++++ .../t/lowercase_mixed_tmpdir_innodb.test | 12 ++++++++ sql/handler.cc | 30 +++++++++++++++++++ 5 files changed, 56 insertions(+) create mode 100755 mysql-test/r/lowercase_mixed_tmpdir_innodb.result create mode 100644 mysql-test/t/lowercase_mixed_tmpdir_innodb-master.opt create mode 100644 mysql-test/t/lowercase_mixed_tmpdir_innodb-master.sh create mode 100644 mysql-test/t/lowercase_mixed_tmpdir_innodb.test diff --git a/mysql-test/r/lowercase_mixed_tmpdir_innodb.result b/mysql-test/r/lowercase_mixed_tmpdir_innodb.result new file mode 100755 index 00000000000..a478b49cfda --- /dev/null +++ b/mysql-test/r/lowercase_mixed_tmpdir_innodb.result @@ -0,0 +1,6 @@ +drop table if exists t1; +create table t1 (id int) engine=InnoDB; +insert into t1 values (1); +create temporary table t2 engine=InnoDB select * from t1; +drop temporary table t2; +drop table t1; diff --git a/mysql-test/t/lowercase_mixed_tmpdir_innodb-master.opt b/mysql-test/t/lowercase_mixed_tmpdir_innodb-master.opt new file mode 100644 index 00000000000..272f91d629c --- /dev/null +++ b/mysql-test/t/lowercase_mixed_tmpdir_innodb-master.opt @@ -0,0 +1,2 @@ +--lower-case-table-names=2 +--tmpdir=$MYSQLTEST_VARDIR/tmp/MixedCase diff --git a/mysql-test/t/lowercase_mixed_tmpdir_innodb-master.sh b/mysql-test/t/lowercase_mixed_tmpdir_innodb-master.sh new file mode 100644 index 00000000000..95c26e3aa02 --- /dev/null +++ b/mysql-test/t/lowercase_mixed_tmpdir_innodb-master.sh @@ -0,0 +1,6 @@ +# This test requires a non-lowercase tmpdir directory on a case-sensitive +# filesystem. + +d="$MYSQLTEST_VARDIR/tmp/MixedCase" +test -d "$d" || mkdir "$d" +rm -f "$d"/* diff --git a/mysql-test/t/lowercase_mixed_tmpdir_innodb.test b/mysql-test/t/lowercase_mixed_tmpdir_innodb.test new file mode 100644 index 00000000000..e3b9b7b2a32 --- /dev/null +++ b/mysql-test/t/lowercase_mixed_tmpdir_innodb.test @@ -0,0 +1,12 @@ +--source include/have_lowercase2.inc +--source include/have_innodb.inc + +--disable_warnings +drop table if exists t1; +--enable_warnings + +create table t1 (id int) engine=InnoDB; +insert into t1 values (1); +create temporary table t2 engine=InnoDB select * from t1; +drop temporary table t2; +drop table t1; diff --git a/sql/handler.cc b/sql/handler.cc index e5c64452aaf..a4d88e84f4c 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -1885,12 +1885,42 @@ bool ha_flush_logs(handlerton *db_type) return FALSE; } + +/** + @brief make canonical filename + + @param[in] file table handler + @param[in] path original path + @param[out] tmp_path buffer for canonized path + + @details Lower case db name and table name path parts for + non file based tables when lower_case_table_names + is 2 (store as is, compare in lower case). + Filesystem path prefix (mysql_data_home or tmpdir) + is left intact. + + @note tmp_path may be left intact if no conversion was + performed. + + @retval canonized path + + @todo This may be done more efficiently when table path + gets built. Convert this function to something like + ASSERT_CANONICAL_FILENAME. +*/ const char *get_canonical_filename(handler *file, const char *path, char *tmp_path) { + uint i; if (lower_case_table_names != 2 || (file->ha_table_flags() & HA_FILE_BASED)) return path; + for (i= 0; i <= mysql_tmpdir_list.max; i++) + { + if (is_prefix(path, mysql_tmpdir_list.list[i])) + return path; + } + /* Ensure that table handler get path in lower case */ if (tmp_path != path) strmov(tmp_path, path); From f22baa9a1e85913b0dcafa0b651453df7ccdc7ad Mon Sep 17 00:00:00 2001 From: Sergey Vojtovich Date: Wed, 9 Sep 2009 14:42:12 +0500 Subject: [PATCH 10/18] BUG#29203 - archive tables have weird values in show table status Archive engine returns wrong values for average record length and max data length. With this fix they're calculated as following: - max data length is 2 ^ 63 where large files are supported and INT_MAX32 where this is not supported; - average record length is data length / records in data file. --- mysql-test/r/archive.result | 11 +++++++++++ mysql-test/t/archive.test | 11 +++++++++++ storage/archive/ha_archive.cc | 5 +++-- 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/archive.result b/mysql-test/r/archive.result index 8c26ea1ff82..3271e2f46d4 100644 --- a/mysql-test/r/archive.result +++ b/mysql-test/r/archive.result @@ -12695,3 +12695,14 @@ a b 1 NULL 2 NULL DROP TABLE t1; +CREATE TABLE t1(a INT, b BLOB) ENGINE=archive; +SELECT DATA_LENGTH, AVG_ROW_LENGTH FROM +INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1' AND TABLE_SCHEMA='test'; +DATA_LENGTH AVG_ROW_LENGTH +8666 15 +INSERT INTO t1 VALUES(1, 'sampleblob1'),(2, 'sampleblob2'); +SELECT DATA_LENGTH, AVG_ROW_LENGTH FROM +INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1' AND TABLE_SCHEMA='test'; +DATA_LENGTH AVG_ROW_LENGTH +8700 4350 +DROP TABLE t1; diff --git a/mysql-test/t/archive.test b/mysql-test/t/archive.test index 7139d95ab49..afb8e413b2c 100644 --- a/mysql-test/t/archive.test +++ b/mysql-test/t/archive.test @@ -1599,3 +1599,14 @@ INSERT INTO t1 VALUES (NULL, NULL),(NULL, NULL); FLUSH TABLE t1; SELECT * FROM t1 ORDER BY a; DROP TABLE t1; + +# +# BUG#29203 - archive tables have weird values in show table status +# +CREATE TABLE t1(a INT, b BLOB) ENGINE=archive; +SELECT DATA_LENGTH, AVG_ROW_LENGTH FROM + INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1' AND TABLE_SCHEMA='test'; +INSERT INTO t1 VALUES(1, 'sampleblob1'),(2, 'sampleblob2'); +SELECT DATA_LENGTH, AVG_ROW_LENGTH FROM + INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1' AND TABLE_SCHEMA='test'; +DROP TABLE t1; diff --git a/storage/archive/ha_archive.cc b/storage/archive/ha_archive.cc index 1146b2eb73a..49bf036c5a6 100644 --- a/storage/archive/ha_archive.cc +++ b/storage/archive/ha_archive.cc @@ -1472,11 +1472,12 @@ int ha_archive::info(uint flag) VOID(my_stat(share->data_file_name, &file_stat, MYF(MY_WME))); - stats.mean_rec_length= table->s->reclength + buffer.alloced_length(); stats.data_file_length= file_stat.st_size; stats.create_time= (ulong) file_stat.st_ctime; stats.update_time= (ulong) file_stat.st_mtime; - stats.max_data_file_length= share->rows_recorded * stats.mean_rec_length; + stats.mean_rec_length= stats.records ? + stats.data_file_length / stats.records : table->s->reclength; + stats.max_data_file_length= MAX_FILE_SIZE; } stats.delete_length= 0; stats.index_file_length=0; From 96c88435144750e647f28edb341a171ae049f1bf Mon Sep 17 00:00:00 2001 From: Alexander Nozdrin Date: Thu, 10 Sep 2009 11:40:57 +0400 Subject: [PATCH 11/18] A patch for Bug#45118 (mysqld.exe crashed in debug mode on Windows in dbug.c) -- part 2: a patch for the DBUG subsystem to detect misuse of DBUG_ENTER / DBUG_RETURN macros. 5.1 version. --- client/mysqltest.cc | 7 +- include/my_dbug.h | 51 ++++++++++++- sql/mysqld.cc | 4 +- sql/rpl_filter.cc | 2 + sql/set_var.cc | 1 + sql/sql_insert.cc | 85 ++++++++++++--------- sql/sql_parse.cc | 49 +++++++----- storage/ndb/src/kernel/blocks/suma/Suma.cpp | 18 ++--- 8 files changed, 144 insertions(+), 73 deletions(-) diff --git a/client/mysqltest.cc b/client/mysqltest.cc index b9535ba6b05..af2749e3191 100644 --- a/client/mysqltest.cc +++ b/client/mysqltest.cc @@ -1165,6 +1165,7 @@ void free_used_memory() mysql_server_end(); /* Don't use DBUG after mysql_server_end() */ + DBUG_VIOLATION_HELPER_LEAVE; return; } @@ -2487,7 +2488,7 @@ void do_source(struct st_command *command) } dynstr_free(&ds_filename); - return; + DBUG_VOID_RETURN; } @@ -7507,6 +7508,8 @@ static void init_signal_handling(void) #endif sigaction(SIGILL, &sa, NULL); sigaction(SIGFPE, &sa, NULL); + + DBUG_VOID_RETURN; } #endif /* !__WIN__ */ @@ -8121,6 +8124,8 @@ void do_get_replace_column(struct st_command *command) } my_free(start, MYF(0)); command->last_argument= command->end; + + DBUG_VOID_RETURN; } diff --git a/include/my_dbug.h b/include/my_dbug.h index a77e439b5db..71dc34791dc 100644 --- a/include/my_dbug.h +++ b/include/my_dbug.h @@ -16,6 +16,29 @@ #ifndef _dbug_h #define _dbug_h +#if defined(__cplusplus) && !defined(DBUG_OFF) +class Dbug_violation_helper +{ +public: + inline Dbug_violation_helper() : + _entered(TRUE) + { } + + inline ~Dbug_violation_helper() + { + assert(!_entered); + } + + inline void leave() + { + _entered= FALSE; + } + +private: + bool _entered; +}; +#endif /* C++ */ + #ifdef __cplusplus extern "C" { #endif @@ -47,11 +70,31 @@ extern void _db_lock_file_(void); extern void _db_unlock_file_(void); extern FILE *_db_fp_(void); -#define DBUG_ENTER(a) const char *_db_func_, *_db_file_; uint _db_level_; \ - char **_db_framep_; \ - _db_enter_ (a,__FILE__,__LINE__,&_db_func_,&_db_file_,&_db_level_, \ - &_db_framep_) +#ifdef __cplusplus + +#define DBUG_ENTER(a) \ + const char *_db_func_, *_db_file_; \ + uint _db_level_; \ + char **_db_framep_; \ + Dbug_violation_helper dbug_violation_helper; \ + _db_enter_ (a, __FILE__, __LINE__, &_db_func_, &_db_file_, \ + &_db_level_, &_db_framep_) +#define DBUG_VIOLATION_HELPER_LEAVE dbug_violation_helper.leave() + +#else /* C */ + +#define DBUG_ENTER(a) \ + const char *_db_func_, *_db_file_; \ + uint _db_level_; \ + char **_db_framep_; \ + _db_enter_ (a, __FILE__, __LINE__, &_db_func_, &_db_file_, \ + &_db_level_, &_db_framep_) +#define DBUG_VIOLATION_HELPER_LEAVE do { } while(0) + +#endif /* C++ */ + #define DBUG_LEAVE \ + DBUG_VIOLATION_HELPER_LEAVE; \ _db_return_ (__LINE__, &_db_func_, &_db_file_, &_db_level_) #define DBUG_RETURN(a1) do {DBUG_LEAVE; return(a1);} while(0) #define DBUG_VOID_RETURN do {DBUG_LEAVE; return;} while(0) diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 3e2f8eabd39..3f536f01094 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -4789,10 +4789,10 @@ static bool read_init_file(char *file_name) DBUG_ENTER("read_init_file"); DBUG_PRINT("enter",("name: %s",file_name)); if (!(file=my_fopen(file_name,O_RDONLY,MYF(MY_WME)))) - return(1); + DBUG_RETURN(TRUE); bootstrap(file); (void) my_fclose(file,MYF(MY_WME)); - return 0; + DBUG_RETURN(FALSE); } diff --git a/sql/rpl_filter.cc b/sql/rpl_filter.cc index 3004a3905e5..68272c58bb1 100644 --- a/sql/rpl_filter.cc +++ b/sql/rpl_filter.cc @@ -350,6 +350,7 @@ Rpl_filter::add_do_db(const char* table_spec) DBUG_ENTER("Rpl_filter::add_do_db"); i_string *db = new i_string(table_spec); do_db.push_back(db); + DBUG_VOID_RETURN; } @@ -359,6 +360,7 @@ Rpl_filter::add_ignore_db(const char* table_spec) DBUG_ENTER("Rpl_filter::add_ignore_db"); i_string *db = new i_string(table_spec); ignore_db.push_back(db); + DBUG_VOID_RETURN; } extern "C" uchar *get_table_key(const uchar *, size_t *, my_bool); diff --git a/sql/set_var.cc b/sql/set_var.cc index 0b89333ce03..b64b54fdd29 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -1238,6 +1238,7 @@ void fix_slave_exec_mode(enum_var_type type) } if (bit_is_set(slave_exec_mode_options, SLAVE_EXEC_MODE_IDEMPOTENT) == 0) bit_do_set(slave_exec_mode_options, SLAVE_EXEC_MODE_STRICT); + DBUG_VOID_RETURN; } diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc index b79b9b1ae9e..3ac40ae825a 100644 --- a/sql/sql_insert.cc +++ b/sql/sql_insert.cc @@ -2274,44 +2274,9 @@ void kill_delayed_threads(void) } -/* - * Create a new delayed insert thread -*/ - -pthread_handler_t handle_delayed_insert(void *arg) +static void handle_delayed_insert_impl(THD *thd, Delayed_insert *di) { - Delayed_insert *di=(Delayed_insert*) arg; - THD *thd= &di->thd; - - pthread_detach_this_thread(); - /* Add thread to THD list so that's it's visible in 'show processlist' */ - pthread_mutex_lock(&LOCK_thread_count); - thd->thread_id= thd->variables.pseudo_thread_id= thread_id++; - thd->set_current_time(); - threads.append(thd); - thd->killed=abort_loop ? THD::KILL_CONNECTION : THD::NOT_KILLED; - pthread_mutex_unlock(&LOCK_thread_count); - - /* - Wait until the client runs into pthread_cond_wait(), - where we free it after the table is opened and di linked in the list. - If we did not wait here, the client might detect the opened table - before it is linked to the list. It would release LOCK_delayed_create - and allow another thread to create another handler for the same table, - since it does not find one in the list. - */ - pthread_mutex_lock(&di->mutex); -#if !defined( __WIN__) /* Win32 calls this in pthread_create */ - if (my_thread_init()) - { - /* Can't use my_error since store_globals has not yet been called */ - thd->main_da.set_error_status(thd, ER_OUT_OF_RESOURCES, - ER(ER_OUT_OF_RESOURCES)); - goto end; - } -#endif - - DBUG_ENTER("handle_delayed_insert"); + DBUG_ENTER("handle_delayed_insert_impl"); thd->thread_stack= (char*) &thd; if (init_thr_lock() || thd->store_globals()) { @@ -2500,6 +2465,49 @@ err: */ ha_autocommit_or_rollback(thd, 1); + DBUG_VOID_RETURN; +} + + +/* + * Create a new delayed insert thread +*/ + +pthread_handler_t handle_delayed_insert(void *arg) +{ + Delayed_insert *di=(Delayed_insert*) arg; + THD *thd= &di->thd; + + pthread_detach_this_thread(); + /* Add thread to THD list so that's it's visible in 'show processlist' */ + pthread_mutex_lock(&LOCK_thread_count); + thd->thread_id= thd->variables.pseudo_thread_id= thread_id++; + thd->set_current_time(); + threads.append(thd); + thd->killed=abort_loop ? THD::KILL_CONNECTION : THD::NOT_KILLED; + pthread_mutex_unlock(&LOCK_thread_count); + + /* + Wait until the client runs into pthread_cond_wait(), + where we free it after the table is opened and di linked in the list. + If we did not wait here, the client might detect the opened table + before it is linked to the list. It would release LOCK_delayed_create + and allow another thread to create another handler for the same table, + since it does not find one in the list. + */ + pthread_mutex_lock(&di->mutex); +#if !defined( __WIN__) /* Win32 calls this in pthread_create */ + if (my_thread_init()) + { + /* Can't use my_error since store_globals has not yet been called */ + thd->main_da.set_error_status(thd, ER_OUT_OF_RESOURCES, + ER(ER_OUT_OF_RESOURCES)); + goto end; + } +#endif + + handle_delayed_insert_impl(thd, di); + #ifndef __WIN__ end: #endif @@ -2523,7 +2531,8 @@ end: my_thread_end(); pthread_exit(0); - DBUG_RETURN(0); + + return 0; } diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index ca27d476213..a977740ebe2 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -408,29 +408,12 @@ void execute_init_command(THD *thd, sys_var_str *init_command_var, } -/** - Execute commands from bootstrap_file. - - Used when creating the initial grant tables. -*/ - -pthread_handler_t handle_bootstrap(void *arg) +static void handle_bootstrap_impl(THD *thd) { - THD *thd=(THD*) arg; FILE *file=bootstrap_file; char *buff; const char* found_semicolon= NULL; - /* The following must be called before DBUG_ENTER */ - thd->thread_stack= (char*) &thd; - if (my_thread_init() || thd->store_globals()) - { -#ifndef EMBEDDED_LIBRARY - close_connection(thd, ER_OUT_OF_RESOURCES, 1); -#endif - thd->fatal_error(); - goto end; - } DBUG_ENTER("handle_bootstrap"); #ifndef EMBEDDED_LIBRARY @@ -525,6 +508,33 @@ pthread_handler_t handle_bootstrap(void *arg) #endif } + DBUG_VOID_RETURN; +} + + +/** + Execute commands from bootstrap_file. + + Used when creating the initial grant tables. +*/ + +pthread_handler_t handle_bootstrap(void *arg) +{ + THD *thd=(THD*) arg; + + /* The following must be called before DBUG_ENTER */ + thd->thread_stack= (char*) &thd; + if (my_thread_init() || thd->store_globals()) + { +#ifndef EMBEDDED_LIBRARY + close_connection(thd, ER_OUT_OF_RESOURCES, 1); +#endif + thd->fatal_error(); + goto end; + } + + handle_bootstrap_impl(thd); + end: net_end(&thd->net); thd->cleanup(); @@ -539,7 +549,8 @@ end: my_thread_end(); pthread_exit(0); #endif - DBUG_RETURN(0); + + return 0; } diff --git a/storage/ndb/src/kernel/blocks/suma/Suma.cpp b/storage/ndb/src/kernel/blocks/suma/Suma.cpp index 5f0510cf43a..9179cf7fbbd 100644 --- a/storage/ndb/src/kernel/blocks/suma/Suma.cpp +++ b/storage/ndb/src/kernel/blocks/suma/Suma.cpp @@ -274,7 +274,7 @@ Suma::execSTTOR(Signal* signal) { jam(); send_start_me_req(signal); - return; + DBUG_VOID_RETURN; } } @@ -322,7 +322,7 @@ Suma::execSTTOR(Signal* signal) { if (ERROR_INSERTED(13030)) { ndbout_c("Dont start handover"); - return; + DBUG_VOID_RETURN; } }//if @@ -332,7 +332,7 @@ Suma::execSTTOR(Signal* signal) { * Allow API's to connect */ sendSTTORRY(signal); - return; + DBUG_VOID_RETURN; } if(startphase == 101) @@ -345,7 +345,7 @@ Suma::execSTTOR(Signal* signal) { */ c_startup.m_wait_handover= true; check_start_handover(signal); - return; + DBUG_VOID_RETURN; } } sendSTTORRY(signal); @@ -575,19 +575,19 @@ void Suma::execAPI_FAILREQ(Signal* signal) jam(); sendSignalWithDelay(reference(), GSN_API_FAILREQ, signal, 200, signal->getLength()); - return; + DBUG_VOID_RETURN; } if (c_failedApiNodes.get(failedApiNode)) { jam(); - return; + DBUG_VOID_RETURN; } if (!c_subscriber_nodes.get(failedApiNode)) { jam(); - return; + DBUG_VOID_RETURN; } c_failedApiNodes.set(failedApiNode); @@ -2453,7 +2453,7 @@ Suma::execSUB_START_REQ(Signal* signal){ jam(); c_subscriberPool.release(subbPtr); sendSubStartRef(signal, SubStartRef::PartiallyConnected); - return; + DBUG_VOID_RETURN; } DBUG_PRINT("info",("c_subscriberPool size: %d free: %d", @@ -4289,7 +4289,7 @@ Suma::Restart::runSUMA_START_ME_REQ(Signal* signal, Uint32 sumaRef) ref->errorCode = SumaStartMeRef::Busy; suma.sendSignal(sumaRef, GSN_SUMA_START_ME_REF, signal, SumaStartMeRef::SignalLength, JBB); - return; + DBUG_VOID_RETURN; } nodeId = refToNode(sumaRef); From 242bb2634c8480c5f1b5bf13649eb0f47d9ac2e9 Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Thu, 10 Sep 2009 13:49:49 +0500 Subject: [PATCH 12/18] Bug#42364 SHOW ERRORS returns empty resultset after dropping non existent table partial backport of bug43138 fix --- mysql-test/r/warnings.result | 5 +++++ mysql-test/t/warnings.test | 7 +++++++ sql/sql_class.cc | 25 +++++++++++++++++++++++++ sql/sql_class.h | 25 +++++++++++++++++++++++++ sql/sql_table.cc | 8 ++++---- 5 files changed, 66 insertions(+), 4 deletions(-) diff --git a/mysql-test/r/warnings.result b/mysql-test/r/warnings.result index 2e393aea9e4..8a87852d582 100644 --- a/mysql-test/r/warnings.result +++ b/mysql-test/r/warnings.result @@ -313,4 +313,9 @@ ERROR 22001: Data too long for column 'c_tinytext' at row 1 insert into t2 values(@q); ERROR 22001: Data too long for column 'c_tinyblob' at row 1 drop table t1, t2; +DROP TABLE t1; +ERROR 42S02: Unknown table 't1' +SHOW ERRORS; +Level Code Message +Error 1051 Unknown table 't1' End of 5.0 tests diff --git a/mysql-test/t/warnings.test b/mysql-test/t/warnings.test index 12421170eba..176f320e390 100644 --- a/mysql-test/t/warnings.test +++ b/mysql-test/t/warnings.test @@ -225,4 +225,11 @@ insert into t2 values(@q); drop table t1, t2; +# +# Bug#42364 SHOW ERRORS returns empty resultset after dropping non existent table +# +--error ER_BAD_TABLE_ERROR +DROP TABLE t1; +SHOW ERRORS; + --echo End of 5.0 tests diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 3f568566c89..daef5a26742 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -399,6 +399,31 @@ char *thd_security_context(THD *thd, char *buffer, unsigned int length, return buffer; } + +/** + Implementation of Drop_table_error_handler::handle_error(). + The reason in having this implementation is to silence technical low-level + warnings during DROP TABLE operation. Currently we don't want to expose + the following warnings during DROP TABLE: + - Some of table files are missed or invalid (the table is going to be + deleted anyway, so why bother that something was missed); + - A trigger associated with the table does not have DEFINER (One of the + MySQL specifics now is that triggers are loaded for the table being + dropped. So, we may have a warning that trigger does not have DEFINER + attribute during DROP TABLE operation). + + @return TRUE if the condition is handled. +*/ +bool Drop_table_error_handler::handle_error(uint sql_errno, + const char *message, + MYSQL_ERROR::enum_warning_level level, + THD *thd) +{ + return ((sql_errno == EE_DELETE && my_errno == ENOENT) || + sql_errno == ER_TRG_NO_DEFINER); +} + + /** Clear this diagnostics area. diff --git a/sql/sql_class.h b/sql/sql_class.h index f52d5fae76f..c38eb17f191 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -1091,6 +1091,31 @@ public: }; +/** + This class is an internal error handler implementation for + DROP TABLE statements. The thing is that there may be warnings during + execution of these statements, which should not be exposed to the user. + This class is intended to silence such warnings. +*/ + +class Drop_table_error_handler : public Internal_error_handler +{ +public: + Drop_table_error_handler(Internal_error_handler *err_handler) + :m_err_handler(err_handler) + { } + +public: + bool handle_error(uint sql_errno, + const char *message, + MYSQL_ERROR::enum_warning_level level, + THD *thd); + +private: + Internal_error_handler *m_err_handler; +}; + + /** Stores status of the currently executed statement. Cleared at the beginning of the statement, and then diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 89a84ebc1fe..41e76211dd8 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -1772,6 +1772,7 @@ bool mysql_rm_table(THD *thd,TABLE_LIST *tables, my_bool if_exists, my_bool drop_temporary) { bool error= FALSE, need_start_waiters= FALSE; + Drop_table_error_handler err_handler(thd->get_internal_handler()); DBUG_ENTER("mysql_rm_table"); /* mark for close and remove all cached entries */ @@ -1792,7 +1793,10 @@ bool mysql_rm_table(THD *thd,TABLE_LIST *tables, my_bool if_exists, LOCK_open during wait_if_global_read_lock(), other threads could not close their tables. This would make a pretty deadlock. */ + thd->push_internal_handler(&err_handler); error= mysql_rm_table_part2(thd, tables, if_exists, drop_temporary, 0, 0); + thd->pop_internal_handler(); + if (need_start_waiters) start_waiting_global_read_lock(thd); @@ -1894,9 +1898,6 @@ int mysql_rm_table_part2(THD *thd, TABLE_LIST *tables, bool if_exists, DBUG_RETURN(1); } - /* Don't give warnings for not found errors, as we already generate notes */ - thd->no_warnings_for_error= 1; - for (table= tables; table; table= table->next_local) { char *db=table->db; @@ -2145,7 +2146,6 @@ int mysql_rm_table_part2(THD *thd, TABLE_LIST *tables, bool if_exists, err_with_placeholders: unlock_table_names(thd, tables, (TABLE_LIST*) 0); pthread_mutex_unlock(&LOCK_open); - thd->no_warnings_for_error= 0; DBUG_RETURN(error); } From df67d14983bb7ce1d879da6b6a9f861cc76a1ec2 Mon Sep 17 00:00:00 2001 From: Date: Thu, 10 Sep 2009 18:05:53 +0800 Subject: [PATCH 13/18] BUG#45999 Row based replication fails when auto_increment field = 0 In RBR, There is an inconsistency between slaves and master. When INSERT statement which includes an auto_increment field is executed, Store engine of master will check the value of the auto_increment field. It will generate a sequence number and then replace the value, if its value is NULL or empty. if the field's value is 0, the store engine will do like encountering the NULL values unless NO_AUTO_VALUE_ON_ZERO is set into SQL_MODE. In contrast, if the field's value is 0, Store engine of slave always generates a new sequence number whether or not NO_AUTO_VALUE_ON_ZERO is set into SQL_MODE. SQL MODE of slave sql thread is always consistency with master's. Another variable is related to this bug. If generateing a sequence number is decided by the values of table->auto_increment_field_not_null and SQL_MODE(if includes MODE_NO_AUTO_VALUE_ON_ZERO) The table->auto_increment_is_not_null is FALSE, which causes this bug to appear. .. --- .../extra/rpl_tests/rpl_auto_increment.test | 78 ++++++++++++++++++- .../suite/rpl/r/rpl_auto_increment.result | 68 ++++++++++++++++ sql/log_event.cc | 11 +++ 3 files changed, 156 insertions(+), 1 deletion(-) diff --git a/mysql-test/extra/rpl_tests/rpl_auto_increment.test b/mysql-test/extra/rpl_tests/rpl_auto_increment.test index 24448a38408..abf3b4ec676 100644 --- a/mysql-test/extra/rpl_tests/rpl_auto_increment.test +++ b/mysql-test/extra/rpl_tests/rpl_auto_increment.test @@ -163,5 +163,81 @@ show create table t1; connection master; drop table t1; -# End cleanup +# +# BUG#45999 Row based replication fails when auto_increment field = 0. +# Store engine of Slaves auto-generates new sequence numbers for +# auto_increment fields if the values of them are 0. There is an inconsistency +# between slave and master. When MODE_NO_AUTO_VALUE_ON_ZERO are masters treat +# +source include/master-slave-reset.inc; + +connection master; +--disable_warnings +DROP TABLE IF EXISTS t1; +DROP TABLE IF EXISTS t2; +--enable_warnings + +eval CREATE TABLE t1 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY) ENGINE=$engine_type; +eval CREATE TABLE t2 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY) ENGINE=$engine_type2; +SET SQL_MODE=''; +# Value of the id will be 1; +INSERT INTO t1 VALUES(NULL); +INSERT INTO t2 VALUES(NULL); +SELECT * FROM t1; +SELECT * FROM t2; +# Value of the id will be 2; +INSERT INTO t1 VALUES(); +INSERT INTO t2 VALUES(); +SELECT * FROM t1; +SELECT * FROM t2; +# Value of the id will be 3. The master treats 0 as NULL or empty because +# NO_AUTO_VALUE_ON_ZERO is not assign to SQL_MODE. +INSERT INTO t1 VALUES(0); +INSERT INTO t2 VALUES(0); +SELECT * FROM t1; +SELECT * FROM t2; + +SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO; +# Value of the id will be 0. The master does not treat 0 as NULL or empty +# because NO_AUTO_VALUE_ON_ZERO has assigned to SQL_MODE. +INSERT INTO t1 VALUES(0); +INSERT INTO t2 VALUES(0); +SELECT * FROM t1; +SELECT * FROM t2; + +INSERT INTO t1 VALUES(4); +INSERT INTO t2 VALUES(4); +FLUSH LOGS; +sync_slave_with_master; + +let $diff_table_1= master:test.t1; +let $diff_table_2= slave:test.t1; +source include/diff_tables.inc; + +let $diff_table_1= master:test.t2; +let $diff_table_2= slave:test.t2; +source include/diff_tables.inc; + +connection master; +DROP TABLE t1; +DROP TABLE t2; +sync_slave_with_master; + +connection master; +let $MYSQLD_DATADIR= `SELECT @@DATADIR`; +--exec $MYSQL_BINLOG $MYSQLD_DATADIR/master-bin.000001 | $MYSQL test +sync_slave_with_master; + +let $diff_table_1= master:test.t1; +let $diff_table_2= slave:test.t1; +source include/diff_tables.inc; + +let $diff_table_1= master:test.t2; +let $diff_table_2= slave:test.t2; +source include/diff_tables.inc; + +# End cleanup +DROP TABLE t1; +DROP TABLE t2; +SET SQL_MODE=''; sync_slave_with_master; diff --git a/mysql-test/suite/rpl/r/rpl_auto_increment.result b/mysql-test/suite/rpl/r/rpl_auto_increment.result index 2a4c3a09361..fdd94264041 100644 --- a/mysql-test/suite/rpl/r/rpl_auto_increment.result +++ b/mysql-test/suite/rpl/r/rpl_auto_increment.result @@ -244,3 +244,71 @@ t1 CREATE TABLE `t1` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 drop table t1; +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; +DROP TABLE IF EXISTS t1; +DROP TABLE IF EXISTS t2; +CREATE TABLE t1 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY) ENGINE=innodb; +CREATE TABLE t2 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY) ENGINE=myisam; +SET SQL_MODE=''; +INSERT INTO t1 VALUES(NULL); +INSERT INTO t2 VALUES(NULL); +SELECT * FROM t1; +id +1 +SELECT * FROM t2; +id +1 +INSERT INTO t1 VALUES(); +INSERT INTO t2 VALUES(); +SELECT * FROM t1; +id +1 +2 +SELECT * FROM t2; +id +1 +2 +INSERT INTO t1 VALUES(0); +INSERT INTO t2 VALUES(0); +SELECT * FROM t1; +id +1 +2 +3 +SELECT * FROM t2; +id +1 +2 +3 +SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO; +INSERT INTO t1 VALUES(0); +INSERT INTO t2 VALUES(0); +SELECT * FROM t1; +id +0 +1 +2 +3 +SELECT * FROM t2; +id +0 +1 +2 +3 +INSERT INTO t1 VALUES(4); +INSERT INTO t2 VALUES(4); +FLUSH LOGS; +Comparing tables master:test.t1 and slave:test.t1 +Comparing tables master:test.t2 and slave:test.t2 +DROP TABLE t1; +DROP TABLE t2; +Comparing tables master:test.t1 and slave:test.t1 +Comparing tables master:test.t2 and slave:test.t2 +DROP TABLE t1; +DROP TABLE t2; +SET SQL_MODE=''; diff --git a/sql/log_event.cc b/sql/log_event.cc index 0cda724b698..08fe3aba8ed 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -8312,6 +8312,16 @@ Write_rows_log_event::do_before_row_operations(const Slave_reporting_capability /* Honor next number column if present */ m_table->next_number_field= m_table->found_next_number_field; + /* + * Fixed Bug#45999, In RBR, Store engine of Slave auto-generates new + * sequence numbers for auto_increment fields if the values of them are 0. + * If generateing a sequence number is decided by the values of + * table->auto_increment_field_not_null and SQL_MODE(if includes + * MODE_NO_AUTO_VALUE_ON_ZERO) in update_auto_increment function. + * SQL_MODE of slave sql thread is always consistency with master's. + * In RBR, auto_increment fields never are NULL. + */ + m_table->auto_increment_field_not_null= TRUE; return error; } @@ -8321,6 +8331,7 @@ Write_rows_log_event::do_after_row_operations(const Slave_reporting_capability * { int local_error= 0; m_table->next_number_field=0; + m_table->auto_increment_field_not_null= FALSE; if (bit_is_set(slave_exec_mode, SLAVE_EXEC_MODE_IDEMPOTENT) == 1 || m_table->s->db_type()->db_type == DB_TYPE_NDBCLUSTER) { From 5fbc2904bccbcd5e3609a4a660105ccab117c7c6 Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Thu, 10 Sep 2009 15:24:07 +0500 Subject: [PATCH 14/18] Bug#46815 CONCAT_WS returning wrong data The problem is that argument buffer can be used as result buffer and it leads to argument value change. The fix is to use 'old buffer' as result buffer only if first argument is not constant item. --- mysql-test/r/func_str.result | 9 +++++++++ mysql-test/t/func_str.test | 13 +++++++++++++ sql/item_strfunc.cc | 7 ++++++- 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/func_str.result b/mysql-test/r/func_str.result index 75f8983e838..bf2a9ca8901 100644 --- a/mysql-test/r/func_str.result +++ b/mysql-test/r/func_str.result @@ -2196,4 +2196,13 @@ SELECT LOAD_FILE(a) FROM t1; LOAD_FILE(a) NULL DROP TABLE t1; +CREATE TABLE t1 (f2 VARCHAR(20)); +CREATE TABLE t2 (f2 VARCHAR(20)); +INSERT INTO t1 VALUES ('MIN'),('MAX'); +INSERT INTO t2 VALUES ('LOAD'); +SELECT CONCAT_WS('_', (SELECT t2.f2 FROM t2), t1.f2) AS concat_name FROM t1; +concat_name +LOAD_MIN +LOAD_MAX +DROP TABLE t1, t2; End of 5.0 tests diff --git a/mysql-test/t/func_str.test b/mysql-test/t/func_str.test index 4b0f91e4408..e396fbcebd8 100644 --- a/mysql-test/t/func_str.test +++ b/mysql-test/t/func_str.test @@ -1177,5 +1177,18 @@ INSERT INTO t1 VALUES ('aaaaaaaa'); SELECT LOAD_FILE(a) FROM t1; DROP TABLE t1; +# +# Bug#46815 CONCAT_WS returning wrong data +# +CREATE TABLE t1 (f2 VARCHAR(20)); +CREATE TABLE t2 (f2 VARCHAR(20)); + +INSERT INTO t1 VALUES ('MIN'),('MAX'); +INSERT INTO t2 VALUES ('LOAD'); + +SELECT CONCAT_WS('_', (SELECT t2.f2 FROM t2), t1.f2) AS concat_name FROM t1; + +DROP TABLE t1, t2; + --echo End of 5.0 tests diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index e3fe67f4324..6f697a1665a 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -600,6 +600,7 @@ String *Item_func_concat_ws::val_str(String *str) String tmp_sep_str(tmp_str_buff, sizeof(tmp_str_buff),default_charset_info), *sep_str, *res, *res2,*use_as_buff; uint i; + bool is_const= 0; null_value=0; if (!(sep_str= args[0]->val_str(&tmp_sep_str))) @@ -613,7 +614,11 @@ String *Item_func_concat_ws::val_str(String *str) // If not, return the empty string for (i=1; i < arg_count; i++) if ((res= args[i]->val_str(str))) + { + is_const= args[i]->const_item() || !args[i]->used_tables(); break; + } + if (i == arg_count) return &my_empty_string; @@ -631,7 +636,7 @@ String *Item_func_concat_ws::val_str(String *str) current_thd->variables.max_allowed_packet); goto null; } - if (res->alloced_length() >= + if (!is_const && res->alloced_length() >= res->length() + sep_str->length() + res2->length()) { // Use old buffer res->append(*sep_str); // res->length() > 0 always From 0bd2467ea2870aa6ab20bc8096591f6a177730cb Mon Sep 17 00:00:00 2001 From: Alexander Nozdrin Date: Thu, 10 Sep 2009 16:18:54 +0400 Subject: [PATCH 15/18] Add DBUG_VIOLATION_HELPER_LEAVE definition to non-debug build. --- include/my_dbug.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/my_dbug.h b/include/my_dbug.h index 71dc34791dc..474a46f29dd 100644 --- a/include/my_dbug.h +++ b/include/my_dbug.h @@ -128,6 +128,7 @@ extern FILE *_db_fp_(void); #define DBUG_ENTER(a1) #define DBUG_LEAVE +#define DBUG_VIOLATION_HELPER_LEAVE #define DBUG_RETURN(a1) do { return(a1); } while(0) #define DBUG_VOID_RETURN do { return; } while(0) #define DBUG_EXECUTE(keyword,a1) do { } while(0) From 4def19eeac03c09c6db0c5b52bff25909dacb177 Mon Sep 17 00:00:00 2001 From: Ramil Kalimullin Date: Fri, 11 Sep 2009 22:06:27 +0500 Subject: [PATCH 16/18] Fix for bug#47130: misplaced or redundant check for null pointer? Problem: LOGGER::general_log_write() relied on valid "thd" parameter passed but had inconsistent "if (thd)" check. Fix: as we always pass a valid "thd" parameter to the method, redundant check removed. --- sql/log.cc | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/sql/log.cc b/sql/log.cc index 1af2f3a4ddc..feaa5499912 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -1024,14 +1024,10 @@ bool LOGGER::general_log_write(THD *thd, enum enum_server_command command, Log_event_handler **current_handler= general_log_handler_list; char user_host_buff[MAX_USER_HOST_SIZE + 1]; Security_context *sctx= thd->security_ctx; - ulong id; uint user_host_len= 0; time_t current_time; - if (thd) - id= thd->thread_id; /* Normal thread */ - else - id= 0; /* Log from connect handler */ + DBUG_ASSERT(thd); lock_shared(); if (!opt_log) @@ -1050,7 +1046,7 @@ bool LOGGER::general_log_write(THD *thd, enum enum_server_command command, while (*current_handler) error|= (*current_handler++)-> log_general(thd, current_time, user_host_buff, - user_host_len, id, + user_host_len, thd->thread_id, command_name[(uint) command].str, command_name[(uint) command].length, query, query_length, From 4cce928ea662ca77875954cb1c7725cdeb4df3eb Mon Sep 17 00:00:00 2001 From: Luis Soares Date: Sun, 13 Sep 2009 21:52:14 +0100 Subject: [PATCH 17/18] BUG#47014: rpl_drop_temp fails on PB-2 with results mismatch The test case creates two temporary tables, then closes the connection, waits for it to disconnect, then syncs the slave with the master, checks for remaining opened temporary tables on slave (which should be 0) and finally drops the used database (mysqltest). Unfortunately, sometimes, the test fails with one open table on the slave. This seems to be caused by the fact that waiting for the connection to be closed is not sufficient. The test needs to wait for the DROP event to be logged and only then synchronize the slave with the master and proceed with the check. This is caused by the asynchronous nature of the disconnect wrt binlogging of the DROP temporary table statement. We fix this by deploying a call to wait_for_binlog_event.inc on the test case, which makes execution to wait for the DROP temp tables event before synchronizing master and slave. --- mysql-test/suite/rpl/t/rpl_drop_temp.test | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mysql-test/suite/rpl/t/rpl_drop_temp.test b/mysql-test/suite/rpl/t/rpl_drop_temp.test index df162d3b244..7827e16e45f 100644 --- a/mysql-test/suite/rpl/t/rpl_drop_temp.test +++ b/mysql-test/suite/rpl/t/rpl_drop_temp.test @@ -23,6 +23,8 @@ disconnect con_temp; --source include/wait_until_disconnected.inc connection master; +-- let $wait_binlog_event= DROP +-- source include/wait_for_binlog_event.inc sync_slave_with_master; connection slave; From 09f07bc1107c0facc32c16c58bae0215ce08eeea Mon Sep 17 00:00:00 2001 From: Luis Soares Date: Sun, 13 Sep 2009 22:43:47 +0100 Subject: [PATCH 18/18] BUG#47016: rpl_do_grant fails on PB-2 with a failing connect The test case rpl_do_grant fails sporadically on PB2 with "Access denied for user 'create_rout_db'@'localhost' ...". Inspecting the test case, one may find that if issues a GRANT on the master connection and immediately after it creates two new connections (one to the master and one to the slave) using the credentials set with the GRANT. Unfortunately, there is no synchronization between master and slave after the grant and before the connections are established. This can result in slave not having executed the GRANT by the time the connection is attempted. This patch fixes this by deploying a sync_slave_with_master between the grant and the connections attempt. --- mysql-test/suite/rpl/t/rpl_do_grant.test | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mysql-test/suite/rpl/t/rpl_do_grant.test b/mysql-test/suite/rpl/t/rpl_do_grant.test index 806de780086..fc793c03649 100644 --- a/mysql-test/suite/rpl/t/rpl_do_grant.test +++ b/mysql-test/suite/rpl/t/rpl_do_grant.test @@ -129,6 +129,9 @@ CREATE DATABASE bug42217_db; GRANT CREATE ROUTINE ON bug42217_db.* TO 'create_rout_db'@'localhost' IDENTIFIED BY 'create_rout_db' WITH GRANT OPTION; +-- sync_slave_with_master +-- connection master + connect (create_rout_db_master, localhost, create_rout_db, create_rout_db, bug42217_db,$MASTER_MYPORT,); connect (create_rout_db_slave, localhost, create_rout_db, create_rout_db, bug42217_db, $SLAVE_MYPORT,);