lists.mariadb.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

commits

Thread Start a new thread
Threads by month
  • ----- 2025 -----
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
commits@lists.mariadb.org

  • 14605 discussions
[Commits] 494dfb14f29: MDEV-17229: Encryption threads ignore innodb_default_encryption_key_id
by jan 07 Nov '18

07 Nov '18
revision-id: 494dfb14f29faa066926f87545a173ad676e669b (mariadb-10.1.37-7-g494dfb14f29) parent(s): ef40018535b71f0a4387fa6c1cc22e9991dfc0db author: Jan Lindström committer: Jan Lindström timestamp: 2018-11-07 09:41:08 +0200 message: MDEV-17229: Encryption threads ignore innodb_default_encryption_key_id Background: Original idea of this variable was to be used when table is created. However, this is not clearly documented. Cases: (1) create table t1(a) engine=innodb encrypted=yes. This case worked correctly as encryption metadata is created when table is created. (2) create table t1(a) engine=innodb; This case used global default key_id i.e. 1 not user defined innodb_default_encryption_key_id (3) create table t1(a) engine=innodb encrypted=no. No key_id is used so warning should be issued when nondefault key_id is used. Solution: Use default_encryption_key_id if defined when creating encryption metadata for unencrypted to encrypted key rotation. fil0crypt.cc::fil_crypt_start_encrypting_space() Use global default encryption key_id if defined when creating crypt_data for unencrypted => encrypted key rotation. ha_innodb.cc::innodb_default_encryption_key_id_update ha_innodb.cc::innodb_default_encryption_key_id_validate Add update and validate callbacks for variable innodb_default_encryption_key_id and make sure user can't define it to value that does not exists on encryption plugin. ha_innodb.cc::check_table_options() We should not allow nondefault encryption key_id when encryption is disabled as it will be newer used. srv0srv.h srv0srv.cc Add global srv_default_encryption_key_id where current key_id is stored. This is needed as encryption threads do not have THD. --- .../encryption/r/innodb-checksum-algorithm.result | 2 +- .../encryption/r/innodb-compressed-blob.result | 2 + .../encryption/r/innodb-encryption-alter.result | 17 ------ .../r/innodb_encryption_default_key.result | 29 +++++++++ .../encryption/t/innodb-checksum-algorithm.test | 2 +- .../encryption/t/innodb-encryption-alter.test | 7 --- .../encryption/t/innodb_encryption_default_key.opt | 1 + .../t/innodb_encryption_default_key.test | 45 ++++++++++++++ storage/innobase/fil/fil0crypt.cc | 4 +- storage/innobase/handler/ha_innodb.cc | 68 +++++++++++++++++++++- storage/innobase/include/srv0srv.h | 5 +- storage/innobase/srv/srv0srv.cc | 5 +- storage/xtradb/fil/fil0crypt.cc | 4 +- storage/xtradb/handler/ha_innodb.cc | 68 +++++++++++++++++++++- storage/xtradb/include/srv0srv.h | 5 +- storage/xtradb/srv/srv0srv.cc | 5 +- 16 files changed, 231 insertions(+), 38 deletions(-) diff --git a/mysql-test/suite/encryption/r/innodb-checksum-algorithm.result b/mysql-test/suite/encryption/r/innodb-checksum-algorithm.result index a853f3869a9..b3deac98e3c 100644 --- a/mysql-test/suite/encryption/r/innodb-checksum-algorithm.result +++ b/mysql-test/suite/encryption/r/innodb-checksum-algorithm.result @@ -10,7 +10,7 @@ SET GLOBAL innodb_encrypt_tables = ON; SET GLOBAL innodb_encryption_threads = 4; call mtr.add_suppression("InnoDB: innodb_checksum_algorithm is set to \"strict_(crc32|none|innodb)\" but the page \\[page id: space=[0-9]+, page number=[0-9]+\\] contains a valid checksum \"(innodb|none|crc32)\""); SET GLOBAL innodb_checksum_algorithm = innodb; -SET GLOBAL innodb_default_encryption_key_id=4; +SET GLOBAL innodb_default_encryption_key_id=1; SET GLOBAL innodb_checksum_algorithm=crc32; create table tce_crc32(a serial, b blob, index(b(10))) engine=innodb ROW_FORMAT=COMPRESSED encrypted=yes; diff --git a/mysql-test/suite/encryption/r/innodb-compressed-blob.result b/mysql-test/suite/encryption/r/innodb-compressed-blob.result index ce73b80820f..a6f4856fdbb 100644 --- a/mysql-test/suite/encryption/r/innodb-compressed-blob.result +++ b/mysql-test/suite/encryption/r/innodb-compressed-blob.result @@ -7,6 +7,8 @@ set GLOBAL innodb_default_encryption_key_id=4; create table t1(a int not null primary key, b blob, index(b(10))) engine=innodb row_format=compressed; create table t2(a int not null primary key, b blob, index(b(10))) engine=innodb row_format=compressed encrypted=yes; create table t3(a int not null primary key, b blob, index(b(10))) engine=innodb row_format=compressed encrypted=no; +Warnings: +Warning 140 InnoDB: Ignored ENCRYPTION_KEY_ID 4 when encryption is disabled insert into t1 values (1, repeat('secret',6000)); insert into t2 values (1, repeat('secret',6000)); insert into t3 values (1, repeat('secret',6000)); diff --git a/mysql-test/suite/encryption/r/innodb-encryption-alter.result b/mysql-test/suite/encryption/r/innodb-encryption-alter.result index 5245d1da7d0..9d4fd0583c3 100644 --- a/mysql-test/suite/encryption/r/innodb-encryption-alter.result +++ b/mysql-test/suite/encryption/r/innodb-encryption-alter.result @@ -6,21 +6,6 @@ CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNOD Warnings: Warning 140 InnoDB: Ignored ENCRYPTION_KEY_ID 4 when encryption is disabled DROP TABLE t1; -set innodb_default_encryption_key_id = 99; -CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB; -ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") -SHOW WARNINGS; -Level Code Message -Warning 140 InnoDB: ENCRYPTION_KEY_ID 99 not available -Error 1005 Can't create table `test`.`t1` (errno: 140 "Wrong create options") -Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB -CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB ENCRYPTED=YES; -ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") -SHOW WARNINGS; -Level Code Message -Warning 140 InnoDB: ENCRYPTION_KEY_ID 99 not available -Error 1005 Can't create table `test`.`t1` (errno: 140 "Wrong create options") -Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB set innodb_default_encryption_key_id = 4; CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB ENCRYPTED=YES; SHOW CREATE TABLE t1; @@ -40,8 +25,6 @@ t1 CREATE TABLE `t1` ( PRIMARY KEY (`pk`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 `ENCRYPTION_KEY_ID`=4 CREATE TABLE t2 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB ENCRYPTED=NO ENCRYPTION_KEY_ID=1; -Warnings: -Warning 140 InnoDB: Ignored ENCRYPTION_KEY_ID 1 when encryption is disabled ALTER TABLE t1 ENCRYPTION_KEY_ID=99; ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'ENCRYPTION_KEY_ID' SHOW WARNINGS; diff --git a/mysql-test/suite/encryption/r/innodb_encryption_default_key.result b/mysql-test/suite/encryption/r/innodb_encryption_default_key.result new file mode 100644 index 00000000000..f97af5e45a9 --- /dev/null +++ b/mysql-test/suite/encryption/r/innodb_encryption_default_key.result @@ -0,0 +1,29 @@ +SET GLOBAL innodb_file_format = `Barracuda`; +SET GLOBAL innodb_file_per_table = ON; +SET GLOBAL innodb_encrypt_tables = OFF; +SET GLOBAL innodb_default_encryption_key_id = 1; +create table t1 (a int not null primary key) engine=InnoDB; +SET GLOBAL innodb_default_encryption_key_id = 999; +ERROR 42000: Variable 'innodb_default_encryption_key_id' can't be set to the value of '999' +SHOW WARNINGS; +Level Code Message +Warning 1210 InnoDB: innodb_default_encryption_key_id=999 not available in encryption plugin +Error 1231 Variable 'innodb_default_encryption_key_id' can't be set to the value of '999' +SET GLOBAL innodb_default_encryption_key_id = 4; +SET GLOBAL innodb_encryption_threads = 4; +SET GLOBAL innodb_encrypt_tables = ON; +SELECT NAME,CURRENT_KEY_ID,MIN_KEY_VERSION FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 ORDER BY NAME; +NAME CURRENT_KEY_ID MIN_KEY_VERSION +SELECT NAME,CURRENT_KEY_ID,MIN_KEY_VERSION FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 ORDER BY NAME; +NAME CURRENT_KEY_ID MIN_KEY_VERSION +./ibdata1 4 1 +mysql/innodb_index_stats 4 1 +mysql/innodb_table_stats 4 1 +test/t1 4 1 +# Success! +DROP TABLE t1; +SET GLOBAL innodb_encryption_threads = DEFAULT; +SET GLOBAL innodb_encrypt_tables = DEFAULT; +SET GLOBAL innodb_file_format = DEFAULT; +SET GLOBAL innodb_file_per_table = DEFAULT; +SET GLOBAL innodb_default_encryption_key_id = DEFAULT; diff --git a/mysql-test/suite/encryption/t/innodb-checksum-algorithm.test b/mysql-test/suite/encryption/t/innodb-checksum-algorithm.test index d0caed05006..f4093bae81e 100644 --- a/mysql-test/suite/encryption/t/innodb-checksum-algorithm.test +++ b/mysql-test/suite/encryption/t/innodb-checksum-algorithm.test @@ -16,7 +16,7 @@ SET GLOBAL innodb_encryption_threads = 4; call mtr.add_suppression("InnoDB: innodb_checksum_algorithm is set to \"strict_(crc32|none|innodb)\" but the page \\[page id: space=[0-9]+, page number=[0-9]+\\] contains a valid checksum \"(innodb|none|crc32)\""); SET GLOBAL innodb_checksum_algorithm = innodb; -SET GLOBAL innodb_default_encryption_key_id=4; +SET GLOBAL innodb_default_encryption_key_id=1; let MYSQLD_DATADIR =`SELECT @@datadir`; diff --git a/mysql-test/suite/encryption/t/innodb-encryption-alter.test b/mysql-test/suite/encryption/t/innodb-encryption-alter.test index 9465226dd96..b4a432406d9 100644 --- a/mysql-test/suite/encryption/t/innodb-encryption-alter.test +++ b/mysql-test/suite/encryption/t/innodb-encryption-alter.test @@ -19,13 +19,6 @@ SET GLOBAL innodb_encryption_threads = 4; CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB ENCRYPTED=NO ENCRYPTION_KEY_ID=4; DROP TABLE t1; -set innodb_default_encryption_key_id = 99; ---error 1005 -CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB; -SHOW WARNINGS; ---error 1005 -CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB ENCRYPTED=YES; -SHOW WARNINGS; set innodb_default_encryption_key_id = 4; CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT, c VARCHAR(256)) ENGINE=INNODB ENCRYPTED=YES; SHOW CREATE TABLE t1; diff --git a/mysql-test/suite/encryption/t/innodb_encryption_default_key.opt b/mysql-test/suite/encryption/t/innodb_encryption_default_key.opt new file mode 100644 index 00000000000..7d3f2da7971 --- /dev/null +++ b/mysql-test/suite/encryption/t/innodb_encryption_default_key.opt @@ -0,0 +1 @@ +--innodb-tablespaces-encryption diff --git a/mysql-test/suite/encryption/t/innodb_encryption_default_key.test b/mysql-test/suite/encryption/t/innodb_encryption_default_key.test new file mode 100644 index 00000000000..ece0823d0c2 --- /dev/null +++ b/mysql-test/suite/encryption/t/innodb_encryption_default_key.test @@ -0,0 +1,45 @@ +-- source include/have_innodb.inc +-- source include/have_file_key_management_plugin.inc + +--disable_query_log +let $innodb_file_format_orig = `SELECT @@innodb_file_format`; +let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`; +--enable_query_log + +--disable_warnings +SET GLOBAL innodb_file_format = `Barracuda`; +SET GLOBAL innodb_file_per_table = ON; +--enable_warnings + +SET GLOBAL innodb_encrypt_tables = OFF; +SET GLOBAL innodb_default_encryption_key_id = 1; + +create table t1 (a int not null primary key) engine=InnoDB; + +# Do not allow setting default key to key_id that is not found +--error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL innodb_default_encryption_key_id = 999; +SHOW WARNINGS; + +SET GLOBAL innodb_default_encryption_key_id = 4; +SET GLOBAL innodb_encryption_threads = 4; +SET GLOBAL innodb_encrypt_tables = ON; + +--let $tables_count= `select count(*) from information_schema.tables where engine = 'InnoDB'` +--let $wait_condition=SELECT COUNT(*) = $tables_count + 1 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND ROTATING_OR_FLUSHING = 0; +--source include/wait_condition.inc + +SELECT NAME,CURRENT_KEY_ID,MIN_KEY_VERSION FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 ORDER BY NAME; +SELECT NAME,CURRENT_KEY_ID,MIN_KEY_VERSION FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 ORDER BY NAME; + +--echo # Success! + +DROP TABLE t1; + +--disable_warnings +SET GLOBAL innodb_encryption_threads = DEFAULT; +SET GLOBAL innodb_encrypt_tables = DEFAULT; +SET GLOBAL innodb_file_format = DEFAULT; +SET GLOBAL innodb_file_per_table = DEFAULT; +SET GLOBAL innodb_default_encryption_key_id = DEFAULT; +--enable_warnings diff --git a/storage/innobase/fil/fil0crypt.cc b/storage/innobase/fil/fil0crypt.cc index 7859fe67d40..e81e25378a5 100644 --- a/storage/innobase/fil/fil0crypt.cc +++ b/storage/innobase/fil/fil0crypt.cc @@ -1064,7 +1064,9 @@ fil_crypt_start_encrypting_space( * crypt data in page 0 */ /* 1 - create crypt data */ - crypt_data = fil_space_create_crypt_data(FIL_ENCRYPTION_DEFAULT, FIL_DEFAULT_ENCRYPTION_KEY); + crypt_data = fil_space_create_crypt_data(FIL_ENCRYPTION_DEFAULT, + srv_default_encryption_key_id != FIL_DEFAULT_ENCRYPTION_KEY + ? srv_default_encryption_key_id : FIL_DEFAULT_ENCRYPTION_KEY); if (crypt_data == NULL) { mutex_exit(&fil_crypt_threads_mutex); diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index b3a830e47c3..7ef73decace 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -685,9 +685,71 @@ static int mysql_tmpfile_path(const char *path, const char *prefix) static void innodb_remember_check_sysvar_funcs(); mysql_var_check_func check_sysvar_enum; +/** Update the system variable srv_default_encryption_key_id using +the "saved" value. This function is registered as a callback with MySQL. +@param[in,out] thd thread handle +@param[in] var pointer to system variable +@param[out] save immediate result for update +@param[in] value incoming string +*/ +static +void +innodb_default_encryption_key_id_update( + THD* thd, + struct st_mysql_sys_var* var, + void* var_ptr, + const void* save) +{ + *reinterpret_cast<uint*>(var_ptr) + = srv_default_encryption_key_id + = (*static_cast<const uint*>(save)); +} + +/** Validate passed-in "value" is a valid encryption key_id +found from encryption plugin. +This function is registered as a callback with MySQL. +@param[in,out] thd thread handle +@param[in] var pointer to system variable +@param[out] save immediate result for validate +@param[in] value incoming string +@return 0 for valid key_id */ +static +int +innodb_default_encryption_key_id_validate( + THD* thd, + struct st_mysql_sys_var* var, + void* save, + struct st_mysql_value* value) +{ + long long key_id_buf; + uint key_id; + + if (value->val_int(value, &key_id_buf)) { + /* The value is NULL. That is invalid. */ + return(1); + } + + *reinterpret_cast<uint*>(save) = key_id = static_cast<uint>(key_id_buf); + + /* Default encryption key_id must be found from encryption + plugin keys. */ + if (key_id != FIL_DEFAULT_ENCRYPTION_KEY + && !encryption_key_id_exists(key_id)) { + push_warning_printf( + thd, Sql_condition::WARN_LEVEL_WARN, + ER_WRONG_ARGUMENTS, + "InnoDB: innodb_default_encryption_key_id=%u not available in encryption plugin", + key_id); + return (1); + } + + return(0); +} + static MYSQL_THDVAR_UINT(default_encryption_key_id, PLUGIN_VAR_RQCMDARG, "Default encryption key id used for table encryption.", - NULL, NULL, + innodb_default_encryption_key_id_validate, + innodb_default_encryption_key_id_update, FIL_DEFAULT_ENCRYPTION_KEY, 1, UINT_MAX32, 0); /** @@ -11947,8 +12009,8 @@ ha_innobase::check_table_options( } /* Ignore nondefault key_id if encryption is set off */ - if (encrypt == FIL_ENCRYPTION_OFF && - options->encryption_key_id != THDVAR(thd, default_encryption_key_id)) { + if (encrypt == FIL_ENCRYPTION_OFF + && options->encryption_key_id != FIL_DEFAULT_ENCRYPTION_KEY) { push_warning_printf( thd, Sql_condition::WARN_LEVEL_WARN, HA_WRONG_CREATE_OPTION, diff --git a/storage/innobase/include/srv0srv.h b/storage/innobase/include/srv0srv.h index 09af0b2cdd2..804b1a8f66c 100644 --- a/storage/innobase/include/srv0srv.h +++ b/storage/innobase/include/srv0srv.h @@ -3,7 +3,7 @@ Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved. Copyright (c) 2008, 2009, Google Inc. Copyright (c) 2009, Percona Inc. -Copyright (c) 2013, 2017, MariaDB Corporation. +Copyright (c) 2013, 2018, MariaDB Corporation. Portions of this file contain modifications contributed and copyrighted by Google, Inc. Those modifications are gratefully acknowledged and are described @@ -367,6 +367,9 @@ extern ulong srv_flush_log_at_trx_commit; extern uint srv_flush_log_at_timeout; extern char srv_adaptive_flushing; +/* Default encryption key_id */ +extern uint srv_default_encryption_key_id; + #ifdef WITH_INNODB_DISALLOW_WRITES /* When this event is reset we do not allow any file writes to take place. */ extern os_event_t srv_allow_writes_event; diff --git a/storage/innobase/srv/srv0srv.cc b/storage/innobase/srv/srv0srv.cc index 87f9064c14e..f9fbc874f30 100644 --- a/storage/innobase/srv/srv0srv.cc +++ b/storage/innobase/srv/srv0srv.cc @@ -3,7 +3,7 @@ Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 2008, 2009 Google Inc. Copyright (c) 2009, Percona Inc. -Copyright (c) 2013, 2017, MariaDB Corporation. +Copyright (c) 2013, 2018, MariaDB Corporation. Portions of this file contain modifications contributed and copyrighted by Google, Inc. Those modifications are gratefully acknowledged and are described @@ -225,6 +225,9 @@ UNIV_INTERN uint srv_flush_log_at_timeout = 1; UNIV_INTERN ulong srv_page_size = UNIV_PAGE_SIZE_DEF; UNIV_INTERN ulong srv_page_size_shift = UNIV_PAGE_SIZE_SHIFT_DEF; +/* Default encryption key_id */ +UNIV_INTERN uint srv_default_encryption_key_id = FIL_DEFAULT_ENCRYPTION_KEY; + /* Try to flush dirty pages so as to avoid IO bursts at the checkpoints. */ UNIV_INTERN char srv_adaptive_flushing = TRUE; diff --git a/storage/xtradb/fil/fil0crypt.cc b/storage/xtradb/fil/fil0crypt.cc index 7859fe67d40..e81e25378a5 100644 --- a/storage/xtradb/fil/fil0crypt.cc +++ b/storage/xtradb/fil/fil0crypt.cc @@ -1064,7 +1064,9 @@ fil_crypt_start_encrypting_space( * crypt data in page 0 */ /* 1 - create crypt data */ - crypt_data = fil_space_create_crypt_data(FIL_ENCRYPTION_DEFAULT, FIL_DEFAULT_ENCRYPTION_KEY); + crypt_data = fil_space_create_crypt_data(FIL_ENCRYPTION_DEFAULT, + srv_default_encryption_key_id != FIL_DEFAULT_ENCRYPTION_KEY + ? srv_default_encryption_key_id : FIL_DEFAULT_ENCRYPTION_KEY); if (crypt_data == NULL) { mutex_exit(&fil_crypt_threads_mutex); diff --git a/storage/xtradb/handler/ha_innodb.cc b/storage/xtradb/handler/ha_innodb.cc index 05066512db9..26d9db5dd08 100644 --- a/storage/xtradb/handler/ha_innodb.cc +++ b/storage/xtradb/handler/ha_innodb.cc @@ -686,9 +686,71 @@ ib_cb_t innodb_api_cb[] = { static void innodb_remember_check_sysvar_funcs(); mysql_var_check_func check_sysvar_enum; +/** Update the system variable srv_default_encryption_key_id using +the "saved" value. This function is registered as a callback with MySQL. +@param[in,out] thd thread handle +@param[in] var pointer to system variable +@param[out] save immediate result for update +@param[in] value incoming string +*/ +static +void +innodb_default_encryption_key_id_update( + THD* thd, + struct st_mysql_sys_var* var, + void* var_ptr, + const void* save) +{ + *reinterpret_cast<uint*>(var_ptr) + = srv_default_encryption_key_id + = (*static_cast<const uint*>(save)); +} + +/** Validate passed-in "value" is a valid encryption key_id +found from encryption plugin. +This function is registered as a callback with MySQL. +@param[in,out] thd thread handle +@param[in] var pointer to system variable +@param[out] save immediate result for validate +@param[in] value incoming string +@return 0 for valid key_id */ +static +int +innodb_default_encryption_key_id_validate( + THD* thd, + struct st_mysql_sys_var* var, + void* save, + struct st_mysql_value* value) +{ + long long key_id_buf; + uint key_id; + + if (value->val_int(value, &key_id_buf)) { + /* The value is NULL. That is invalid. */ + return(1); + } + + *reinterpret_cast<uint*>(save) = key_id = static_cast<uint>(key_id_buf); + + /* Default encryption key_id must be found from encryption + plugin keys. */ + if (key_id != FIL_DEFAULT_ENCRYPTION_KEY + && !encryption_key_id_exists(key_id)) { + push_warning_printf( + thd, Sql_condition::WARN_LEVEL_WARN, + ER_WRONG_ARGUMENTS, + "InnoDB: innodb_default_encryption_key_id=%u not available in encryption plugin", + key_id); + return (1); + } + + return(0); +} + static MYSQL_THDVAR_UINT(default_encryption_key_id, PLUGIN_VAR_RQCMDARG, "Default encryption key id used for table encryption.", - NULL, NULL, + innodb_default_encryption_key_id_validate, + innodb_default_encryption_key_id_update, FIL_DEFAULT_ENCRYPTION_KEY, 1, UINT_MAX32, 0); /** @@ -12514,8 +12576,8 @@ ha_innobase::check_table_options( } /* Ignore nondefault key_id if encryption is set off */ - if (encrypt == FIL_ENCRYPTION_OFF && - options->encryption_key_id != THDVAR(thd, default_encryption_key_id)) { + if (encrypt == FIL_ENCRYPTION_OFF + && options->encryption_key_id != FIL_DEFAULT_ENCRYPTION_KEY) { push_warning_printf( thd, Sql_condition::WARN_LEVEL_WARN, HA_WRONG_CREATE_OPTION, diff --git a/storage/xtradb/include/srv0srv.h b/storage/xtradb/include/srv0srv.h index 6df60e0e52d..54aa4319f5b 100644 --- a/storage/xtradb/include/srv0srv.h +++ b/storage/xtradb/include/srv0srv.h @@ -3,7 +3,7 @@ Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved. Copyright (c) 2008, 2009, Google Inc. Copyright (c) 2009, Percona Inc. -Copyright (c) 2013, 2017, MariaDB Corporation. +Copyright (c) 2013, 2018, MariaDB Corporation. Portions of this file contain modifications contributed and copyrighted by Google, Inc. Those modifications are gratefully acknowledged and are described @@ -400,6 +400,9 @@ extern uint srv_flush_log_at_timeout; extern char srv_use_global_flush_log_at_trx_commit; extern char srv_adaptive_flushing; +/* Default encryption key_id */ +extern uint srv_default_encryption_key_id; + #ifdef WITH_INNODB_DISALLOW_WRITES /* When this event is reset we do not allow any file writes to take place. */ extern os_event_t srv_allow_writes_event; diff --git a/storage/xtradb/srv/srv0srv.cc b/storage/xtradb/srv/srv0srv.cc index 0133b17fada..b6e0ea1e937 100644 --- a/storage/xtradb/srv/srv0srv.cc +++ b/storage/xtradb/srv/srv0srv.cc @@ -3,7 +3,7 @@ Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 2008, 2009 Google Inc. Copyright (c) 2009, Percona Inc. -Copyright (c) 2013, 2017, MariaDB Corporation. +Copyright (c) 2013, 2018, MariaDB Corporation. Portions of this file contain modifications contributed and copyrighted by Google, Inc. Those modifications are gratefully acknowledged and are described @@ -254,6 +254,9 @@ UNIV_INTERN ulong srv_page_size = UNIV_PAGE_SIZE_DEF; UNIV_INTERN ulong srv_page_size_shift = UNIV_PAGE_SIZE_SHIFT_DEF; UNIV_INTERN char srv_use_global_flush_log_at_trx_commit = TRUE; +/* Default encryption key_id */ +UNIV_INTERN uint srv_default_encryption_key_id = FIL_DEFAULT_ENCRYPTION_KEY; + /* Try to flush dirty pages so as to avoid IO bursts at the checkpoints. */ UNIV_INTERN char srv_adaptive_flushing = TRUE;
1 0
0 0
[Commits] 2ecffc79fa0: MDEV-11167: InnoDB: Warning: using a partial-field key prefix in search, results in assertion failure or "Can't find record" error
by Oleksandr Byelkin 07 Nov '18

07 Nov '18
revision-id: 2ecffc79fa0569f93003b2e34d8df7e7643c203d (mariadb-10.0.37-11-g2ecffc79fa0) parent(s): 9c026273a923f3433ad622124d7a008ce6b5c487 author: Oleksandr Byelkin committer: Oleksandr Byelkin timestamp: 2018-11-07 09:09:52 +0100 message: MDEV-11167: InnoDB: Warning: using a partial-field key prefix in search, results in assertion failure or "Can't find record" error Fix ha_rnd_init() argument (we do not doing scan but use rnd_pos) --- mysql-test/r/partition_innodb.result | 26 ++++++++++++++++++++++++++ mysql-test/t/partition_innodb.test | 30 ++++++++++++++++++++++++++++++ sql/sql_update.cc | 2 +- 3 files changed, 57 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/partition_innodb.result b/mysql-test/r/partition_innodb.result index f863ec5522a..ee3525cb085 100644 --- a/mysql-test/r/partition_innodb.result +++ b/mysql-test/r/partition_innodb.result @@ -890,3 +890,29 @@ ERROR HY000: Table definition has changed, please retry transaction SELECT b FROM t1 WHERE b = 0; ERROR HY000: Table definition has changed, please retry transaction DROP TABLE t1; +# +# MDEV-11167: InnoDB: Warning: using a partial-field key prefix +# in search, results in assertion failure or "Can't find record" error +# +CREATE TABLE t1 (a INT) ENGINE=InnoDB; +CREATE TABLE t2 (b INT, c INT, KEY(b)) ENGINE=InnoDB PARTITION BY HASH(c) PARTITIONS 2; +CREATE ALGORITHM = MERGE VIEW v AS SELECT a, b FROM t1 STRAIGHT_JOIN t2 WHERE b = 'foo' WITH CHECK OPTION; +INSERT INTO t1 VALUES (1),(2); +INSERT IGNORE INTO t2 VALUES (2,2),('three',3),(4,4); +Warnings: +Warning 1366 Incorrect integer value: 'three' for column 'b' at row 2 +UPDATE v SET a = NULL ORDER BY a, b; +Warnings: +Warning 1292 Truncated incorrect DOUBLE value: 'foo' +DROP view v; +DROP TABLE t1, t2; +SET @save_isp=@@innodb_stats_persistent; +SET GLOBAL innodb_stats_persistent= ON; +CREATE TABLE t (f1 INT, f2 INT, KEY(f2)) ENGINE=InnoDB PARTITION BY HASH (f1) PARTITIONS 2; +INSERT IGNORE INTO t VALUES (NULL,0),(NULL,0),(0,21),(4,0),(1,8),(5,66); +CREATE ALGORITHM=MERGE VIEW v AS SELECT t1.* FROM t t1 JOIN t t2 WHERE t1.f1 < t2.f2 WITH LOCAL CHECK OPTION; +UPDATE v SET f2 = NULL; +ERROR HY000: CHECK OPTION failed 'test.v' +SET GLOBAL innodb_stats_persistent= @save_isp; +DROP view v; +DROP TABLE t; diff --git a/mysql-test/t/partition_innodb.test b/mysql-test/t/partition_innodb.test index f6faa4cb0e6..5dbe9f467fa 100644 --- a/mysql-test/t/partition_innodb.test +++ b/mysql-test/t/partition_innodb.test @@ -996,3 +996,33 @@ SELECT b FROM t1 WHERE b = 0; SELECT b FROM t1 WHERE b = 0; --disconnect con1 DROP TABLE t1; + +--echo # +--echo # MDEV-11167: InnoDB: Warning: using a partial-field key prefix +--echo # in search, results in assertion failure or "Can't find record" error +--echo # + +CREATE TABLE t1 (a INT) ENGINE=InnoDB; +CREATE TABLE t2 (b INT, c INT, KEY(b)) ENGINE=InnoDB PARTITION BY HASH(c) PARTITIONS 2; +CREATE ALGORITHM = MERGE VIEW v AS SELECT a, b FROM t1 STRAIGHT_JOIN t2 WHERE b = 'foo' WITH CHECK OPTION; + +INSERT INTO t1 VALUES (1),(2); +INSERT IGNORE INTO t2 VALUES (2,2),('three',3),(4,4); +UPDATE v SET a = NULL ORDER BY a, b; + +DROP view v; +DROP TABLE t1, t2; + +SET @save_isp=@@innodb_stats_persistent; +SET GLOBAL innodb_stats_persistent= ON; + +CREATE TABLE t (f1 INT, f2 INT, KEY(f2)) ENGINE=InnoDB PARTITION BY HASH (f1) PARTITIONS 2; +INSERT IGNORE INTO t VALUES (NULL,0),(NULL,0),(0,21),(4,0),(1,8),(5,66); +CREATE ALGORITHM=MERGE VIEW v AS SELECT t1.* FROM t t1 JOIN t t2 WHERE t1.f1 < t2.f2 WITH LOCAL CHECK OPTION; +--error ER_VIEW_CHECK_FAILED +UPDATE v SET f2 = NULL; + +SET GLOBAL innodb_stats_persistent= @save_isp; +DROP view v; +DROP TABLE t; + diff --git a/sql/sql_update.cc b/sql/sql_update.cc index 592e8158c0d..1972cc82454 100644 --- a/sql/sql_update.cc +++ b/sql/sql_update.cc @@ -2309,7 +2309,7 @@ int multi_update::do_updates() check_opt_it.rewind(); while(TABLE *tbl= check_opt_it++) { - if ((local_error= tbl->file->ha_rnd_init(1))) + if ((local_error= tbl->file->ha_rnd_init(0))) { err_table= tbl; goto err;
1 0
0 0
[Commits] 22517dd: MDEV-16357 LIMIT and ORDER BY clause is ignored on a query with UNION
by IgorBabaev 06 Nov '18

06 Nov '18
revision-id: 22517dd937d31d3beb03d01f736a43f86b709d48 (mariadb-10.3.6-197-g22517dd) parent(s): 563efeceece09154f71da6303244b1df36875428 author: Igor Babaev committer: Igor Babaev timestamp: 2018-11-06 09:40:07 -0800 message: MDEV-16357 LIMIT and ORDER BY clause is ignored on a query with UNION when using brackets Do not create master unit for select if it has already one. --- mysql-test/main/brackets.result | 24 ++++++++++++++++++++++++ mysql-test/main/brackets.test | 18 ++++++++++++++++++ sql/sql_lex.cc | 3 +++ 3 files changed, 45 insertions(+) diff --git a/mysql-test/main/brackets.result b/mysql-test/main/brackets.result index 479b74b..e789cde 100644 --- a/mysql-test/main/brackets.result +++ b/mysql-test/main/brackets.result @@ -219,4 +219,28 @@ select 1 union select 1 union select 1; ((select 1) union (select 1) union (select 1)); 1 1 +# +# MDEV-16357: union in brackets with tail +# union with tail in brackets +# +CREATE TABLE t1 (a int); +INSERT INTO t1 VALUES(1),(2),(3),(4); +CREATE TABLE t2 (a int); +INSERT INTO t2 VALUES (4),(5),(6),(7); +(SELECT a FROM t1 UNION SELECT a FROM t2) LIMIT 1; +a +1 +(SELECT a FROM t1 UNION SELECT a FROM t2) ORDER BY a DESC; +a +7 +6 +5 +4 +3 +2 +1 +(SELECT a FROM t1 UNION SELECT a FROM t2 LIMIT 1); +a +1 +DROP TABLE t1,t2; # End of 10.4 tests diff --git a/mysql-test/main/brackets.test b/mysql-test/main/brackets.test index 699c70a..0eaa3bf 100644 --- a/mysql-test/main/brackets.test +++ b/mysql-test/main/brackets.test @@ -88,5 +88,23 @@ select 1 union select 1 union select 1; (select 1 union select 1 union select 1); ((select 1) union (select 1) union (select 1)); +--echo # +--echo # MDEV-16357: union in brackets with tail +--echo # union with tail in brackets +--echo # + +CREATE TABLE t1 (a int); +INSERT INTO t1 VALUES(1),(2),(3),(4); + +CREATE TABLE t2 (a int); +INSERT INTO t2 VALUES (4),(5),(6),(7); + +(SELECT a FROM t1 UNION SELECT a FROM t2) LIMIT 1; +(SELECT a FROM t1 UNION SELECT a FROM t2) ORDER BY a DESC; + +(SELECT a FROM t1 UNION SELECT a FROM t2 LIMIT 1); + +DROP TABLE t1,t2; + --echo # End of 10.4 tests diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index 4a5aedc..9fdebd6 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -5250,6 +5250,9 @@ LEX::create_unit(SELECT_LEX *first_sel) SELECT_LEX_UNIT *unit; DBUG_ENTER("LEX::create_unit"); + if (first_sel->master_unit()) + DBUG_RETURN(first_sel->master_unit()); + if (!(unit= alloc_unit())) DBUG_RETURN(NULL);
2 1
0 0
[Commits] 5b59c7a861a: After review changes.
by jan 06 Nov '18

06 Nov '18
revision-id: 5b59c7a861ab0f2962057c5d9da418e1a2f9002f (mariadb-10.1.37-7-g5b59c7a861a) parent(s): 0981a7661b7e34437aff8750ab19b926e573b877 author: Jan Lindström committer: Jan Lindström timestamp: 2018-11-06 10:19:16 +0200 message: After review changes. --- mysql-test/suite/encryption/r/innodb-encryption-alter.result | 6 +++--- storage/innobase/handler/ha_innodb.cc | 10 +++++----- storage/xtradb/handler/ha_innodb.cc | 10 +++++----- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/mysql-test/suite/encryption/r/innodb-encryption-alter.result b/mysql-test/suite/encryption/r/innodb-encryption-alter.result index 75417074fb0..5245d1da7d0 100644 --- a/mysql-test/suite/encryption/r/innodb-encryption-alter.result +++ b/mysql-test/suite/encryption/r/innodb-encryption-alter.result @@ -56,7 +56,7 @@ ALTER TABLE t1 ENCRYPTION_KEY_ID=4; ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'ENCRYPTION_KEY_ID' SHOW WARNINGS; Level Code Message -Warning 140 InnoDB: Incorrect ENCRYPTION_KEY_ID 4 when encryption is disabled +Warning 140 InnoDB: innodb_encrypt_tables=OFF only allows ENCRYPTION_KEY_ID=1 Error 1478 Table storage engine 'InnoDB' does not support the create option 'ENCRYPTION_KEY_ID' SHOW CREATE TABLE t1; Table Create Table @@ -70,7 +70,7 @@ ALTER TABLE t2 ENCRYPTION_KEY_ID=4, ALGORITHM=COPY; ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 140 "Wrong create options") SHOW WARNINGS; Level Code Message -Warning 140 InnoDB: Incorrect ENCRYPTION_KEY_ID 4 when encryption is disabled +Warning 140 InnoDB: innodb_encrypt_tables=OFF only allows ENCRYPTION_KEY_ID=1 Error 1005 Can't create table `test`.`#sql-temporary` (errno: 140 "Wrong create options") Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB SHOW CREATE TABLE t2; @@ -84,6 +84,6 @@ CREATE TABLE t3 (a int not null primary key) engine=innodb ENCRYPTION_KEY_ID=4; ERROR HY000: Can't create table `test`.`t3` (errno: 140 "Wrong create options") SHOW WARNINGS; Level Code Message -Warning 140 InnoDB: Incorrect ENCRYPTION_KEY_ID 4 when encryption is disabled +Warning 140 InnoDB: innodb_encrypt_tables=OFF only allows ENCRYPTION_KEY_ID=1 Error 1005 Can't create table `test`.`t3` (errno: 140 "Wrong create options") Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index d0d7f2374ba..b3a830e47c3 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -11960,14 +11960,14 @@ ha_innobase::check_table_options( /* If default encryption is used and encryption is disabled, you may not use nondefault encryption_key_id as it is not stored anywhere. */ - if (encrypt == FIL_ENCRYPTION_DEFAULT && - !srv_encrypt_tables && - options->encryption_key_id != FIL_DEFAULT_ENCRYPTION_KEY) { + if (encrypt == FIL_ENCRYPTION_DEFAULT + && !srv_encrypt_tables + && options->encryption_key_id != FIL_DEFAULT_ENCRYPTION_KEY) { + compile_time_assert(FIL_DEFAULT_ENCRYPTION_KEY == 1); push_warning_printf( thd, Sql_condition::WARN_LEVEL_WARN, HA_WRONG_CREATE_OPTION, - "InnoDB: Incorrect ENCRYPTION_KEY_ID %u when encryption is disabled", - (uint)options->encryption_key_id + "InnoDB: innodb_encrypt_tables=OFF only allows ENCRYPTION_KEY_ID=1" ); return "ENCRYPTION_KEY_ID"; } diff --git a/storage/xtradb/handler/ha_innodb.cc b/storage/xtradb/handler/ha_innodb.cc index c7eb4d28844..05066512db9 100644 --- a/storage/xtradb/handler/ha_innodb.cc +++ b/storage/xtradb/handler/ha_innodb.cc @@ -12527,14 +12527,14 @@ ha_innobase::check_table_options( /* If default encryption is used and encryption is disabled, you may not use nondefault encryption_key_id as it is not stored anywhere. */ - if (encrypt == FIL_ENCRYPTION_DEFAULT && - !srv_encrypt_tables && - options->encryption_key_id != FIL_DEFAULT_ENCRYPTION_KEY) { + if (encrypt == FIL_ENCRYPTION_DEFAULT + && !srv_encrypt_tables + && options->encryption_key_id != FIL_DEFAULT_ENCRYPTION_KEY) { + compile_time_assert(FIL_DEFAULT_ENCRYPTION_KEY == 1); push_warning_printf( thd, Sql_condition::WARN_LEVEL_WARN, HA_WRONG_CREATE_OPTION, - "InnoDB: Incorrect ENCRYPTION_KEY_ID %u when encryption is disabled", - (uint)options->encryption_key_id + "InnoDB: innodb_encrypt_tables=OFF only allows ENCRYPTION_KEY_ID=1" ); return "ENCRYPTION_KEY_ID"; }
1 0
0 0
[Commits] b0d21b7: MDEV-14567 Include full name of object in message about incorrect value for column.
by holyfoot@askmonty.org 04 Nov '18

04 Nov '18
revision-id: b0d21b7832cea92522d0f8d280ceb8b13b335cbf (mariadb-10.2.18-56-gb0d21b7) parent(s): 1c6b982e02eeaa75bb6c2f2a3c2b64491dd6d3c8 committer: Alexey Botchkov timestamp: 2018-11-04 09:14:40 +0400 message: MDEV-14567 Include full name of object in message about incorrect value for column. Put the full field name in the ER_TRUNCATED_WRONG_VALUE_FOR_FIELD error message. --- mysql-test/r/create.result | 6 +- mysql-test/r/ctype_big5.result | 128 ++++---- mysql-test/r/ctype_cp932_binlog_stm.result | 128 ++++---- mysql-test/r/ctype_eucjpms.result | 128 ++++---- mysql-test/r/ctype_euckr.result | 140 ++++----- mysql-test/r/ctype_gb2312.result | 128 ++++---- mysql-test/r/ctype_gbk.result | 454 ++++++++++++++--------------- mysql-test/r/ctype_latin1.result | 8 +- mysql-test/r/ctype_many.result | 4 +- mysql-test/r/ctype_recoding.result | 4 +- sql/field.cc | 32 +- 11 files changed, 593 insertions(+), 567 deletions(-) diff --git a/mysql-test/r/create.result b/mysql-test/r/create.result index 2159127..aa75d94 100644 --- a/mysql-test/r/create.result +++ b/mysql-test/r/create.result @@ -1225,7 +1225,7 @@ INSERT INTO t3 VALUES (0); SET sql_mode = TRADITIONAL; ALTER TABLE t3 ADD INDEX(c1); -ERROR 22007: Incorrect datetime value: '0000-00-00 00:00:00' for column 'c1' at row 1 +ERROR 22007: Incorrect datetime value: '0000-00-00 00:00:00' for column 'test.#sql-691c_15d.c1' at row 1 # -- Cleanup. SET sql_mode = ''; @@ -1783,12 +1783,12 @@ NULL 0000-00-00 0000-00-00 drop table t1; set @@session.sql_mode='STRICT_ALL_TABLES'; create table if not exists t1 (a int, b date, c date) select 1 as b, 2 as c; -ERROR 22007: Incorrect date value: '1' for column 'b' at row 1 +ERROR 22007: Incorrect date value: '1' for column 'test.t1.b' at row 1 select * from t1; ERROR 42S02: Table 'test.t1' doesn't exist create table if not exists t1 (a int, b date, c date) replace select 1 as b, 2 as c; -ERROR 22007: Incorrect date value: '1' for column 'b' at row 1 +ERROR 22007: Incorrect date value: '1' for column 'test.t1.b' at row 1 select * from t1; ERROR 42S02: Table 'test.t1' doesn't exist create table if not exists t1 (a int, b date, c date) diff --git a/mysql-test/r/ctype_big5.result b/mysql-test/r/ctype_big5.result index 2db4da5..1503953 100644 --- a/mysql-test/r/ctype_big5.result +++ b/mysql-test/r/ctype_big5.result @@ -565,70 +565,70 @@ COUNT(*) 28672 UPDATE IGNORE t1 SET a=unhex(code) ORDER BY code; Warnings: -Warning 1366 Incorrect string value: '\x80 ' for column 'a' at row 1 -Warning 1366 Incorrect string value: '\x80!' for column 'a' at row 2 -Warning 1366 Incorrect string value: '\x80"' for column 'a' at row 3 -Warning 1366 Incorrect string value: '\x80#' for column 'a' at row 4 -Warning 1366 Incorrect string value: '\x80$' for column 'a' at row 5 -Warning 1366 Incorrect string value: '\x80%' for column 'a' at row 6 -Warning 1366 Incorrect string value: '\x80&' for column 'a' at row 7 -Warning 1366 Incorrect string value: '\x80'' for column 'a' at row 8 -Warning 1366 Incorrect string value: '\x80(' for column 'a' at row 9 -Warning 1366 Incorrect string value: '\x80)' for column 'a' at row 10 -Warning 1366 Incorrect string value: '\x80*' for column 'a' at row 11 -Warning 1366 Incorrect string value: '\x80+' for column 'a' at row 12 -Warning 1366 Incorrect string value: '\x80,' for column 'a' at row 13 -Warning 1366 Incorrect string value: '\x80-' for column 'a' at row 14 -Warning 1366 Incorrect string value: '\x80.' for column 'a' at row 15 -Warning 1366 Incorrect string value: '\x80/' for column 'a' at row 16 -Warning 1366 Incorrect string value: '\x800' for column 'a' at row 17 -Warning 1366 Incorrect string value: '\x801' for column 'a' at row 18 -Warning 1366 Incorrect string value: '\x802' for column 'a' at row 19 -Warning 1366 Incorrect string value: '\x803' for column 'a' at row 20 -Warning 1366 Incorrect string value: '\x804' for column 'a' at row 21 -Warning 1366 Incorrect string value: '\x805' for column 'a' at row 22 -Warning 1366 Incorrect string value: '\x806' for column 'a' at row 23 -Warning 1366 Incorrect string value: '\x807' for column 'a' at row 24 -Warning 1366 Incorrect string value: '\x808' for column 'a' at row 25 -Warning 1366 Incorrect string value: '\x809' for column 'a' at row 26 -Warning 1366 Incorrect string value: '\x80:' for column 'a' at row 27 -Warning 1366 Incorrect string value: '\x80;' for column 'a' at row 28 -Warning 1366 Incorrect string value: '\x80<' for column 'a' at row 29 -Warning 1366 Incorrect string value: '\x80=' for column 'a' at row 30 -Warning 1366 Incorrect string value: '\x80>' for column 'a' at row 31 -Warning 1366 Incorrect string value: '\x80?' for column 'a' at row 32 -Warning 1366 Incorrect string value: '\x80@' for column 'a' at row 33 -Warning 1366 Incorrect string value: '\x80A' for column 'a' at row 34 -Warning 1366 Incorrect string value: '\x80B' for column 'a' at row 35 -Warning 1366 Incorrect string value: '\x80C' for column 'a' at row 36 -Warning 1366 Incorrect string value: '\x80D' for column 'a' at row 37 -Warning 1366 Incorrect string value: '\x80E' for column 'a' at row 38 -Warning 1366 Incorrect string value: '\x80F' for column 'a' at row 39 -Warning 1366 Incorrect string value: '\x80G' for column 'a' at row 40 -Warning 1366 Incorrect string value: '\x80H' for column 'a' at row 41 -Warning 1366 Incorrect string value: '\x80I' for column 'a' at row 42 -Warning 1366 Incorrect string value: '\x80J' for column 'a' at row 43 -Warning 1366 Incorrect string value: '\x80K' for column 'a' at row 44 -Warning 1366 Incorrect string value: '\x80L' for column 'a' at row 45 -Warning 1366 Incorrect string value: '\x80M' for column 'a' at row 46 -Warning 1366 Incorrect string value: '\x80N' for column 'a' at row 47 -Warning 1366 Incorrect string value: '\x80O' for column 'a' at row 48 -Warning 1366 Incorrect string value: '\x80P' for column 'a' at row 49 -Warning 1366 Incorrect string value: '\x80Q' for column 'a' at row 50 -Warning 1366 Incorrect string value: '\x80R' for column 'a' at row 51 -Warning 1366 Incorrect string value: '\x80S' for column 'a' at row 52 -Warning 1366 Incorrect string value: '\x80T' for column 'a' at row 53 -Warning 1366 Incorrect string value: '\x80U' for column 'a' at row 54 -Warning 1366 Incorrect string value: '\x80V' for column 'a' at row 55 -Warning 1366 Incorrect string value: '\x80W' for column 'a' at row 56 -Warning 1366 Incorrect string value: '\x80X' for column 'a' at row 57 -Warning 1366 Incorrect string value: '\x80Y' for column 'a' at row 58 -Warning 1366 Incorrect string value: '\x80Z' for column 'a' at row 59 -Warning 1366 Incorrect string value: '\x80[' for column 'a' at row 60 -Warning 1366 Incorrect string value: '\x80\' for column 'a' at row 61 -Warning 1366 Incorrect string value: '\x80]' for column 'a' at row 62 -Warning 1366 Incorrect string value: '\x80^' for column 'a' at row 63 -Warning 1366 Incorrect string value: '\x80_' for column 'a' at row 64 +Warning 1366 Incorrect string value: '\x80 ' for column 'test.t1.a' at row 1 +Warning 1366 Incorrect string value: '\x80!' for column 'test.t1.a' at row 2 +Warning 1366 Incorrect string value: '\x80"' for column 'test.t1.a' at row 3 +Warning 1366 Incorrect string value: '\x80#' for column 'test.t1.a' at row 4 +Warning 1366 Incorrect string value: '\x80$' for column 'test.t1.a' at row 5 +Warning 1366 Incorrect string value: '\x80%' for column 'test.t1.a' at row 6 +Warning 1366 Incorrect string value: '\x80&' for column 'test.t1.a' at row 7 +Warning 1366 Incorrect string value: '\x80'' for column 'test.t1.a' at row 8 +Warning 1366 Incorrect string value: '\x80(' for column 'test.t1.a' at row 9 +Warning 1366 Incorrect string value: '\x80)' for column 'test.t1.a' at row 10 +Warning 1366 Incorrect string value: '\x80*' for column 'test.t1.a' at row 11 +Warning 1366 Incorrect string value: '\x80+' for column 'test.t1.a' at row 12 +Warning 1366 Incorrect string value: '\x80,' for column 'test.t1.a' at row 13 +Warning 1366 Incorrect string value: '\x80-' for column 'test.t1.a' at row 14 +Warning 1366 Incorrect string value: '\x80.' for column 'test.t1.a' at row 15 +Warning 1366 Incorrect string value: '\x80/' for column 'test.t1.a' at row 16 +Warning 1366 Incorrect string value: '\x800' for column 'test.t1.a' at row 17 +Warning 1366 Incorrect string value: '\x801' for column 'test.t1.a' at row 18 +Warning 1366 Incorrect string value: '\x802' for column 'test.t1.a' at row 19 +Warning 1366 Incorrect string value: '\x803' for column 'test.t1.a' at row 20 +Warning 1366 Incorrect string value: '\x804' for column 'test.t1.a' at row 21 +Warning 1366 Incorrect string value: '\x805' for column 'test.t1.a' at row 22 +Warning 1366 Incorrect string value: '\x806' for column 'test.t1.a' at row 23 +Warning 1366 Incorrect string value: '\x807' for column 'test.t1.a' at row 24 +Warning 1366 Incorrect string value: '\x808' for column 'test.t1.a' at row 25 +Warning 1366 Incorrect string value: '\x809' for column 'test.t1.a' at row 26 +Warning 1366 Incorrect string value: '\x80:' for column 'test.t1.a' at row 27 +Warning 1366 Incorrect string value: '\x80;' for column 'test.t1.a' at row 28 +Warning 1366 Incorrect string value: '\x80<' for column 'test.t1.a' at row 29 +Warning 1366 Incorrect string value: '\x80=' for column 'test.t1.a' at row 30 +Warning 1366 Incorrect string value: '\x80>' for column 'test.t1.a' at row 31 +Warning 1366 Incorrect string value: '\x80?' for column 'test.t1.a' at row 32 +Warning 1366 Incorrect string value: '\x80@' for column 'test.t1.a' at row 33 +Warning 1366 Incorrect string value: '\x80A' for column 'test.t1.a' at row 34 +Warning 1366 Incorrect string value: '\x80B' for column 'test.t1.a' at row 35 +Warning 1366 Incorrect string value: '\x80C' for column 'test.t1.a' at row 36 +Warning 1366 Incorrect string value: '\x80D' for column 'test.t1.a' at row 37 +Warning 1366 Incorrect string value: '\x80E' for column 'test.t1.a' at row 38 +Warning 1366 Incorrect string value: '\x80F' for column 'test.t1.a' at row 39 +Warning 1366 Incorrect string value: '\x80G' for column 'test.t1.a' at row 40 +Warning 1366 Incorrect string value: '\x80H' for column 'test.t1.a' at row 41 +Warning 1366 Incorrect string value: '\x80I' for column 'test.t1.a' at row 42 +Warning 1366 Incorrect string value: '\x80J' for column 'test.t1.a' at row 43 +Warning 1366 Incorrect string value: '\x80K' for column 'test.t1.a' at row 44 +Warning 1366 Incorrect string value: '\x80L' for column 'test.t1.a' at row 45 +Warning 1366 Incorrect string value: '\x80M' for column 'test.t1.a' at row 46 +Warning 1366 Incorrect string value: '\x80N' for column 'test.t1.a' at row 47 +Warning 1366 Incorrect string value: '\x80O' for column 'test.t1.a' at row 48 +Warning 1366 Incorrect string value: '\x80P' for column 'test.t1.a' at row 49 +Warning 1366 Incorrect string value: '\x80Q' for column 'test.t1.a' at row 50 +Warning 1366 Incorrect string value: '\x80R' for column 'test.t1.a' at row 51 +Warning 1366 Incorrect string value: '\x80S' for column 'test.t1.a' at row 52 +Warning 1366 Incorrect string value: '\x80T' for column 'test.t1.a' at row 53 +Warning 1366 Incorrect string value: '\x80U' for column 'test.t1.a' at row 54 +Warning 1366 Incorrect string value: '\x80V' for column 'test.t1.a' at row 55 +Warning 1366 Incorrect string value: '\x80W' for column 'test.t1.a' at row 56 +Warning 1366 Incorrect string value: '\x80X' for column 'test.t1.a' at row 57 +Warning 1366 Incorrect string value: '\x80Y' for column 'test.t1.a' at row 58 +Warning 1366 Incorrect string value: '\x80Z' for column 'test.t1.a' at row 59 +Warning 1366 Incorrect string value: '\x80[' for column 'test.t1.a' at row 60 +Warning 1366 Incorrect string value: '\x80\' for column 'test.t1.a' at row 61 +Warning 1366 Incorrect string value: '\x80]' for column 'test.t1.a' at row 62 +Warning 1366 Incorrect string value: '\x80^' for column 'test.t1.a' at row 63 +Warning 1366 Incorrect string value: '\x80_' for column 'test.t1.a' at row 64 SELECT COUNT(*) FROM t1 WHERE a<>'?'; COUNT(*) 13973 diff --git a/mysql-test/r/ctype_cp932_binlog_stm.result b/mysql-test/r/ctype_cp932_binlog_stm.result index f49400b..ecb106e 100644 --- a/mysql-test/r/ctype_cp932_binlog_stm.result +++ b/mysql-test/r/ctype_cp932_binlog_stm.result @@ -98,70 +98,70 @@ t1 CREATE TABLE `t1` ( ) ENGINE=MyISAM DEFAULT CHARSET=latin1 UPDATE IGNORE t1 SET a=unhex(code) ORDER BY code; Warnings: -Warning 1366 Incorrect string value: '\x80 ' for column 'a' at row 1 -Warning 1366 Incorrect string value: '\x80!' for column 'a' at row 2 -Warning 1366 Incorrect string value: '\x80"' for column 'a' at row 3 -Warning 1366 Incorrect string value: '\x80#' for column 'a' at row 4 -Warning 1366 Incorrect string value: '\x80$' for column 'a' at row 5 -Warning 1366 Incorrect string value: '\x80%' for column 'a' at row 6 -Warning 1366 Incorrect string value: '\x80&' for column 'a' at row 7 -Warning 1366 Incorrect string value: '\x80'' for column 'a' at row 8 -Warning 1366 Incorrect string value: '\x80(' for column 'a' at row 9 -Warning 1366 Incorrect string value: '\x80)' for column 'a' at row 10 -Warning 1366 Incorrect string value: '\x80*' for column 'a' at row 11 -Warning 1366 Incorrect string value: '\x80+' for column 'a' at row 12 -Warning 1366 Incorrect string value: '\x80,' for column 'a' at row 13 -Warning 1366 Incorrect string value: '\x80-' for column 'a' at row 14 -Warning 1366 Incorrect string value: '\x80.' for column 'a' at row 15 -Warning 1366 Incorrect string value: '\x80/' for column 'a' at row 16 -Warning 1366 Incorrect string value: '\x800' for column 'a' at row 17 -Warning 1366 Incorrect string value: '\x801' for column 'a' at row 18 -Warning 1366 Incorrect string value: '\x802' for column 'a' at row 19 -Warning 1366 Incorrect string value: '\x803' for column 'a' at row 20 -Warning 1366 Incorrect string value: '\x804' for column 'a' at row 21 -Warning 1366 Incorrect string value: '\x805' for column 'a' at row 22 -Warning 1366 Incorrect string value: '\x806' for column 'a' at row 23 -Warning 1366 Incorrect string value: '\x807' for column 'a' at row 24 -Warning 1366 Incorrect string value: '\x808' for column 'a' at row 25 -Warning 1366 Incorrect string value: '\x809' for column 'a' at row 26 -Warning 1366 Incorrect string value: '\x80:' for column 'a' at row 27 -Warning 1366 Incorrect string value: '\x80;' for column 'a' at row 28 -Warning 1366 Incorrect string value: '\x80<' for column 'a' at row 29 -Warning 1366 Incorrect string value: '\x80=' for column 'a' at row 30 -Warning 1366 Incorrect string value: '\x80>' for column 'a' at row 31 -Warning 1366 Incorrect string value: '\x80?' for column 'a' at row 32 -Warning 1366 Incorrect string value: '\x80@' for column 'a' at row 33 -Warning 1366 Incorrect string value: '\x80A' for column 'a' at row 34 -Warning 1366 Incorrect string value: '\x80B' for column 'a' at row 35 -Warning 1366 Incorrect string value: '\x80C' for column 'a' at row 36 -Warning 1366 Incorrect string value: '\x80D' for column 'a' at row 37 -Warning 1366 Incorrect string value: '\x80E' for column 'a' at row 38 -Warning 1366 Incorrect string value: '\x80F' for column 'a' at row 39 -Warning 1366 Incorrect string value: '\x80G' for column 'a' at row 40 -Warning 1366 Incorrect string value: '\x80H' for column 'a' at row 41 -Warning 1366 Incorrect string value: '\x80I' for column 'a' at row 42 -Warning 1366 Incorrect string value: '\x80J' for column 'a' at row 43 -Warning 1366 Incorrect string value: '\x80K' for column 'a' at row 44 -Warning 1366 Incorrect string value: '\x80L' for column 'a' at row 45 -Warning 1366 Incorrect string value: '\x80M' for column 'a' at row 46 -Warning 1366 Incorrect string value: '\x80N' for column 'a' at row 47 -Warning 1366 Incorrect string value: '\x80O' for column 'a' at row 48 -Warning 1366 Incorrect string value: '\x80P' for column 'a' at row 49 -Warning 1366 Incorrect string value: '\x80Q' for column 'a' at row 50 -Warning 1366 Incorrect string value: '\x80R' for column 'a' at row 51 -Warning 1366 Incorrect string value: '\x80S' for column 'a' at row 52 -Warning 1366 Incorrect string value: '\x80T' for column 'a' at row 53 -Warning 1366 Incorrect string value: '\x80U' for column 'a' at row 54 -Warning 1366 Incorrect string value: '\x80V' for column 'a' at row 55 -Warning 1366 Incorrect string value: '\x80W' for column 'a' at row 56 -Warning 1366 Incorrect string value: '\x80X' for column 'a' at row 57 -Warning 1366 Incorrect string value: '\x80Y' for column 'a' at row 58 -Warning 1366 Incorrect string value: '\x80Z' for column 'a' at row 59 -Warning 1366 Incorrect string value: '\x80[' for column 'a' at row 60 -Warning 1366 Incorrect string value: '\x80\' for column 'a' at row 61 -Warning 1366 Incorrect string value: '\x80]' for column 'a' at row 62 -Warning 1366 Incorrect string value: '\x80^' for column 'a' at row 63 -Warning 1366 Incorrect string value: '\x80_' for column 'a' at row 64 +Warning 1366 Incorrect string value: '\x80 ' for column 'test.t1.a' at row 1 +Warning 1366 Incorrect string value: '\x80!' for column 'test.t1.a' at row 2 +Warning 1366 Incorrect string value: '\x80"' for column 'test.t1.a' at row 3 +Warning 1366 Incorrect string value: '\x80#' for column 'test.t1.a' at row 4 +Warning 1366 Incorrect string value: '\x80$' for column 'test.t1.a' at row 5 +Warning 1366 Incorrect string value: '\x80%' for column 'test.t1.a' at row 6 +Warning 1366 Incorrect string value: '\x80&' for column 'test.t1.a' at row 7 +Warning 1366 Incorrect string value: '\x80'' for column 'test.t1.a' at row 8 +Warning 1366 Incorrect string value: '\x80(' for column 'test.t1.a' at row 9 +Warning 1366 Incorrect string value: '\x80)' for column 'test.t1.a' at row 10 +Warning 1366 Incorrect string value: '\x80*' for column 'test.t1.a' at row 11 +Warning 1366 Incorrect string value: '\x80+' for column 'test.t1.a' at row 12 +Warning 1366 Incorrect string value: '\x80,' for column 'test.t1.a' at row 13 +Warning 1366 Incorrect string value: '\x80-' for column 'test.t1.a' at row 14 +Warning 1366 Incorrect string value: '\x80.' for column 'test.t1.a' at row 15 +Warning 1366 Incorrect string value: '\x80/' for column 'test.t1.a' at row 16 +Warning 1366 Incorrect string value: '\x800' for column 'test.t1.a' at row 17 +Warning 1366 Incorrect string value: '\x801' for column 'test.t1.a' at row 18 +Warning 1366 Incorrect string value: '\x802' for column 'test.t1.a' at row 19 +Warning 1366 Incorrect string value: '\x803' for column 'test.t1.a' at row 20 +Warning 1366 Incorrect string value: '\x804' for column 'test.t1.a' at row 21 +Warning 1366 Incorrect string value: '\x805' for column 'test.t1.a' at row 22 +Warning 1366 Incorrect string value: '\x806' for column 'test.t1.a' at row 23 +Warning 1366 Incorrect string value: '\x807' for column 'test.t1.a' at row 24 +Warning 1366 Incorrect string value: '\x808' for column 'test.t1.a' at row 25 +Warning 1366 Incorrect string value: '\x809' for column 'test.t1.a' at row 26 +Warning 1366 Incorrect string value: '\x80:' for column 'test.t1.a' at row 27 +Warning 1366 Incorrect string value: '\x80;' for column 'test.t1.a' at row 28 +Warning 1366 Incorrect string value: '\x80<' for column 'test.t1.a' at row 29 +Warning 1366 Incorrect string value: '\x80=' for column 'test.t1.a' at row 30 +Warning 1366 Incorrect string value: '\x80>' for column 'test.t1.a' at row 31 +Warning 1366 Incorrect string value: '\x80?' for column 'test.t1.a' at row 32 +Warning 1366 Incorrect string value: '\x80@' for column 'test.t1.a' at row 33 +Warning 1366 Incorrect string value: '\x80A' for column 'test.t1.a' at row 34 +Warning 1366 Incorrect string value: '\x80B' for column 'test.t1.a' at row 35 +Warning 1366 Incorrect string value: '\x80C' for column 'test.t1.a' at row 36 +Warning 1366 Incorrect string value: '\x80D' for column 'test.t1.a' at row 37 +Warning 1366 Incorrect string value: '\x80E' for column 'test.t1.a' at row 38 +Warning 1366 Incorrect string value: '\x80F' for column 'test.t1.a' at row 39 +Warning 1366 Incorrect string value: '\x80G' for column 'test.t1.a' at row 40 +Warning 1366 Incorrect string value: '\x80H' for column 'test.t1.a' at row 41 +Warning 1366 Incorrect string value: '\x80I' for column 'test.t1.a' at row 42 +Warning 1366 Incorrect string value: '\x80J' for column 'test.t1.a' at row 43 +Warning 1366 Incorrect string value: '\x80K' for column 'test.t1.a' at row 44 +Warning 1366 Incorrect string value: '\x80L' for column 'test.t1.a' at row 45 +Warning 1366 Incorrect string value: '\x80M' for column 'test.t1.a' at row 46 +Warning 1366 Incorrect string value: '\x80N' for column 'test.t1.a' at row 47 +Warning 1366 Incorrect string value: '\x80O' for column 'test.t1.a' at row 48 +Warning 1366 Incorrect string value: '\x80P' for column 'test.t1.a' at row 49 +Warning 1366 Incorrect string value: '\x80Q' for column 'test.t1.a' at row 50 +Warning 1366 Incorrect string value: '\x80R' for column 'test.t1.a' at row 51 +Warning 1366 Incorrect string value: '\x80S' for column 'test.t1.a' at row 52 +Warning 1366 Incorrect string value: '\x80T' for column 'test.t1.a' at row 53 +Warning 1366 Incorrect string value: '\x80U' for column 'test.t1.a' at row 54 +Warning 1366 Incorrect string value: '\x80V' for column 'test.t1.a' at row 55 +Warning 1366 Incorrect string value: '\x80W' for column 'test.t1.a' at row 56 +Warning 1366 Incorrect string value: '\x80X' for column 'test.t1.a' at row 57 +Warning 1366 Incorrect string value: '\x80Y' for column 'test.t1.a' at row 58 +Warning 1366 Incorrect string value: '\x80Z' for column 'test.t1.a' at row 59 +Warning 1366 Incorrect string value: '\x80[' for column 'test.t1.a' at row 60 +Warning 1366 Incorrect string value: '\x80\' for column 'test.t1.a' at row 61 +Warning 1366 Incorrect string value: '\x80]' for column 'test.t1.a' at row 62 +Warning 1366 Incorrect string value: '\x80^' for column 'test.t1.a' at row 63 +Warning 1366 Incorrect string value: '\x80_' for column 'test.t1.a' at row 64 SELECT COUNT(*) FROM t1; COUNT(*) 14623 diff --git a/mysql-test/r/ctype_eucjpms.result b/mysql-test/r/ctype_eucjpms.result index 507d002..52dee73 100644 --- a/mysql-test/r/ctype_eucjpms.result +++ b/mysql-test/r/ctype_eucjpms.result @@ -10042,70 +10042,70 @@ t1 CREATE TABLE `t1` ( ) ENGINE=MyISAM DEFAULT CHARSET=latin1 UPDATE IGNORE t1 SET a=unhex(code) ORDER BY code; Warnings: -Warning 1366 Incorrect string value: '\x80 ' for column 'a' at row 1 -Warning 1366 Incorrect string value: '\x80!' for column 'a' at row 2 -Warning 1366 Incorrect string value: '\x80"' for column 'a' at row 3 -Warning 1366 Incorrect string value: '\x80#' for column 'a' at row 4 -Warning 1366 Incorrect string value: '\x80$' for column 'a' at row 5 -Warning 1366 Incorrect string value: '\x80%' for column 'a' at row 6 -Warning 1366 Incorrect string value: '\x80&' for column 'a' at row 7 -Warning 1366 Incorrect string value: '\x80'' for column 'a' at row 8 -Warning 1366 Incorrect string value: '\x80(' for column 'a' at row 9 -Warning 1366 Incorrect string value: '\x80)' for column 'a' at row 10 -Warning 1366 Incorrect string value: '\x80*' for column 'a' at row 11 -Warning 1366 Incorrect string value: '\x80+' for column 'a' at row 12 -Warning 1366 Incorrect string value: '\x80,' for column 'a' at row 13 -Warning 1366 Incorrect string value: '\x80-' for column 'a' at row 14 -Warning 1366 Incorrect string value: '\x80.' for column 'a' at row 15 -Warning 1366 Incorrect string value: '\x80/' for column 'a' at row 16 -Warning 1366 Incorrect string value: '\x800' for column 'a' at row 17 -Warning 1366 Incorrect string value: '\x801' for column 'a' at row 18 -Warning 1366 Incorrect string value: '\x802' for column 'a' at row 19 -Warning 1366 Incorrect string value: '\x803' for column 'a' at row 20 -Warning 1366 Incorrect string value: '\x804' for column 'a' at row 21 -Warning 1366 Incorrect string value: '\x805' for column 'a' at row 22 -Warning 1366 Incorrect string value: '\x806' for column 'a' at row 23 -Warning 1366 Incorrect string value: '\x807' for column 'a' at row 24 -Warning 1366 Incorrect string value: '\x808' for column 'a' at row 25 -Warning 1366 Incorrect string value: '\x809' for column 'a' at row 26 -Warning 1366 Incorrect string value: '\x80:' for column 'a' at row 27 -Warning 1366 Incorrect string value: '\x80;' for column 'a' at row 28 -Warning 1366 Incorrect string value: '\x80<' for column 'a' at row 29 -Warning 1366 Incorrect string value: '\x80=' for column 'a' at row 30 -Warning 1366 Incorrect string value: '\x80>' for column 'a' at row 31 -Warning 1366 Incorrect string value: '\x80?' for column 'a' at row 32 -Warning 1366 Incorrect string value: '\x80@' for column 'a' at row 33 -Warning 1366 Incorrect string value: '\x80A' for column 'a' at row 34 -Warning 1366 Incorrect string value: '\x80B' for column 'a' at row 35 -Warning 1366 Incorrect string value: '\x80C' for column 'a' at row 36 -Warning 1366 Incorrect string value: '\x80D' for column 'a' at row 37 -Warning 1366 Incorrect string value: '\x80E' for column 'a' at row 38 -Warning 1366 Incorrect string value: '\x80F' for column 'a' at row 39 -Warning 1366 Incorrect string value: '\x80G' for column 'a' at row 40 -Warning 1366 Incorrect string value: '\x80H' for column 'a' at row 41 -Warning 1366 Incorrect string value: '\x80I' for column 'a' at row 42 -Warning 1366 Incorrect string value: '\x80J' for column 'a' at row 43 -Warning 1366 Incorrect string value: '\x80K' for column 'a' at row 44 -Warning 1366 Incorrect string value: '\x80L' for column 'a' at row 45 -Warning 1366 Incorrect string value: '\x80M' for column 'a' at row 46 -Warning 1366 Incorrect string value: '\x80N' for column 'a' at row 47 -Warning 1366 Incorrect string value: '\x80O' for column 'a' at row 48 -Warning 1366 Incorrect string value: '\x80P' for column 'a' at row 49 -Warning 1366 Incorrect string value: '\x80Q' for column 'a' at row 50 -Warning 1366 Incorrect string value: '\x80R' for column 'a' at row 51 -Warning 1366 Incorrect string value: '\x80S' for column 'a' at row 52 -Warning 1366 Incorrect string value: '\x80T' for column 'a' at row 53 -Warning 1366 Incorrect string value: '\x80U' for column 'a' at row 54 -Warning 1366 Incorrect string value: '\x80V' for column 'a' at row 55 -Warning 1366 Incorrect string value: '\x80W' for column 'a' at row 56 -Warning 1366 Incorrect string value: '\x80X' for column 'a' at row 57 -Warning 1366 Incorrect string value: '\x80Y' for column 'a' at row 58 -Warning 1366 Incorrect string value: '\x80Z' for column 'a' at row 59 -Warning 1366 Incorrect string value: '\x80[' for column 'a' at row 60 -Warning 1366 Incorrect string value: '\x80\' for column 'a' at row 61 -Warning 1366 Incorrect string value: '\x80]' for column 'a' at row 62 -Warning 1366 Incorrect string value: '\x80^' for column 'a' at row 63 -Warning 1366 Incorrect string value: '\x80_' for column 'a' at row 64 +Warning 1366 Incorrect string value: '\x80 ' for column 'test.t1.a' at row 1 +Warning 1366 Incorrect string value: '\x80!' for column 'test.t1.a' at row 2 +Warning 1366 Incorrect string value: '\x80"' for column 'test.t1.a' at row 3 +Warning 1366 Incorrect string value: '\x80#' for column 'test.t1.a' at row 4 +Warning 1366 Incorrect string value: '\x80$' for column 'test.t1.a' at row 5 +Warning 1366 Incorrect string value: '\x80%' for column 'test.t1.a' at row 6 +Warning 1366 Incorrect string value: '\x80&' for column 'test.t1.a' at row 7 +Warning 1366 Incorrect string value: '\x80'' for column 'test.t1.a' at row 8 +Warning 1366 Incorrect string value: '\x80(' for column 'test.t1.a' at row 9 +Warning 1366 Incorrect string value: '\x80)' for column 'test.t1.a' at row 10 +Warning 1366 Incorrect string value: '\x80*' for column 'test.t1.a' at row 11 +Warning 1366 Incorrect string value: '\x80+' for column 'test.t1.a' at row 12 +Warning 1366 Incorrect string value: '\x80,' for column 'test.t1.a' at row 13 +Warning 1366 Incorrect string value: '\x80-' for column 'test.t1.a' at row 14 +Warning 1366 Incorrect string value: '\x80.' for column 'test.t1.a' at row 15 +Warning 1366 Incorrect string value: '\x80/' for column 'test.t1.a' at row 16 +Warning 1366 Incorrect string value: '\x800' for column 'test.t1.a' at row 17 +Warning 1366 Incorrect string value: '\x801' for column 'test.t1.a' at row 18 +Warning 1366 Incorrect string value: '\x802' for column 'test.t1.a' at row 19 +Warning 1366 Incorrect string value: '\x803' for column 'test.t1.a' at row 20 +Warning 1366 Incorrect string value: '\x804' for column 'test.t1.a' at row 21 +Warning 1366 Incorrect string value: '\x805' for column 'test.t1.a' at row 22 +Warning 1366 Incorrect string value: '\x806' for column 'test.t1.a' at row 23 +Warning 1366 Incorrect string value: '\x807' for column 'test.t1.a' at row 24 +Warning 1366 Incorrect string value: '\x808' for column 'test.t1.a' at row 25 +Warning 1366 Incorrect string value: '\x809' for column 'test.t1.a' at row 26 +Warning 1366 Incorrect string value: '\x80:' for column 'test.t1.a' at row 27 +Warning 1366 Incorrect string value: '\x80;' for column 'test.t1.a' at row 28 +Warning 1366 Incorrect string value: '\x80<' for column 'test.t1.a' at row 29 +Warning 1366 Incorrect string value: '\x80=' for column 'test.t1.a' at row 30 +Warning 1366 Incorrect string value: '\x80>' for column 'test.t1.a' at row 31 +Warning 1366 Incorrect string value: '\x80?' for column 'test.t1.a' at row 32 +Warning 1366 Incorrect string value: '\x80@' for column 'test.t1.a' at row 33 +Warning 1366 Incorrect string value: '\x80A' for column 'test.t1.a' at row 34 +Warning 1366 Incorrect string value: '\x80B' for column 'test.t1.a' at row 35 +Warning 1366 Incorrect string value: '\x80C' for column 'test.t1.a' at row 36 +Warning 1366 Incorrect string value: '\x80D' for column 'test.t1.a' at row 37 +Warning 1366 Incorrect string value: '\x80E' for column 'test.t1.a' at row 38 +Warning 1366 Incorrect string value: '\x80F' for column 'test.t1.a' at row 39 +Warning 1366 Incorrect string value: '\x80G' for column 'test.t1.a' at row 40 +Warning 1366 Incorrect string value: '\x80H' for column 'test.t1.a' at row 41 +Warning 1366 Incorrect string value: '\x80I' for column 'test.t1.a' at row 42 +Warning 1366 Incorrect string value: '\x80J' for column 'test.t1.a' at row 43 +Warning 1366 Incorrect string value: '\x80K' for column 'test.t1.a' at row 44 +Warning 1366 Incorrect string value: '\x80L' for column 'test.t1.a' at row 45 +Warning 1366 Incorrect string value: '\x80M' for column 'test.t1.a' at row 46 +Warning 1366 Incorrect string value: '\x80N' for column 'test.t1.a' at row 47 +Warning 1366 Incorrect string value: '\x80O' for column 'test.t1.a' at row 48 +Warning 1366 Incorrect string value: '\x80P' for column 'test.t1.a' at row 49 +Warning 1366 Incorrect string value: '\x80Q' for column 'test.t1.a' at row 50 +Warning 1366 Incorrect string value: '\x80R' for column 'test.t1.a' at row 51 +Warning 1366 Incorrect string value: '\x80S' for column 'test.t1.a' at row 52 +Warning 1366 Incorrect string value: '\x80T' for column 'test.t1.a' at row 53 +Warning 1366 Incorrect string value: '\x80U' for column 'test.t1.a' at row 54 +Warning 1366 Incorrect string value: '\x80V' for column 'test.t1.a' at row 55 +Warning 1366 Incorrect string value: '\x80W' for column 'test.t1.a' at row 56 +Warning 1366 Incorrect string value: '\x80X' for column 'test.t1.a' at row 57 +Warning 1366 Incorrect string value: '\x80Y' for column 'test.t1.a' at row 58 +Warning 1366 Incorrect string value: '\x80Z' for column 'test.t1.a' at row 59 +Warning 1366 Incorrect string value: '\x80[' for column 'test.t1.a' at row 60 +Warning 1366 Incorrect string value: '\x80\' for column 'test.t1.a' at row 61 +Warning 1366 Incorrect string value: '\x80]' for column 'test.t1.a' at row 62 +Warning 1366 Incorrect string value: '\x80^' for column 'test.t1.a' at row 63 +Warning 1366 Incorrect string value: '\x80_' for column 'test.t1.a' at row 64 SELECT COUNT(*) FROM t1; COUNT(*) 56959 diff --git a/mysql-test/r/ctype_euckr.result b/mysql-test/r/ctype_euckr.result index cc50ddd..31eda4c 100644 --- a/mysql-test/r/ctype_euckr.result +++ b/mysql-test/r/ctype_euckr.result @@ -389,22 +389,22 @@ insert into t1 values (0xA181); insert into t1 values (0xA1FE); insert ignore into t1 values (0xA140); Warnings: -Warning 1366 Incorrect string value: '\xA1@' for column 's1' at row 1 +Warning 1366 Incorrect string value: '\xA1@' for column 'test.t1.s1' at row 1 insert ignore into t1 values (0xA15B); Warnings: -Warning 1366 Incorrect string value: '\xA1[' for column 's1' at row 1 +Warning 1366 Incorrect string value: '\xA1[' for column 'test.t1.s1' at row 1 insert ignore into t1 values (0xA160); Warnings: -Warning 1366 Incorrect string value: '\xA1`' for column 's1' at row 1 +Warning 1366 Incorrect string value: '\xA1`' for column 'test.t1.s1' at row 1 insert ignore into t1 values (0xA17B); Warnings: -Warning 1366 Incorrect string value: '\xA1{' for column 's1' at row 1 +Warning 1366 Incorrect string value: '\xA1{' for column 'test.t1.s1' at row 1 insert ignore into t1 values (0xA180); Warnings: -Warning 1366 Incorrect string value: '\xA1\x80' for column 's1' at row 1 +Warning 1366 Incorrect string value: '\xA1\x80' for column 'test.t1.s1' at row 1 insert ignore into t1 values (0xA1FF); Warnings: -Warning 1366 Incorrect string value: '\xA1\xFF' for column 's1' at row 1 +Warning 1366 Incorrect string value: '\xA1\xFF' for column 'test.t1.s1' at row 1 select hex(s1), hex(convert(s1 using utf8)) from t1 order by binary s1; hex(s1) hex(convert(s1 using utf8)) 3F3F 3F3F @@ -24428,70 +24428,70 @@ t1 CREATE TABLE `t1` ( ) ENGINE=MyISAM DEFAULT CHARSET=latin1 UPDATE IGNORE t1 SET a=unhex(code) ORDER BY code; Warnings: -Warning 1366 Incorrect string value: '\x80 ' for column 'a' at row 1 -Warning 1366 Incorrect string value: '\x80!' for column 'a' at row 2 -Warning 1366 Incorrect string value: '\x80"' for column 'a' at row 3 -Warning 1366 Incorrect string value: '\x80#' for column 'a' at row 4 -Warning 1366 Incorrect string value: '\x80$' for column 'a' at row 5 -Warning 1366 Incorrect string value: '\x80%' for column 'a' at row 6 -Warning 1366 Incorrect string value: '\x80&' for column 'a' at row 7 -Warning 1366 Incorrect string value: '\x80'' for column 'a' at row 8 -Warning 1366 Incorrect string value: '\x80(' for column 'a' at row 9 -Warning 1366 Incorrect string value: '\x80)' for column 'a' at row 10 -Warning 1366 Incorrect string value: '\x80*' for column 'a' at row 11 -Warning 1366 Incorrect string value: '\x80+' for column 'a' at row 12 -Warning 1366 Incorrect string value: '\x80,' for column 'a' at row 13 -Warning 1366 Incorrect string value: '\x80-' for column 'a' at row 14 -Warning 1366 Incorrect string value: '\x80.' for column 'a' at row 15 -Warning 1366 Incorrect string value: '\x80/' for column 'a' at row 16 -Warning 1366 Incorrect string value: '\x800' for column 'a' at row 17 -Warning 1366 Incorrect string value: '\x801' for column 'a' at row 18 -Warning 1366 Incorrect string value: '\x802' for column 'a' at row 19 -Warning 1366 Incorrect string value: '\x803' for column 'a' at row 20 -Warning 1366 Incorrect string value: '\x804' for column 'a' at row 21 -Warning 1366 Incorrect string value: '\x805' for column 'a' at row 22 -Warning 1366 Incorrect string value: '\x806' for column 'a' at row 23 -Warning 1366 Incorrect string value: '\x807' for column 'a' at row 24 -Warning 1366 Incorrect string value: '\x808' for column 'a' at row 25 -Warning 1366 Incorrect string value: '\x809' for column 'a' at row 26 -Warning 1366 Incorrect string value: '\x80:' for column 'a' at row 27 -Warning 1366 Incorrect string value: '\x80;' for column 'a' at row 28 -Warning 1366 Incorrect string value: '\x80<' for column 'a' at row 29 -Warning 1366 Incorrect string value: '\x80=' for column 'a' at row 30 -Warning 1366 Incorrect string value: '\x80>' for column 'a' at row 31 -Warning 1366 Incorrect string value: '\x80?' for column 'a' at row 32 -Warning 1366 Incorrect string value: '\x80@' for column 'a' at row 33 -Warning 1366 Incorrect string value: '\x80A' for column 'a' at row 34 -Warning 1366 Incorrect string value: '\x80B' for column 'a' at row 35 -Warning 1366 Incorrect string value: '\x80C' for column 'a' at row 36 -Warning 1366 Incorrect string value: '\x80D' for column 'a' at row 37 -Warning 1366 Incorrect string value: '\x80E' for column 'a' at row 38 -Warning 1366 Incorrect string value: '\x80F' for column 'a' at row 39 -Warning 1366 Incorrect string value: '\x80G' for column 'a' at row 40 -Warning 1366 Incorrect string value: '\x80H' for column 'a' at row 41 -Warning 1366 Incorrect string value: '\x80I' for column 'a' at row 42 -Warning 1366 Incorrect string value: '\x80J' for column 'a' at row 43 -Warning 1366 Incorrect string value: '\x80K' for column 'a' at row 44 -Warning 1366 Incorrect string value: '\x80L' for column 'a' at row 45 -Warning 1366 Incorrect string value: '\x80M' for column 'a' at row 46 -Warning 1366 Incorrect string value: '\x80N' for column 'a' at row 47 -Warning 1366 Incorrect string value: '\x80O' for column 'a' at row 48 -Warning 1366 Incorrect string value: '\x80P' for column 'a' at row 49 -Warning 1366 Incorrect string value: '\x80Q' for column 'a' at row 50 -Warning 1366 Incorrect string value: '\x80R' for column 'a' at row 51 -Warning 1366 Incorrect string value: '\x80S' for column 'a' at row 52 -Warning 1366 Incorrect string value: '\x80T' for column 'a' at row 53 -Warning 1366 Incorrect string value: '\x80U' for column 'a' at row 54 -Warning 1366 Incorrect string value: '\x80V' for column 'a' at row 55 -Warning 1366 Incorrect string value: '\x80W' for column 'a' at row 56 -Warning 1366 Incorrect string value: '\x80X' for column 'a' at row 57 -Warning 1366 Incorrect string value: '\x80Y' for column 'a' at row 58 -Warning 1366 Incorrect string value: '\x80Z' for column 'a' at row 59 -Warning 1366 Incorrect string value: '\x80[' for column 'a' at row 60 -Warning 1366 Incorrect string value: '\x80\' for column 'a' at row 61 -Warning 1366 Incorrect string value: '\x80]' for column 'a' at row 62 -Warning 1366 Incorrect string value: '\x80^' for column 'a' at row 63 -Warning 1366 Incorrect string value: '\x80_' for column 'a' at row 64 +Warning 1366 Incorrect string value: '\x80 ' for column 'test.t1.a' at row 1 +Warning 1366 Incorrect string value: '\x80!' for column 'test.t1.a' at row 2 +Warning 1366 Incorrect string value: '\x80"' for column 'test.t1.a' at row 3 +Warning 1366 Incorrect string value: '\x80#' for column 'test.t1.a' at row 4 +Warning 1366 Incorrect string value: '\x80$' for column 'test.t1.a' at row 5 +Warning 1366 Incorrect string value: '\x80%' for column 'test.t1.a' at row 6 +Warning 1366 Incorrect string value: '\x80&' for column 'test.t1.a' at row 7 +Warning 1366 Incorrect string value: '\x80'' for column 'test.t1.a' at row 8 +Warning 1366 Incorrect string value: '\x80(' for column 'test.t1.a' at row 9 +Warning 1366 Incorrect string value: '\x80)' for column 'test.t1.a' at row 10 +Warning 1366 Incorrect string value: '\x80*' for column 'test.t1.a' at row 11 +Warning 1366 Incorrect string value: '\x80+' for column 'test.t1.a' at row 12 +Warning 1366 Incorrect string value: '\x80,' for column 'test.t1.a' at row 13 +Warning 1366 Incorrect string value: '\x80-' for column 'test.t1.a' at row 14 +Warning 1366 Incorrect string value: '\x80.' for column 'test.t1.a' at row 15 +Warning 1366 Incorrect string value: '\x80/' for column 'test.t1.a' at row 16 +Warning 1366 Incorrect string value: '\x800' for column 'test.t1.a' at row 17 +Warning 1366 Incorrect string value: '\x801' for column 'test.t1.a' at row 18 +Warning 1366 Incorrect string value: '\x802' for column 'test.t1.a' at row 19 +Warning 1366 Incorrect string value: '\x803' for column 'test.t1.a' at row 20 +Warning 1366 Incorrect string value: '\x804' for column 'test.t1.a' at row 21 +Warning 1366 Incorrect string value: '\x805' for column 'test.t1.a' at row 22 +Warning 1366 Incorrect string value: '\x806' for column 'test.t1.a' at row 23 +Warning 1366 Incorrect string value: '\x807' for column 'test.t1.a' at row 24 +Warning 1366 Incorrect string value: '\x808' for column 'test.t1.a' at row 25 +Warning 1366 Incorrect string value: '\x809' for column 'test.t1.a' at row 26 +Warning 1366 Incorrect string value: '\x80:' for column 'test.t1.a' at row 27 +Warning 1366 Incorrect string value: '\x80;' for column 'test.t1.a' at row 28 +Warning 1366 Incorrect string value: '\x80<' for column 'test.t1.a' at row 29 +Warning 1366 Incorrect string value: '\x80=' for column 'test.t1.a' at row 30 +Warning 1366 Incorrect string value: '\x80>' for column 'test.t1.a' at row 31 +Warning 1366 Incorrect string value: '\x80?' for column 'test.t1.a' at row 32 +Warning 1366 Incorrect string value: '\x80@' for column 'test.t1.a' at row 33 +Warning 1366 Incorrect string value: '\x80A' for column 'test.t1.a' at row 34 +Warning 1366 Incorrect string value: '\x80B' for column 'test.t1.a' at row 35 +Warning 1366 Incorrect string value: '\x80C' for column 'test.t1.a' at row 36 +Warning 1366 Incorrect string value: '\x80D' for column 'test.t1.a' at row 37 +Warning 1366 Incorrect string value: '\x80E' for column 'test.t1.a' at row 38 +Warning 1366 Incorrect string value: '\x80F' for column 'test.t1.a' at row 39 +Warning 1366 Incorrect string value: '\x80G' for column 'test.t1.a' at row 40 +Warning 1366 Incorrect string value: '\x80H' for column 'test.t1.a' at row 41 +Warning 1366 Incorrect string value: '\x80I' for column 'test.t1.a' at row 42 +Warning 1366 Incorrect string value: '\x80J' for column 'test.t1.a' at row 43 +Warning 1366 Incorrect string value: '\x80K' for column 'test.t1.a' at row 44 +Warning 1366 Incorrect string value: '\x80L' for column 'test.t1.a' at row 45 +Warning 1366 Incorrect string value: '\x80M' for column 'test.t1.a' at row 46 +Warning 1366 Incorrect string value: '\x80N' for column 'test.t1.a' at row 47 +Warning 1366 Incorrect string value: '\x80O' for column 'test.t1.a' at row 48 +Warning 1366 Incorrect string value: '\x80P' for column 'test.t1.a' at row 49 +Warning 1366 Incorrect string value: '\x80Q' for column 'test.t1.a' at row 50 +Warning 1366 Incorrect string value: '\x80R' for column 'test.t1.a' at row 51 +Warning 1366 Incorrect string value: '\x80S' for column 'test.t1.a' at row 52 +Warning 1366 Incorrect string value: '\x80T' for column 'test.t1.a' at row 53 +Warning 1366 Incorrect string value: '\x80U' for column 'test.t1.a' at row 54 +Warning 1366 Incorrect string value: '\x80V' for column 'test.t1.a' at row 55 +Warning 1366 Incorrect string value: '\x80W' for column 'test.t1.a' at row 56 +Warning 1366 Incorrect string value: '\x80X' for column 'test.t1.a' at row 57 +Warning 1366 Incorrect string value: '\x80Y' for column 'test.t1.a' at row 58 +Warning 1366 Incorrect string value: '\x80Z' for column 'test.t1.a' at row 59 +Warning 1366 Incorrect string value: '\x80[' for column 'test.t1.a' at row 60 +Warning 1366 Incorrect string value: '\x80\' for column 'test.t1.a' at row 61 +Warning 1366 Incorrect string value: '\x80]' for column 'test.t1.a' at row 62 +Warning 1366 Incorrect string value: '\x80^' for column 'test.t1.a' at row 63 +Warning 1366 Incorrect string value: '\x80_' for column 'test.t1.a' at row 64 SELECT COUNT(*) FROM t1 WHERE a<>'?'; COUNT(*) 22428 diff --git a/mysql-test/r/ctype_gb2312.result b/mysql-test/r/ctype_gb2312.result index c3c2eee..ccfdd33 100644 --- a/mysql-test/r/ctype_gb2312.result +++ b/mysql-test/r/ctype_gb2312.result @@ -489,70 +489,70 @@ t1 CREATE TABLE `t1` ( ) ENGINE=MyISAM DEFAULT CHARSET=latin1 UPDATE IGNORE t1 SET a=unhex(code) ORDER BY code; Warnings: -Warning 1366 Incorrect string value: '\x80 ' for column 'a' at row 1 -Warning 1366 Incorrect string value: '\x80!' for column 'a' at row 2 -Warning 1366 Incorrect string value: '\x80"' for column 'a' at row 3 -Warning 1366 Incorrect string value: '\x80#' for column 'a' at row 4 -Warning 1366 Incorrect string value: '\x80$' for column 'a' at row 5 -Warning 1366 Incorrect string value: '\x80%' for column 'a' at row 6 -Warning 1366 Incorrect string value: '\x80&' for column 'a' at row 7 -Warning 1366 Incorrect string value: '\x80'' for column 'a' at row 8 -Warning 1366 Incorrect string value: '\x80(' for column 'a' at row 9 -Warning 1366 Incorrect string value: '\x80)' for column 'a' at row 10 -Warning 1366 Incorrect string value: '\x80*' for column 'a' at row 11 -Warning 1366 Incorrect string value: '\x80+' for column 'a' at row 12 -Warning 1366 Incorrect string value: '\x80,' for column 'a' at row 13 -Warning 1366 Incorrect string value: '\x80-' for column 'a' at row 14 -Warning 1366 Incorrect string value: '\x80.' for column 'a' at row 15 -Warning 1366 Incorrect string value: '\x80/' for column 'a' at row 16 -Warning 1366 Incorrect string value: '\x800' for column 'a' at row 17 -Warning 1366 Incorrect string value: '\x801' for column 'a' at row 18 -Warning 1366 Incorrect string value: '\x802' for column 'a' at row 19 -Warning 1366 Incorrect string value: '\x803' for column 'a' at row 20 -Warning 1366 Incorrect string value: '\x804' for column 'a' at row 21 -Warning 1366 Incorrect string value: '\x805' for column 'a' at row 22 -Warning 1366 Incorrect string value: '\x806' for column 'a' at row 23 -Warning 1366 Incorrect string value: '\x807' for column 'a' at row 24 -Warning 1366 Incorrect string value: '\x808' for column 'a' at row 25 -Warning 1366 Incorrect string value: '\x809' for column 'a' at row 26 -Warning 1366 Incorrect string value: '\x80:' for column 'a' at row 27 -Warning 1366 Incorrect string value: '\x80;' for column 'a' at row 28 -Warning 1366 Incorrect string value: '\x80<' for column 'a' at row 29 -Warning 1366 Incorrect string value: '\x80=' for column 'a' at row 30 -Warning 1366 Incorrect string value: '\x80>' for column 'a' at row 31 -Warning 1366 Incorrect string value: '\x80?' for column 'a' at row 32 -Warning 1366 Incorrect string value: '\x80@' for column 'a' at row 33 -Warning 1366 Incorrect string value: '\x80A' for column 'a' at row 34 -Warning 1366 Incorrect string value: '\x80B' for column 'a' at row 35 -Warning 1366 Incorrect string value: '\x80C' for column 'a' at row 36 -Warning 1366 Incorrect string value: '\x80D' for column 'a' at row 37 -Warning 1366 Incorrect string value: '\x80E' for column 'a' at row 38 -Warning 1366 Incorrect string value: '\x80F' for column 'a' at row 39 -Warning 1366 Incorrect string value: '\x80G' for column 'a' at row 40 -Warning 1366 Incorrect string value: '\x80H' for column 'a' at row 41 -Warning 1366 Incorrect string value: '\x80I' for column 'a' at row 42 -Warning 1366 Incorrect string value: '\x80J' for column 'a' at row 43 -Warning 1366 Incorrect string value: '\x80K' for column 'a' at row 44 -Warning 1366 Incorrect string value: '\x80L' for column 'a' at row 45 -Warning 1366 Incorrect string value: '\x80M' for column 'a' at row 46 -Warning 1366 Incorrect string value: '\x80N' for column 'a' at row 47 -Warning 1366 Incorrect string value: '\x80O' for column 'a' at row 48 -Warning 1366 Incorrect string value: '\x80P' for column 'a' at row 49 -Warning 1366 Incorrect string value: '\x80Q' for column 'a' at row 50 -Warning 1366 Incorrect string value: '\x80R' for column 'a' at row 51 -Warning 1366 Incorrect string value: '\x80S' for column 'a' at row 52 -Warning 1366 Incorrect string value: '\x80T' for column 'a' at row 53 -Warning 1366 Incorrect string value: '\x80U' for column 'a' at row 54 -Warning 1366 Incorrect string value: '\x80V' for column 'a' at row 55 -Warning 1366 Incorrect string value: '\x80W' for column 'a' at row 56 -Warning 1366 Incorrect string value: '\x80X' for column 'a' at row 57 -Warning 1366 Incorrect string value: '\x80Y' for column 'a' at row 58 -Warning 1366 Incorrect string value: '\x80Z' for column 'a' at row 59 -Warning 1366 Incorrect string value: '\x80[' for column 'a' at row 60 -Warning 1366 Incorrect string value: '\x80\' for column 'a' at row 61 -Warning 1366 Incorrect string value: '\x80]' for column 'a' at row 62 -Warning 1366 Incorrect string value: '\x80^' for column 'a' at row 63 -Warning 1366 Incorrect string value: '\x80_' for column 'a' at row 64 +Warning 1366 Incorrect string value: '\x80 ' for column 'test.t1.a' at row 1 +Warning 1366 Incorrect string value: '\x80!' for column 'test.t1.a' at row 2 +Warning 1366 Incorrect string value: '\x80"' for column 'test.t1.a' at row 3 +Warning 1366 Incorrect string value: '\x80#' for column 'test.t1.a' at row 4 +Warning 1366 Incorrect string value: '\x80$' for column 'test.t1.a' at row 5 +Warning 1366 Incorrect string value: '\x80%' for column 'test.t1.a' at row 6 +Warning 1366 Incorrect string value: '\x80&' for column 'test.t1.a' at row 7 +Warning 1366 Incorrect string value: '\x80'' for column 'test.t1.a' at row 8 +Warning 1366 Incorrect string value: '\x80(' for column 'test.t1.a' at row 9 +Warning 1366 Incorrect string value: '\x80)' for column 'test.t1.a' at row 10 +Warning 1366 Incorrect string value: '\x80*' for column 'test.t1.a' at row 11 +Warning 1366 Incorrect string value: '\x80+' for column 'test.t1.a' at row 12 +Warning 1366 Incorrect string value: '\x80,' for column 'test.t1.a' at row 13 +Warning 1366 Incorrect string value: '\x80-' for column 'test.t1.a' at row 14 +Warning 1366 Incorrect string value: '\x80.' for column 'test.t1.a' at row 15 +Warning 1366 Incorrect string value: '\x80/' for column 'test.t1.a' at row 16 +Warning 1366 Incorrect string value: '\x800' for column 'test.t1.a' at row 17 +Warning 1366 Incorrect string value: '\x801' for column 'test.t1.a' at row 18 +Warning 1366 Incorrect string value: '\x802' for column 'test.t1.a' at row 19 +Warning 1366 Incorrect string value: '\x803' for column 'test.t1.a' at row 20 +Warning 1366 Incorrect string value: '\x804' for column 'test.t1.a' at row 21 +Warning 1366 Incorrect string value: '\x805' for column 'test.t1.a' at row 22 +Warning 1366 Incorrect string value: '\x806' for column 'test.t1.a' at row 23 +Warning 1366 Incorrect string value: '\x807' for column 'test.t1.a' at row 24 +Warning 1366 Incorrect string value: '\x808' for column 'test.t1.a' at row 25 +Warning 1366 Incorrect string value: '\x809' for column 'test.t1.a' at row 26 +Warning 1366 Incorrect string value: '\x80:' for column 'test.t1.a' at row 27 +Warning 1366 Incorrect string value: '\x80;' for column 'test.t1.a' at row 28 +Warning 1366 Incorrect string value: '\x80<' for column 'test.t1.a' at row 29 +Warning 1366 Incorrect string value: '\x80=' for column 'test.t1.a' at row 30 +Warning 1366 Incorrect string value: '\x80>' for column 'test.t1.a' at row 31 +Warning 1366 Incorrect string value: '\x80?' for column 'test.t1.a' at row 32 +Warning 1366 Incorrect string value: '\x80@' for column 'test.t1.a' at row 33 +Warning 1366 Incorrect string value: '\x80A' for column 'test.t1.a' at row 34 +Warning 1366 Incorrect string value: '\x80B' for column 'test.t1.a' at row 35 +Warning 1366 Incorrect string value: '\x80C' for column 'test.t1.a' at row 36 +Warning 1366 Incorrect string value: '\x80D' for column 'test.t1.a' at row 37 +Warning 1366 Incorrect string value: '\x80E' for column 'test.t1.a' at row 38 +Warning 1366 Incorrect string value: '\x80F' for column 'test.t1.a' at row 39 +Warning 1366 Incorrect string value: '\x80G' for column 'test.t1.a' at row 40 +Warning 1366 Incorrect string value: '\x80H' for column 'test.t1.a' at row 41 +Warning 1366 Incorrect string value: '\x80I' for column 'test.t1.a' at row 42 +Warning 1366 Incorrect string value: '\x80J' for column 'test.t1.a' at row 43 +Warning 1366 Incorrect string value: '\x80K' for column 'test.t1.a' at row 44 +Warning 1366 Incorrect string value: '\x80L' for column 'test.t1.a' at row 45 +Warning 1366 Incorrect string value: '\x80M' for column 'test.t1.a' at row 46 +Warning 1366 Incorrect string value: '\x80N' for column 'test.t1.a' at row 47 +Warning 1366 Incorrect string value: '\x80O' for column 'test.t1.a' at row 48 +Warning 1366 Incorrect string value: '\x80P' for column 'test.t1.a' at row 49 +Warning 1366 Incorrect string value: '\x80Q' for column 'test.t1.a' at row 50 +Warning 1366 Incorrect string value: '\x80R' for column 'test.t1.a' at row 51 +Warning 1366 Incorrect string value: '\x80S' for column 'test.t1.a' at row 52 +Warning 1366 Incorrect string value: '\x80T' for column 'test.t1.a' at row 53 +Warning 1366 Incorrect string value: '\x80U' for column 'test.t1.a' at row 54 +Warning 1366 Incorrect string value: '\x80V' for column 'test.t1.a' at row 55 +Warning 1366 Incorrect string value: '\x80W' for column 'test.t1.a' at row 56 +Warning 1366 Incorrect string value: '\x80X' for column 'test.t1.a' at row 57 +Warning 1366 Incorrect string value: '\x80Y' for column 'test.t1.a' at row 58 +Warning 1366 Incorrect string value: '\x80Z' for column 'test.t1.a' at row 59 +Warning 1366 Incorrect string value: '\x80[' for column 'test.t1.a' at row 60 +Warning 1366 Incorrect string value: '\x80\' for column 'test.t1.a' at row 61 +Warning 1366 Incorrect string value: '\x80]' for column 'test.t1.a' at row 62 +Warning 1366 Incorrect string value: '\x80^' for column 'test.t1.a' at row 63 +Warning 1366 Incorrect string value: '\x80_' for column 'test.t1.a' at row 64 SELECT COUNT(*) FROM t1 WHERE a<>'?'; COUNT(*) 8178 diff --git a/mysql-test/r/ctype_gbk.result b/mysql-test/r/ctype_gbk.result index 4e5c969..408e79e 100644 --- a/mysql-test/r/ctype_gbk.result +++ b/mysql-test/r/ctype_gbk.result @@ -511,70 +511,70 @@ t1 CREATE TABLE `t1` ( ) ENGINE=MyISAM DEFAULT CHARSET=latin1 UPDATE IGNORE t1 SET a=unhex(code) ORDER BY code; Warnings: -Warning 1366 Incorrect string value: '\x80 ' for column 'a' at row 1 -Warning 1366 Incorrect string value: '\x80!' for column 'a' at row 2 -Warning 1366 Incorrect string value: '\x80"' for column 'a' at row 3 -Warning 1366 Incorrect string value: '\x80#' for column 'a' at row 4 -Warning 1366 Incorrect string value: '\x80$' for column 'a' at row 5 -Warning 1366 Incorrect string value: '\x80%' for column 'a' at row 6 -Warning 1366 Incorrect string value: '\x80&' for column 'a' at row 7 -Warning 1366 Incorrect string value: '\x80'' for column 'a' at row 8 -Warning 1366 Incorrect string value: '\x80(' for column 'a' at row 9 -Warning 1366 Incorrect string value: '\x80)' for column 'a' at row 10 -Warning 1366 Incorrect string value: '\x80*' for column 'a' at row 11 -Warning 1366 Incorrect string value: '\x80+' for column 'a' at row 12 -Warning 1366 Incorrect string value: '\x80,' for column 'a' at row 13 -Warning 1366 Incorrect string value: '\x80-' for column 'a' at row 14 -Warning 1366 Incorrect string value: '\x80.' for column 'a' at row 15 -Warning 1366 Incorrect string value: '\x80/' for column 'a' at row 16 -Warning 1366 Incorrect string value: '\x800' for column 'a' at row 17 -Warning 1366 Incorrect string value: '\x801' for column 'a' at row 18 -Warning 1366 Incorrect string value: '\x802' for column 'a' at row 19 -Warning 1366 Incorrect string value: '\x803' for column 'a' at row 20 -Warning 1366 Incorrect string value: '\x804' for column 'a' at row 21 -Warning 1366 Incorrect string value: '\x805' for column 'a' at row 22 -Warning 1366 Incorrect string value: '\x806' for column 'a' at row 23 -Warning 1366 Incorrect string value: '\x807' for column 'a' at row 24 -Warning 1366 Incorrect string value: '\x808' for column 'a' at row 25 -Warning 1366 Incorrect string value: '\x809' for column 'a' at row 26 -Warning 1366 Incorrect string value: '\x80:' for column 'a' at row 27 -Warning 1366 Incorrect string value: '\x80;' for column 'a' at row 28 -Warning 1366 Incorrect string value: '\x80<' for column 'a' at row 29 -Warning 1366 Incorrect string value: '\x80=' for column 'a' at row 30 -Warning 1366 Incorrect string value: '\x80>' for column 'a' at row 31 -Warning 1366 Incorrect string value: '\x80?' for column 'a' at row 32 -Warning 1366 Incorrect string value: '\x80@' for column 'a' at row 33 -Warning 1366 Incorrect string value: '\x80A' for column 'a' at row 34 -Warning 1366 Incorrect string value: '\x80B' for column 'a' at row 35 -Warning 1366 Incorrect string value: '\x80C' for column 'a' at row 36 -Warning 1366 Incorrect string value: '\x80D' for column 'a' at row 37 -Warning 1366 Incorrect string value: '\x80E' for column 'a' at row 38 -Warning 1366 Incorrect string value: '\x80F' for column 'a' at row 39 -Warning 1366 Incorrect string value: '\x80G' for column 'a' at row 40 -Warning 1366 Incorrect string value: '\x80H' for column 'a' at row 41 -Warning 1366 Incorrect string value: '\x80I' for column 'a' at row 42 -Warning 1366 Incorrect string value: '\x80J' for column 'a' at row 43 -Warning 1366 Incorrect string value: '\x80K' for column 'a' at row 44 -Warning 1366 Incorrect string value: '\x80L' for column 'a' at row 45 -Warning 1366 Incorrect string value: '\x80M' for column 'a' at row 46 -Warning 1366 Incorrect string value: '\x80N' for column 'a' at row 47 -Warning 1366 Incorrect string value: '\x80O' for column 'a' at row 48 -Warning 1366 Incorrect string value: '\x80P' for column 'a' at row 49 -Warning 1366 Incorrect string value: '\x80Q' for column 'a' at row 50 -Warning 1366 Incorrect string value: '\x80R' for column 'a' at row 51 -Warning 1366 Incorrect string value: '\x80S' for column 'a' at row 52 -Warning 1366 Incorrect string value: '\x80T' for column 'a' at row 53 -Warning 1366 Incorrect string value: '\x80U' for column 'a' at row 54 -Warning 1366 Incorrect string value: '\x80V' for column 'a' at row 55 -Warning 1366 Incorrect string value: '\x80W' for column 'a' at row 56 -Warning 1366 Incorrect string value: '\x80X' for column 'a' at row 57 -Warning 1366 Incorrect string value: '\x80Y' for column 'a' at row 58 -Warning 1366 Incorrect string value: '\x80Z' for column 'a' at row 59 -Warning 1366 Incorrect string value: '\x80[' for column 'a' at row 60 -Warning 1366 Incorrect string value: '\x80\' for column 'a' at row 61 -Warning 1366 Incorrect string value: '\x80]' for column 'a' at row 62 -Warning 1366 Incorrect string value: '\x80^' for column 'a' at row 63 -Warning 1366 Incorrect string value: '\x80_' for column 'a' at row 64 +Warning 1366 Incorrect string value: '\x80 ' for column 'test.t1.a' at row 1 +Warning 1366 Incorrect string value: '\x80!' for column 'test.t1.a' at row 2 +Warning 1366 Incorrect string value: '\x80"' for column 'test.t1.a' at row 3 +Warning 1366 Incorrect string value: '\x80#' for column 'test.t1.a' at row 4 +Warning 1366 Incorrect string value: '\x80$' for column 'test.t1.a' at row 5 +Warning 1366 Incorrect string value: '\x80%' for column 'test.t1.a' at row 6 +Warning 1366 Incorrect string value: '\x80&' for column 'test.t1.a' at row 7 +Warning 1366 Incorrect string value: '\x80'' for column 'test.t1.a' at row 8 +Warning 1366 Incorrect string value: '\x80(' for column 'test.t1.a' at row 9 +Warning 1366 Incorrect string value: '\x80)' for column 'test.t1.a' at row 10 +Warning 1366 Incorrect string value: '\x80*' for column 'test.t1.a' at row 11 +Warning 1366 Incorrect string value: '\x80+' for column 'test.t1.a' at row 12 +Warning 1366 Incorrect string value: '\x80,' for column 'test.t1.a' at row 13 +Warning 1366 Incorrect string value: '\x80-' for column 'test.t1.a' at row 14 +Warning 1366 Incorrect string value: '\x80.' for column 'test.t1.a' at row 15 +Warning 1366 Incorrect string value: '\x80/' for column 'test.t1.a' at row 16 +Warning 1366 Incorrect string value: '\x800' for column 'test.t1.a' at row 17 +Warning 1366 Incorrect string value: '\x801' for column 'test.t1.a' at row 18 +Warning 1366 Incorrect string value: '\x802' for column 'test.t1.a' at row 19 +Warning 1366 Incorrect string value: '\x803' for column 'test.t1.a' at row 20 +Warning 1366 Incorrect string value: '\x804' for column 'test.t1.a' at row 21 +Warning 1366 Incorrect string value: '\x805' for column 'test.t1.a' at row 22 +Warning 1366 Incorrect string value: '\x806' for column 'test.t1.a' at row 23 +Warning 1366 Incorrect string value: '\x807' for column 'test.t1.a' at row 24 +Warning 1366 Incorrect string value: '\x808' for column 'test.t1.a' at row 25 +Warning 1366 Incorrect string value: '\x809' for column 'test.t1.a' at row 26 +Warning 1366 Incorrect string value: '\x80:' for column 'test.t1.a' at row 27 +Warning 1366 Incorrect string value: '\x80;' for column 'test.t1.a' at row 28 +Warning 1366 Incorrect string value: '\x80<' for column 'test.t1.a' at row 29 +Warning 1366 Incorrect string value: '\x80=' for column 'test.t1.a' at row 30 +Warning 1366 Incorrect string value: '\x80>' for column 'test.t1.a' at row 31 +Warning 1366 Incorrect string value: '\x80?' for column 'test.t1.a' at row 32 +Warning 1366 Incorrect string value: '\x80@' for column 'test.t1.a' at row 33 +Warning 1366 Incorrect string value: '\x80A' for column 'test.t1.a' at row 34 +Warning 1366 Incorrect string value: '\x80B' for column 'test.t1.a' at row 35 +Warning 1366 Incorrect string value: '\x80C' for column 'test.t1.a' at row 36 +Warning 1366 Incorrect string value: '\x80D' for column 'test.t1.a' at row 37 +Warning 1366 Incorrect string value: '\x80E' for column 'test.t1.a' at row 38 +Warning 1366 Incorrect string value: '\x80F' for column 'test.t1.a' at row 39 +Warning 1366 Incorrect string value: '\x80G' for column 'test.t1.a' at row 40 +Warning 1366 Incorrect string value: '\x80H' for column 'test.t1.a' at row 41 +Warning 1366 Incorrect string value: '\x80I' for column 'test.t1.a' at row 42 +Warning 1366 Incorrect string value: '\x80J' for column 'test.t1.a' at row 43 +Warning 1366 Incorrect string value: '\x80K' for column 'test.t1.a' at row 44 +Warning 1366 Incorrect string value: '\x80L' for column 'test.t1.a' at row 45 +Warning 1366 Incorrect string value: '\x80M' for column 'test.t1.a' at row 46 +Warning 1366 Incorrect string value: '\x80N' for column 'test.t1.a' at row 47 +Warning 1366 Incorrect string value: '\x80O' for column 'test.t1.a' at row 48 +Warning 1366 Incorrect string value: '\x80P' for column 'test.t1.a' at row 49 +Warning 1366 Incorrect string value: '\x80Q' for column 'test.t1.a' at row 50 +Warning 1366 Incorrect string value: '\x80R' for column 'test.t1.a' at row 51 +Warning 1366 Incorrect string value: '\x80S' for column 'test.t1.a' at row 52 +Warning 1366 Incorrect string value: '\x80T' for column 'test.t1.a' at row 53 +Warning 1366 Incorrect string value: '\x80U' for column 'test.t1.a' at row 54 +Warning 1366 Incorrect string value: '\x80V' for column 'test.t1.a' at row 55 +Warning 1366 Incorrect string value: '\x80W' for column 'test.t1.a' at row 56 +Warning 1366 Incorrect string value: '\x80X' for column 'test.t1.a' at row 57 +Warning 1366 Incorrect string value: '\x80Y' for column 'test.t1.a' at row 58 +Warning 1366 Incorrect string value: '\x80Z' for column 'test.t1.a' at row 59 +Warning 1366 Incorrect string value: '\x80[' for column 'test.t1.a' at row 60 +Warning 1366 Incorrect string value: '\x80\' for column 'test.t1.a' at row 61 +Warning 1366 Incorrect string value: '\x80]' for column 'test.t1.a' at row 62 +Warning 1366 Incorrect string value: '\x80^' for column 'test.t1.a' at row 63 +Warning 1366 Incorrect string value: '\x80_' for column 'test.t1.a' at row 64 SELECT COUNT(*) FROM t1 WHERE a<>'?'; COUNT(*) 23940 @@ -5192,25 +5192,25 @@ INSERT IGNORE INTO t3 (b,c,comment) SELECT b,b,comment FROM t2 WHERE type1='tail' OR type1='bad' OR type2='bad' ORDER BY b; Warnings: -Warning 1366 Incorrect string value: '\xFF' for column 'c' at row 1 -Warning 1366 Incorrect string value: '\x80@' for column 'c' at row 2 -Warning 1366 Incorrect string value: '\x80\x80' for column 'c' at row 3 -Warning 1366 Incorrect string value: '\x80\x81' for column 'c' at row 4 -Warning 1366 Incorrect string value: '\x80\xA1@' for column 'c' at row 5 -Warning 1366 Incorrect string value: '\x80\xA1\xA3' for column 'c' at row 6 -Warning 1366 Incorrect string value: '\x80\xFE@' for column 'c' at row 7 -Warning 1366 Incorrect string value: '\x80\xFF' for column 'c' at row 8 -Warning 1366 Incorrect string value: '\x81\xFF' for column 'c' at row 9 -Warning 1366 Incorrect string value: '\xFF' for column 'c' at row 10 -Warning 1366 Incorrect string value: '\xFF' for column 'c' at row 11 -Warning 1366 Incorrect string value: '\xFF' for column 'c' at row 12 -Warning 1366 Incorrect string value: '\xFF@' for column 'c' at row 13 -Warning 1366 Incorrect string value: '\xFF\x80' for column 'c' at row 14 -Warning 1366 Incorrect string value: '\xFF\x81' for column 'c' at row 15 -Warning 1366 Incorrect string value: '\xFF\xA1@' for column 'c' at row 16 -Warning 1366 Incorrect string value: '\xFF\xA1\xA3' for column 'c' at row 17 -Warning 1366 Incorrect string value: '\xFF\xFE@' for column 'c' at row 18 -Warning 1366 Incorrect string value: '\xFF\xFF' for column 'c' at row 19 +Warning 1366 Incorrect string value: '\xFF' for column 'test.t3.c' at row 1 +Warning 1366 Incorrect string value: '\x80@' for column 'test.t3.c' at row 2 +Warning 1366 Incorrect string value: '\x80\x80' for column 'test.t3.c' at row 3 +Warning 1366 Incorrect string value: '\x80\x81' for column 'test.t3.c' at row 4 +Warning 1366 Incorrect string value: '\x80\xA1@' for column 'test.t3.c' at row 5 +Warning 1366 Incorrect string value: '\x80\xA1\xA3' for column 'test.t3.c' at row 6 +Warning 1366 Incorrect string value: '\x80\xFE@' for column 'test.t3.c' at row 7 +Warning 1366 Incorrect string value: '\x80\xFF' for column 'test.t3.c' at row 8 +Warning 1366 Incorrect string value: '\x81\xFF' for column 'test.t3.c' at row 9 +Warning 1366 Incorrect string value: '\xFF' for column 'test.t3.c' at row 10 +Warning 1366 Incorrect string value: '\xFF' for column 'test.t3.c' at row 11 +Warning 1366 Incorrect string value: '\xFF' for column 'test.t3.c' at row 12 +Warning 1366 Incorrect string value: '\xFF@' for column 'test.t3.c' at row 13 +Warning 1366 Incorrect string value: '\xFF\x80' for column 'test.t3.c' at row 14 +Warning 1366 Incorrect string value: '\xFF\x81' for column 'test.t3.c' at row 15 +Warning 1366 Incorrect string value: '\xFF\xA1@' for column 'test.t3.c' at row 16 +Warning 1366 Incorrect string value: '\xFF\xA1\xA3' for column 'test.t3.c' at row 17 +Warning 1366 Incorrect string value: '\xFF\xFE@' for column 'test.t3.c' at row 18 +Warning 1366 Incorrect string value: '\xFF\xFF' for column 'test.t3.c' at row 19 SELECT COUNT(*) FROM t3; COUNT(*) 19 @@ -5248,14 +5248,14 @@ WHERE (FIND_IN_SET('mb2',type1) OR FIND_IN_SET('ascii',type1)) AND (FIND_IN_SET('tail',type2) AND NOT FIND_IN_SET('ascii',type2)) ORDER BY b; Warnings: -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 1 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 2 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 3 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 4 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 5 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 6 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 7 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 8 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 1 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 2 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 3 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 4 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 5 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 6 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 7 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 8 SELECT COUNT(*) FROM t3; COUNT(*) 8 @@ -5278,7 +5278,7 @@ DELETE FROM t3; # INSERT INTO t3 (b,c,comment) SELECT b,b,comment FROM t2 ORDER BY b; Warnings: -Warning 1366 Incorrect string value: '\xA3' for column 'c' at row 5 +Warning 1366 Incorrect string value: '\xA3' for column 'test.t3.c' at row 5 SELECT COUNT(*) FROM t3; COUNT(*) 6 @@ -5401,70 +5401,70 @@ INSERT IGNORE INTO t3 (b,c,comment) SELECT b,b,comment FROM t2 WHERE type1='tail' OR type1='bad' OR type2='bad' OR type3='bad' ORDER BY b; Warnings: -Warning 1366 Incorrect string value: '\xFF' for column 'c' at row 1 -Warning 1366 Incorrect string value: '\x80\xFF' for column 'c' at row 2 -Warning 1366 Incorrect string value: '\x81\xFF' for column 'c' at row 3 -Warning 1366 Incorrect string value: '\xFF' for column 'c' at row 4 -Warning 1366 Incorrect string value: '\xFF' for column 'c' at row 5 -Warning 1366 Incorrect string value: '\xFF' for column 'c' at row 6 -Warning 1366 Incorrect string value: '\xFF@' for column 'c' at row 7 -Warning 1366 Incorrect string value: '\xFF\x80' for column 'c' at row 8 -Warning 1366 Incorrect string value: '\xFF\x81' for column 'c' at row 9 -Warning 1366 Incorrect string value: '\xFF\xA1@' for column 'c' at row 10 -Warning 1366 Incorrect string value: '\xFF\xA1\xA3' for column 'c' at row 11 -Warning 1366 Incorrect string value: '\xFF\xFE@' for column 'c' at row 12 -Warning 1366 Incorrect string value: '\xFF\xFF' for column 'c' at row 13 -Warning 1366 Incorrect string value: '\x80@@' for column 'c' at row 14 -Warning 1366 Incorrect string value: '\x80@\x80' for column 'c' at row 15 -Warning 1366 Incorrect string value: '\x80@\x81' for column 'c' at row 16 -Warning 1366 Incorrect string value: '\x80@\xA1@' for column 'c' at row 17 -Warning 1366 Incorrect string value: '\x80@\xA1\xA3' for column 'c' at row 18 -Warning 1366 Incorrect string value: '\x80@\xFE@' for column 'c' at row 19 -Warning 1366 Incorrect string value: '\x80@\xFF' for column 'c' at row 20 -Warning 1366 Incorrect string value: '\x80\x80@' for column 'c' at row 21 -Warning 1366 Incorrect string value: '\x80\x80\x80' for column 'c' at row 22 -Warning 1366 Incorrect string value: '\x80\x80\x81' for column 'c' at row 23 -Warning 1366 Incorrect string value: '\x80\x80\xA1@' for column 'c' at row 24 -Warning 1366 Incorrect string value: '\x80\x80\xA1\xA3' for column 'c' at row 25 -Warning 1366 Incorrect string value: '\x80\x80\xFE@' for column 'c' at row 26 -Warning 1366 Incorrect string value: '\x80\x80\xFF' for column 'c' at row 27 -Warning 1366 Incorrect string value: '\x80\x81@' for column 'c' at row 28 -Warning 1366 Incorrect string value: '\x80\x81\x80' for column 'c' at row 29 -Warning 1366 Incorrect string value: '\x80\x81\x81' for column 'c' at row 30 -Warning 1366 Incorrect string value: '\x80\x81\xA1@' for column 'c' at row 31 -Warning 1366 Incorrect string value: '\x80\x81\xA1\xA3' for column 'c' at row 32 -Warning 1366 Incorrect string value: '\x80\x81\xFE@' for column 'c' at row 33 -Warning 1366 Incorrect string value: '\x80\x81\xFF' for column 'c' at row 34 -Warning 1366 Incorrect string value: '\x80\xA1@@' for column 'c' at row 35 -Warning 1366 Incorrect string value: '\x80\xA1@\x80' for column 'c' at row 36 -Warning 1366 Incorrect string value: '\x80\xA1@\x81' for column 'c' at row 37 -Warning 1366 Incorrect string value: '\x80\xA1@\xA1@' for column 'c' at row 38 -Warning 1366 Incorrect string value: '\x80\xA1@\xA1\xA3' for column 'c' at row 39 -Warning 1366 Incorrect string value: '\x80\xA1@\xFE@' for column 'c' at row 40 -Warning 1366 Incorrect string value: '\x80\xA1@\xFF' for column 'c' at row 41 -Warning 1366 Incorrect string value: '\x80\xA1\xA3@' for column 'c' at row 42 -Warning 1366 Incorrect string value: '\x80\xA1\xA3\x80' for column 'c' at row 43 -Warning 1366 Incorrect string value: '\x80\xA1\xA3\x81' for column 'c' at row 44 -Warning 1366 Incorrect string value: '\x80\xA1\xA3\xA1@' for column 'c' at row 45 -Warning 1366 Incorrect string value: '\x80\xA1\xA3\xA1\xA3' for column 'c' at row 46 -Warning 1366 Incorrect string value: '\x80\xA1\xA3\xFE@' for column 'c' at row 47 -Warning 1366 Incorrect string value: '\x80\xA1\xA3\xFF' for column 'c' at row 48 -Warning 1366 Incorrect string value: '\x80\xFE@@' for column 'c' at row 49 -Warning 1366 Incorrect string value: '\x80\xFE@\x80' for column 'c' at row 50 -Warning 1366 Incorrect string value: '\x80\xFE@\x81' for column 'c' at row 51 -Warning 1366 Incorrect string value: '\x80\xFE@\xA1@' for column 'c' at row 52 -Warning 1366 Incorrect string value: '\x80\xFE@\xA1\xA3' for column 'c' at row 53 -Warning 1366 Incorrect string value: '\x80\xFE@\xFE@' for column 'c' at row 54 -Warning 1366 Incorrect string value: '\x80\xFE@\xFF' for column 'c' at row 55 -Warning 1366 Incorrect string value: '\x80\xFF@' for column 'c' at row 56 -Warning 1366 Incorrect string value: '\x80\xFF\x80' for column 'c' at row 57 -Warning 1366 Incorrect string value: '\x80\xFF\x81' for column 'c' at row 58 -Warning 1366 Incorrect string value: '\x80\xFF\xA1@' for column 'c' at row 59 -Warning 1366 Incorrect string value: '\x80\xFF\xA1\xA3' for column 'c' at row 60 -Warning 1366 Incorrect string value: '\x80\xFF\xFE@' for column 'c' at row 61 -Warning 1366 Incorrect string value: '\x80\xFF\xFF' for column 'c' at row 62 -Warning 1366 Incorrect string value: '\xFF' for column 'c' at row 63 -Warning 1366 Incorrect string value: '\xFF' for column 'c' at row 64 +Warning 1366 Incorrect string value: '\xFF' for column 'test.t3.c' at row 1 +Warning 1366 Incorrect string value: '\x80\xFF' for column 'test.t3.c' at row 2 +Warning 1366 Incorrect string value: '\x81\xFF' for column 'test.t3.c' at row 3 +Warning 1366 Incorrect string value: '\xFF' for column 'test.t3.c' at row 4 +Warning 1366 Incorrect string value: '\xFF' for column 'test.t3.c' at row 5 +Warning 1366 Incorrect string value: '\xFF' for column 'test.t3.c' at row 6 +Warning 1366 Incorrect string value: '\xFF@' for column 'test.t3.c' at row 7 +Warning 1366 Incorrect string value: '\xFF\x80' for column 'test.t3.c' at row 8 +Warning 1366 Incorrect string value: '\xFF\x81' for column 'test.t3.c' at row 9 +Warning 1366 Incorrect string value: '\xFF\xA1@' for column 'test.t3.c' at row 10 +Warning 1366 Incorrect string value: '\xFF\xA1\xA3' for column 'test.t3.c' at row 11 +Warning 1366 Incorrect string value: '\xFF\xFE@' for column 'test.t3.c' at row 12 +Warning 1366 Incorrect string value: '\xFF\xFF' for column 'test.t3.c' at row 13 +Warning 1366 Incorrect string value: '\x80@@' for column 'test.t3.c' at row 14 +Warning 1366 Incorrect string value: '\x80@\x80' for column 'test.t3.c' at row 15 +Warning 1366 Incorrect string value: '\x80@\x81' for column 'test.t3.c' at row 16 +Warning 1366 Incorrect string value: '\x80@\xA1@' for column 'test.t3.c' at row 17 +Warning 1366 Incorrect string value: '\x80@\xA1\xA3' for column 'test.t3.c' at row 18 +Warning 1366 Incorrect string value: '\x80@\xFE@' for column 'test.t3.c' at row 19 +Warning 1366 Incorrect string value: '\x80@\xFF' for column 'test.t3.c' at row 20 +Warning 1366 Incorrect string value: '\x80\x80@' for column 'test.t3.c' at row 21 +Warning 1366 Incorrect string value: '\x80\x80\x80' for column 'test.t3.c' at row 22 +Warning 1366 Incorrect string value: '\x80\x80\x81' for column 'test.t3.c' at row 23 +Warning 1366 Incorrect string value: '\x80\x80\xA1@' for column 'test.t3.c' at row 24 +Warning 1366 Incorrect string value: '\x80\x80\xA1\xA3' for column 'test.t3.c' at row 25 +Warning 1366 Incorrect string value: '\x80\x80\xFE@' for column 'test.t3.c' at row 26 +Warning 1366 Incorrect string value: '\x80\x80\xFF' for column 'test.t3.c' at row 27 +Warning 1366 Incorrect string value: '\x80\x81@' for column 'test.t3.c' at row 28 +Warning 1366 Incorrect string value: '\x80\x81\x80' for column 'test.t3.c' at row 29 +Warning 1366 Incorrect string value: '\x80\x81\x81' for column 'test.t3.c' at row 30 +Warning 1366 Incorrect string value: '\x80\x81\xA1@' for column 'test.t3.c' at row 31 +Warning 1366 Incorrect string value: '\x80\x81\xA1\xA3' for column 'test.t3.c' at row 32 +Warning 1366 Incorrect string value: '\x80\x81\xFE@' for column 'test.t3.c' at row 33 +Warning 1366 Incorrect string value: '\x80\x81\xFF' for column 'test.t3.c' at row 34 +Warning 1366 Incorrect string value: '\x80\xA1@@' for column 'test.t3.c' at row 35 +Warning 1366 Incorrect string value: '\x80\xA1@\x80' for column 'test.t3.c' at row 36 +Warning 1366 Incorrect string value: '\x80\xA1@\x81' for column 'test.t3.c' at row 37 +Warning 1366 Incorrect string value: '\x80\xA1@\xA1@' for column 'test.t3.c' at row 38 +Warning 1366 Incorrect string value: '\x80\xA1@\xA1\xA3' for column 'test.t3.c' at row 39 +Warning 1366 Incorrect string value: '\x80\xA1@\xFE@' for column 'test.t3.c' at row 40 +Warning 1366 Incorrect string value: '\x80\xA1@\xFF' for column 'test.t3.c' at row 41 +Warning 1366 Incorrect string value: '\x80\xA1\xA3@' for column 'test.t3.c' at row 42 +Warning 1366 Incorrect string value: '\x80\xA1\xA3\x80' for column 'test.t3.c' at row 43 +Warning 1366 Incorrect string value: '\x80\xA1\xA3\x81' for column 'test.t3.c' at row 44 +Warning 1366 Incorrect string value: '\x80\xA1\xA3\xA1@' for column 'test.t3.c' at row 45 +Warning 1366 Incorrect string value: '\x80\xA1\xA3\xA1\xA3' for column 'test.t3.c' at row 46 +Warning 1366 Incorrect string value: '\x80\xA1\xA3\xFE@' for column 'test.t3.c' at row 47 +Warning 1366 Incorrect string value: '\x80\xA1\xA3\xFF' for column 'test.t3.c' at row 48 +Warning 1366 Incorrect string value: '\x80\xFE@@' for column 'test.t3.c' at row 49 +Warning 1366 Incorrect string value: '\x80\xFE@\x80' for column 'test.t3.c' at row 50 +Warning 1366 Incorrect string value: '\x80\xFE@\x81' for column 'test.t3.c' at row 51 +Warning 1366 Incorrect string value: '\x80\xFE@\xA1@' for column 'test.t3.c' at row 52 +Warning 1366 Incorrect string value: '\x80\xFE@\xA1\xA3' for column 'test.t3.c' at row 53 +Warning 1366 Incorrect string value: '\x80\xFE@\xFE@' for column 'test.t3.c' at row 54 +Warning 1366 Incorrect string value: '\x80\xFE@\xFF' for column 'test.t3.c' at row 55 +Warning 1366 Incorrect string value: '\x80\xFF@' for column 'test.t3.c' at row 56 +Warning 1366 Incorrect string value: '\x80\xFF\x80' for column 'test.t3.c' at row 57 +Warning 1366 Incorrect string value: '\x80\xFF\x81' for column 'test.t3.c' at row 58 +Warning 1366 Incorrect string value: '\x80\xFF\xA1@' for column 'test.t3.c' at row 59 +Warning 1366 Incorrect string value: '\x80\xFF\xA1\xA3' for column 'test.t3.c' at row 60 +Warning 1366 Incorrect string value: '\x80\xFF\xFE@' for column 'test.t3.c' at row 61 +Warning 1366 Incorrect string value: '\x80\xFF\xFF' for column 'test.t3.c' at row 62 +Warning 1366 Incorrect string value: '\xFF' for column 'test.t3.c' at row 63 +Warning 1366 Incorrect string value: '\xFF' for column 'test.t3.c' at row 64 SELECT COUNT(*) FROM t3; COUNT(*) 163 @@ -5646,30 +5646,30 @@ WHERE (FIND_IN_SET('mb2',type1) OR FIND_IN_SET('ascii',type1)) AND type2='tail' ORDER BY b; Warnings: -Warning 1366 Incorrect string value: '\x80@' for column 'c' at row 1 -Warning 1366 Incorrect string value: '\x80\x80' for column 'c' at row 2 -Warning 1366 Incorrect string value: '\x80\x81' for column 'c' at row 3 -Warning 1366 Incorrect string value: '\x80\xA1@' for column 'c' at row 4 -Warning 1366 Incorrect string value: '\x80\xA1\xA3' for column 'c' at row 5 -Warning 1366 Incorrect string value: '\x80\xFE@' for column 'c' at row 6 -Warning 1366 Incorrect string value: '\x80@' for column 'c' at row 7 -Warning 1366 Incorrect string value: '\x80\x80' for column 'c' at row 8 -Warning 1366 Incorrect string value: '\x80\x81' for column 'c' at row 9 -Warning 1366 Incorrect string value: '\x80\xA1@' for column 'c' at row 10 -Warning 1366 Incorrect string value: '\x80\xA1\xA3' for column 'c' at row 11 -Warning 1366 Incorrect string value: '\x80\xFE@' for column 'c' at row 12 -Warning 1366 Incorrect string value: '\x80@' for column 'c' at row 13 -Warning 1366 Incorrect string value: '\x80\x80' for column 'c' at row 14 -Warning 1366 Incorrect string value: '\x80\x81' for column 'c' at row 15 -Warning 1366 Incorrect string value: '\x80\xA1@' for column 'c' at row 16 -Warning 1366 Incorrect string value: '\x80\xA1\xA3' for column 'c' at row 17 -Warning 1366 Incorrect string value: '\x80\xFE@' for column 'c' at row 18 -Warning 1366 Incorrect string value: '\x80@' for column 'c' at row 19 -Warning 1366 Incorrect string value: '\x80\x80' for column 'c' at row 20 -Warning 1366 Incorrect string value: '\x80\x81' for column 'c' at row 21 -Warning 1366 Incorrect string value: '\x80\xA1@' for column 'c' at row 22 -Warning 1366 Incorrect string value: '\x80\xA1\xA3' for column 'c' at row 23 -Warning 1366 Incorrect string value: '\x80\xFE@' for column 'c' at row 24 +Warning 1366 Incorrect string value: '\x80@' for column 'test.t3.c' at row 1 +Warning 1366 Incorrect string value: '\x80\x80' for column 'test.t3.c' at row 2 +Warning 1366 Incorrect string value: '\x80\x81' for column 'test.t3.c' at row 3 +Warning 1366 Incorrect string value: '\x80\xA1@' for column 'test.t3.c' at row 4 +Warning 1366 Incorrect string value: '\x80\xA1\xA3' for column 'test.t3.c' at row 5 +Warning 1366 Incorrect string value: '\x80\xFE@' for column 'test.t3.c' at row 6 +Warning 1366 Incorrect string value: '\x80@' for column 'test.t3.c' at row 7 +Warning 1366 Incorrect string value: '\x80\x80' for column 'test.t3.c' at row 8 +Warning 1366 Incorrect string value: '\x80\x81' for column 'test.t3.c' at row 9 +Warning 1366 Incorrect string value: '\x80\xA1@' for column 'test.t3.c' at row 10 +Warning 1366 Incorrect string value: '\x80\xA1\xA3' for column 'test.t3.c' at row 11 +Warning 1366 Incorrect string value: '\x80\xFE@' for column 'test.t3.c' at row 12 +Warning 1366 Incorrect string value: '\x80@' for column 'test.t3.c' at row 13 +Warning 1366 Incorrect string value: '\x80\x80' for column 'test.t3.c' at row 14 +Warning 1366 Incorrect string value: '\x80\x81' for column 'test.t3.c' at row 15 +Warning 1366 Incorrect string value: '\x80\xA1@' for column 'test.t3.c' at row 16 +Warning 1366 Incorrect string value: '\x80\xA1\xA3' for column 'test.t3.c' at row 17 +Warning 1366 Incorrect string value: '\x80\xFE@' for column 'test.t3.c' at row 18 +Warning 1366 Incorrect string value: '\x80@' for column 'test.t3.c' at row 19 +Warning 1366 Incorrect string value: '\x80\x80' for column 'test.t3.c' at row 20 +Warning 1366 Incorrect string value: '\x80\x81' for column 'test.t3.c' at row 21 +Warning 1366 Incorrect string value: '\x80\xA1@' for column 'test.t3.c' at row 22 +Warning 1366 Incorrect string value: '\x80\xA1\xA3' for column 'test.t3.c' at row 23 +Warning 1366 Incorrect string value: '\x80\xFE@' for column 'test.t3.c' at row 24 SELECT COUNT(*) FROM t3; COUNT(*) 24 @@ -5713,22 +5713,22 @@ WHERE (FIND_IN_SET('mb2',type1) OR FIND_IN_SET('ascii',type1)) AND type3='tail' ORDER BY b; Warnings: -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 1 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 2 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 3 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 4 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 5 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 6 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 7 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 8 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 9 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 10 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 11 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 12 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 13 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 14 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 15 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 16 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 1 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 2 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 3 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 4 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 5 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 6 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 7 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 8 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 9 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 10 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 11 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 12 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 13 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 14 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 15 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 16 SELECT COUNT(*) FROM t3; COUNT(*) 16 @@ -5764,15 +5764,15 @@ AND NOT FIND_IN_SET('ascii',type3) AND NOT FIND_IN_SET('mb2',type3) ORDER BY b; Warnings: -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 1 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 2 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 3 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 4 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 5 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 6 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 7 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 8 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 9 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 1 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 2 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 3 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 4 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 5 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 6 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 7 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 8 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 9 SELECT COUNT(*) FROM t3; COUNT(*) 9 @@ -5848,28 +5848,28 @@ DELETE FROM t2 WHERE b IN (SELECT b FROM t3); DELETE FROM t3; INSERT IGNORE INTO t3 (b,c,comment) SELECT b,b,comment FROM t2 ORDER BY b; Warnings: -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 1 -Warning 1366 Incorrect string value: '\xA3' for column 'c' at row 3 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 5 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 6 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 7 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 9 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 10 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 12 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 13 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 15 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 16 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 18 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 19 -Warning 1366 Incorrect string value: '\xA3' for column 'c' at row 27 -Warning 1366 Incorrect string value: '\x80' for column 'c' at row 30 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 31 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 35 -Warning 1366 Incorrect string value: '\xA3' for column 'c' at row 37 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 39 -Warning 1366 Incorrect string value: '\xA3' for column 'c' at row 41 -Warning 1366 Incorrect string value: '\x81' for column 'c' at row 43 -Warning 1366 Incorrect string value: '\xA3' for column 'c' at row 45 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 1 +Warning 1366 Incorrect string value: '\xA3' for column 'test.t3.c' at row 3 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 5 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 6 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 7 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 9 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 10 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 12 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 13 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 15 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 16 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 18 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 19 +Warning 1366 Incorrect string value: '\xA3' for column 'test.t3.c' at row 27 +Warning 1366 Incorrect string value: '\x80' for column 'test.t3.c' at row 30 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 31 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 35 +Warning 1366 Incorrect string value: '\xA3' for column 'test.t3.c' at row 37 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 39 +Warning 1366 Incorrect string value: '\xA3' for column 'test.t3.c' at row 41 +Warning 1366 Incorrect string value: '\x81' for column 'test.t3.c' at row 43 +Warning 1366 Incorrect string value: '\xA3' for column 'test.t3.c' at row 45 SELECT COUNT(*) FROM t3; COUNT(*) 46 diff --git a/mysql-test/r/ctype_latin1.result b/mysql-test/r/ctype_latin1.result index 9899342..4d496c7 100644 --- a/mysql-test/r/ctype_latin1.result +++ b/mysql-test/r/ctype_latin1.result @@ -7987,12 +7987,12 @@ SET NAMES utf8; CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET latin1); INSERT IGNORE INTO t1 VALUES ('�'),('�#'); Warnings: -Warning 1366 Incorrect string value: '\xC2' for column 'a' at row 1 -Warning 1366 Incorrect string value: '\xC2#' for column 'a' at row 2 +Warning 1366 Incorrect string value: '\xC2' for column 'test.t1.a' at row 1 +Warning 1366 Incorrect string value: '\xC2#' for column 'test.t1.a' at row 2 SHOW WARNINGS; Level Code Message -Warning 1366 Incorrect string value: '\xC2' for column 'a' at row 1 -Warning 1366 Incorrect string value: '\xC2#' for column 'a' at row 2 +Warning 1366 Incorrect string value: '\xC2' for column 'test.t1.a' at row 1 +Warning 1366 Incorrect string value: '\xC2#' for column 'test.t1.a' at row 2 SELECT HEX(a),a FROM t1; HEX(a) a 3F ? diff --git a/mysql-test/r/ctype_many.result b/mysql-test/r/ctype_many.result index d73a478..ce05015 100644 --- a/mysql-test/r/ctype_many.result +++ b/mysql-test/r/ctype_many.result @@ -1767,8 +1767,8 @@ CREATE TABLE t2 (a VARCHAR(10) CHARACTER SET ucs2); INSERT INTO t1 VALUES (0x10082), (0x12345); INSERT IGNORE INTO t2 SELECT * FROM t1; Warnings: -Warning 1366 Incorrect string value: '\x00\x01\x00\x82' for column 'a' at row 1 -Warning 1366 Incorrect string value: '\x00\x01\x23\x45' for column 'a' at row 2 +Warning 1366 Incorrect string value: '\x00\x01\x00\x82' for column 'test.t2.a' at row 1 +Warning 1366 Incorrect string value: '\x00\x01\x23\x45' for column 'test.t2.a' at row 2 SELECT HEX(a) FROM t2; HEX(a) 003F diff --git a/mysql-test/r/ctype_recoding.result b/mysql-test/r/ctype_recoding.result index 806d9dc..40c67ad 100644 --- a/mysql-test/r/ctype_recoding.result +++ b/mysql-test/r/ctype_recoding.result @@ -171,8 +171,8 @@ create table t1 (a char(10) character set koi8r, b text character set koi8r); insert into t1 values ('test','test'); insert ignore into t1 values ('����','����'); Warnings: -Warning 1366 Incorrect string value: '\xCA\xC3\xD5\xCB' for column 'a' at row 1 -Warning 1366 Incorrect string value: '\xCA\xC3\xD5\xCB' for column 'b' at row 1 +Warning 1366 Incorrect string value: '\xCA\xC3\xD5\xCB' for column 'test.t1.a' at row 1 +Warning 1366 Incorrect string value: '\xCA\xC3\xD5\xCB' for column 'test.t1.b' at row 1 drop table t1; set names koi8r; create table t1 (a char(10) character set cp1251); diff --git a/sql/field.cc b/sql/field.cc index caa84dc..5a97deb 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -8599,6 +8599,24 @@ int Field_geom::store_decimal(const my_decimal *) } +static char *long_field_name(char *buf, size_t buf_len, + const TABLE_SHARE *s, const char *field_name) +{ + bool is_temp= !s|| + (tmp_file_prefix_length < s->table_name.length && + memcmp(s->table_name.str, + tmp_file_prefix, tmp_file_prefix_length) == 0); + + if (is_temp) + strxnmov(buf, buf_len, "{temporary}.", field_name, NullS); + else + strxnmov(buf, buf_len, + s->db.str, ".", s->table_name.str, ".", field_name, NullS); + + return buf; +} + + int Field_geom::store(const char *from, uint length, CHARSET_INFO *cs) { if (!length) @@ -8620,10 +8638,11 @@ int Field_geom::store(const char *from, uint length, CHARSET_INFO *cs) geom_type != Field::GEOM_GEOMETRYCOLLECTION && (uint32) geom_type != wkb_type) { + char buf[193]; my_error(ER_TRUNCATED_WRONG_VALUE_FOR_FIELD, MYF(0), Geometry::ci_collection[geom_type]->m_name.str, Geometry::ci_collection[wkb_type]->m_name.str, - field_name, + long_field_name(buf, sizeof(buf), table->s, field_name), (ulong) table->in_use->get_stmt_da()-> current_row_for_warning()); goto err_exit; @@ -10787,7 +10806,11 @@ void Field::set_datetime_warning(Sql_condition::enum_warning_level level, { THD *thd= get_thd(); if (thd->really_abort_on_warning() && level >= Sql_condition::WARN_LEVEL_WARN) - make_truncated_value_warning(thd, level, str, ts_type, field_name); + { + char buf[193]; + make_truncated_value_warning(thd, level, str, ts_type, + long_field_name(buf, sizeof(buf), table->s, field_name)); + } else set_warning(level, code, cuted_increment); } @@ -10797,10 +10820,13 @@ void Field::set_warning_truncated_wrong_value(const char *type_arg, const char *value) { THD *thd= get_thd(); + char buf[193]; + push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN, ER_TRUNCATED_WRONG_VALUE_FOR_FIELD, ER_THD(thd, ER_TRUNCATED_WRONG_VALUE_FOR_FIELD), - type_arg, value, field_name, + type_arg, value, + long_field_name(buf, sizeof(buf), table->s, field_name), static_cast<ulong>(thd->get_stmt_da()-> current_row_for_warning())); }
1 0
0 0
[Commits] 621ade37706: MDEV-14791: Crash with order by expression containing window functions
by varunraiko1803@gmail.com 02 Nov '18

02 Nov '18
revision-id: 621ade377068a00aa73502e75ae5ed0ccee9d573 (mariadb-10.2.16-222-g621ade37706) parent(s): 1c6b982e02eeaa75bb6c2f2a3c2b64491dd6d3c8 author: Varun Gupta committer: Varun Gupta timestamp: 2018-11-02 22:25:11 +0530 message: MDEV-14791: Crash with order by expression containing window functions The issue here is that for a window function in the ORDER BY clause, we were not creating an extra field in the temporary table for the window function (which is contained in an expression). So a call to split_sum_func is added to handle this case Also we need to update all items that contain a window function in the temp table during window function computation as filesort would need these values to be updated to calculate the ORDER BY clause of the select --- mysql-test/r/win.result | 29 +++++++++++++++++++++++++++++ mysql-test/t/win.test | 25 +++++++++++++++++++++++++ sql/sql_select.cc | 24 ++---------------------- sql/sql_window.cc | 27 +++++++++++++++++++++++++++ 4 files changed, 83 insertions(+), 22 deletions(-) diff --git a/mysql-test/r/win.result b/mysql-test/r/win.result index 790b264fc09..905a7e49a06 100644 --- a/mysql-test/r/win.result +++ b/mysql-test/r/win.result @@ -3361,3 +3361,32 @@ Esben Tuning 31 68.7500 Kaolin Tuning 88 68.7500 Tatiana Tuning 83 68.7500 drop table t1; +# +# MDEV-14791: Crash with order by expression containing window functions +# +CREATE TABLE t1 (b1 int, b2 int); +INSERT INTO t1 VALUES (1,1),(0,0); +explain +SELECT b1 +from t1 +order by row_number() over (ORDER BY b2) + 1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort +SELECT b1 +from t1 +order by row_number() over (ORDER BY b2) + 1; +b1 +0 +1 +explain SELECT b1 +from t1 +order by row_number() over (ORDER BY b2); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort +SELECT b1 +from t1 +order by row_number() over (ORDER BY b2); +b1 +0 +1 +DROP TABLE t1; diff --git a/mysql-test/t/win.test b/mysql-test/t/win.test index e9c8ee05773..b13c1471346 100644 --- a/mysql-test/t/win.test +++ b/mysql-test/t/win.test @@ -2119,3 +2119,28 @@ SELECT name, test, score, FROM t1 ORDER BY test, name; drop table t1; + +--echo # +--echo # MDEV-14791: Crash with order by expression containing window functions +--echo # + +CREATE TABLE t1 (b1 int, b2 int); +INSERT INTO t1 VALUES (1,1),(0,0); + +explain +SELECT b1 +from t1 +order by row_number() over (ORDER BY b2) + 1; + +SELECT b1 +from t1 +order by row_number() over (ORDER BY b2) + 1; + +explain SELECT b1 +from t1 +order by row_number() over (ORDER BY b2); + +SELECT b1 +from t1 +order by row_number() over (ORDER BY b2); +DROP TABLE t1; diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 0cdecf1bf2e..70e4d1d37f8 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -933,7 +933,8 @@ JOIN::prepare(TABLE_LIST *tables_init, item->max_length))) real_order= TRUE; - if (item->with_sum_func && item->type() != Item::SUM_FUNC_ITEM) + if ((item->with_sum_func && item->type() != Item::SUM_FUNC_ITEM) || + item->with_window_func) item->split_sum_func(thd, ref_ptrs, all_fields, 0); } if (!real_order) @@ -26681,27 +26682,6 @@ AGGR_OP::end_send() } else { - /* - In case we have window functions present, an extra step is required - to compute all the fields from the temporary table. - In case we have a compound expression such as: expr + expr, - where one of the terms has a window function inside it, only - after computing window function values we actually know the true - final result of the compounded expression. - - Go through all the func items and save their values once again in the - corresponding temp table fields. Do this for each row in the table. - */ - if (join_tab->window_funcs_step) - { - Item **func_ptr= join_tab->tmp_table_param->items_to_copy; - Item *func; - for (; (func = *func_ptr) ; func_ptr++) - { - if (func->with_window_func) - func->save_in_result_field(true); - } - } rc= evaluate_join_record(join, join_tab, 0); } } diff --git a/sql/sql_window.cc b/sql/sql_window.cc index 465c6ae032c..9fb10339e35 100644 --- a/sql/sql_window.cc +++ b/sql/sql_window.cc @@ -2511,11 +2511,38 @@ bool save_window_function_values(List<Item_window_func>& window_functions, TABLE *tbl, uchar *rowid_buf) { List_iterator_fast<Item_window_func> iter(window_functions); + JOIN_TAB *join_tab= tbl->reginfo.join_tab; tbl->file->ha_rnd_pos(tbl->record[0], rowid_buf); store_record(tbl, record[1]); while (Item_window_func *item_win= iter++) item_win->save_in_field(item_win->result_field, true); + /* + In case we have window functions present, an extra step is required + to compute all the fields from the temporary table. + In case we have a compound expression such as: expr + expr, + where one of the terms has a window function inside it, only + after computing window function values we actually know the true + final result of the compounded expression. + + Go through all the func items and save their values once again in the + corresponding temp table fields. Do this for each row in the table. + + This needs to be done earlier because ORDER BY clause can also have + a window function, so we need to make sure all the fields of the temp.table + are updated before we do the filesort. So is best to update the other fields + that contain the window functions along with the computation of window + functions. + */ + + Item **func_ptr= join_tab->tmp_table_param->items_to_copy; + Item *func; + for (; (func = *func_ptr) ; func_ptr++) + { + if (func->with_window_func) + func->save_in_result_field(true); + } + int err= tbl->file->ha_update_row(tbl->record[1], tbl->record[0]); if (err && err != HA_ERR_RECORD_IS_THE_SAME) return true;
1 0
0 0
[Commits] e9a7c9e28c8: MDEV-11167: InnoDB: Warning: using a partial-field key prefix in search, results in assertion failure or "Can't find record" error
by Oleksandr Byelkin 02 Nov '18

02 Nov '18
revision-id: e9a7c9e28c8f28447a29c59585d08f88ce0772db (mariadb-10.1.35-40-ge9a7c9e28c8) parent(s): 62dbf4f18d47a1e26f5fd7a0d6683494fb203a44 author: Oleksandr Byelkin committer: Oleksandr Byelkin timestamp: 2018-11-02 17:54:35 +0100 message: MDEV-11167: InnoDB: Warning: using a partial-field key prefix in search, results in assertion failure or "Can't find record" error Fix ha_rnd_init() argument (we do not doing scan but use rnd_pos) --- mysql-test/r/partition_innodb.result | 26 ++++++++++++++++++++++++++ mysql-test/t/partition_innodb.test | 30 ++++++++++++++++++++++++++++++ sql/sql_update.cc | 2 +- 3 files changed, 57 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/partition_innodb.result b/mysql-test/r/partition_innodb.result index b322d63a7e1..e08ee24bb69 100644 --- a/mysql-test/r/partition_innodb.result +++ b/mysql-test/r/partition_innodb.result @@ -892,3 +892,29 @@ ERROR HY000: Table definition has changed, please retry transaction SELECT b FROM t1 WHERE b = 0; ERROR HY000: Table definition has changed, please retry transaction DROP TABLE t1; +# +# MDEV-11167: InnoDB: Warning: using a partial-field key prefix +# in search, results in assertion failure or "Can't find record" error +# +CREATE TABLE t1 (a INT) ENGINE=InnoDB; +CREATE TABLE t2 (b INT, c INT, KEY(b)) ENGINE=InnoDB PARTITION BY HASH(c) PARTITIONS 2; +CREATE ALGORITHM = MERGE VIEW v AS SELECT a, b FROM t1 STRAIGHT_JOIN t2 WHERE b = 'foo' WITH CHECK OPTION; +INSERT INTO t1 VALUES (1),(2); +INSERT IGNORE INTO t2 VALUES (2,2),('three',3),(4,4); +Warnings: +Warning 1366 Incorrect integer value: 'three' for column 'b' at row 2 +UPDATE v SET a = NULL ORDER BY a, b; +Warnings: +Warning 1292 Truncated incorrect DOUBLE value: 'foo' +DROP view v; +DROP TABLE t1, t2; +SET @save_isp=@@innodb_stats_persistent; +SET GLOBAL innodb_stats_persistent= ON; +CREATE TABLE t (f1 INT, f2 INT, KEY(f2)) ENGINE=InnoDB PARTITION BY HASH (f1) PARTITIONS 2; +INSERT IGNORE INTO t VALUES (NULL,0),(NULL,0),(0,21),(4,0),(1,8),(5,66); +CREATE ALGORITHM=MERGE VIEW v AS SELECT t1.* FROM t t1 JOIN t t2 WHERE t1.f1 < t2.f2 WITH LOCAL CHECK OPTION; +UPDATE v SET f2 = NULL; +ERROR HY000: CHECK OPTION failed 'test.v' +SET GLOBAL innodb_stats_persistent= @save_isp; +DROP view v; +DROP TABLE t; diff --git a/mysql-test/t/partition_innodb.test b/mysql-test/t/partition_innodb.test index 00af34f9d26..c6a94d17c04 100644 --- a/mysql-test/t/partition_innodb.test +++ b/mysql-test/t/partition_innodb.test @@ -998,3 +998,33 @@ SELECT b FROM t1 WHERE b = 0; SELECT b FROM t1 WHERE b = 0; --disconnect con1 DROP TABLE t1; + +--echo # +--echo # MDEV-11167: InnoDB: Warning: using a partial-field key prefix +--echo # in search, results in assertion failure or "Can't find record" error +--echo # + +CREATE TABLE t1 (a INT) ENGINE=InnoDB; +CREATE TABLE t2 (b INT, c INT, KEY(b)) ENGINE=InnoDB PARTITION BY HASH(c) PARTITIONS 2; +CREATE ALGORITHM = MERGE VIEW v AS SELECT a, b FROM t1 STRAIGHT_JOIN t2 WHERE b = 'foo' WITH CHECK OPTION; + +INSERT INTO t1 VALUES (1),(2); +INSERT IGNORE INTO t2 VALUES (2,2),('three',3),(4,4); +UPDATE v SET a = NULL ORDER BY a, b; + +DROP view v; +DROP TABLE t1, t2; + +SET @save_isp=@@innodb_stats_persistent; +SET GLOBAL innodb_stats_persistent= ON; + +CREATE TABLE t (f1 INT, f2 INT, KEY(f2)) ENGINE=InnoDB PARTITION BY HASH (f1) PARTITIONS 2; +INSERT IGNORE INTO t VALUES (NULL,0),(NULL,0),(0,21),(4,0),(1,8),(5,66); +CREATE ALGORITHM=MERGE VIEW v AS SELECT t1.* FROM t t1 JOIN t t2 WHERE t1.f1 < t2.f2 WITH LOCAL CHECK OPTION; +--error ER_VIEW_CHECK_FAILED +UPDATE v SET f2 = NULL; + +SET GLOBAL innodb_stats_persistent= @save_isp; +DROP view v; +DROP TABLE t; + diff --git a/sql/sql_update.cc b/sql/sql_update.cc index db9f9013188..5df3f3db784 100644 --- a/sql/sql_update.cc +++ b/sql/sql_update.cc @@ -2347,7 +2347,7 @@ int multi_update::do_updates() check_opt_it.rewind(); while(TABLE *tbl= check_opt_it++) { - if ((local_error= tbl->file->ha_rnd_init(1))) + if ((local_error= tbl->file->ha_rnd_init(0))) { err_table= tbl; goto err;
1 0
0 0
[Commits] d9415d74fa9: Fix embedded compilation.
by jan 02 Nov '18

02 Nov '18
revision-id: d9415d74fa9de87c50a9565521d923432f0d82b2 (mariadb-10.3.6-183-gd9415d74fa9) parent(s): 4866bd24e1a02530eddeea3a733970259d646a86 author: Jan Lindström committer: Jan Lindström timestamp: 2018-11-02 16:10:45 +0200 message: Fix embedded compilation. --- sql/sql_alter.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sql/sql_alter.cc b/sql/sql_alter.cc index 958fc2c9566..b1dc1325870 100644 --- a/sql/sql_alter.cc +++ b/sql/sql_alter.cc @@ -476,6 +476,7 @@ bool Sql_cmd_alter_table::execute(THD *thd) thd->work_part_info= 0; #endif +#ifdef WITH_WSREP if (WSREP(thd) && (!thd->is_current_stmt_binlog_format_row() || !thd->find_temporary_table(first_table))) @@ -487,6 +488,7 @@ bool Sql_cmd_alter_table::execute(THD *thd) thd->variables.auto_increment_offset = 1; thd->variables.auto_increment_increment = 1; } +#endif result= mysql_alter_table(thd, &select_lex->db, &lex->name, &create_info,
1 0
0 0
[Commits] 73c07803cb2: Add wsrep-lib to source distribution.
by jan 01 Nov '18

01 Nov '18
revision-id: 73c07803cb21f6818c675264faf705b53a2a1fc8 (mariadb-10.3.6-180-g73c07803cb2) parent(s): a72d32f18de7f236a50dd6c63b538d6bae743cac author: Jan Lindström committer: Jan Lindström timestamp: 2018-11-01 12:07:29 +0200 message: Add wsrep-lib to source distribution. --- cmake/make_dist.cmake.in | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cmake/make_dist.cmake.in b/cmake/make_dist.cmake.in index 6fad17137fd..8e77b700eb7 100644 --- a/cmake/make_dist.cmake.in +++ b/cmake/make_dist.cmake.in @@ -50,6 +50,14 @@ IF(GIT_EXECUTABLE) IF(NOT RESULT EQUAL 0) SET(GIT_EXECUTABLE) ENDIF() + EXECUTE_PROCESS( + COMMAND "${GIT_EXECUTABLE}" submodule foreach "${GIT_EXECUTABLE} checkout-index --all --prefix=${PACKAGE_DIR}/wsrep-lib/$path/" + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/wsrep-lib + RESULT_VARIABLE RESULT + ) + IF(NOT RESULT EQUAL 0) + SET(GIT_EXECUTABLE) + ENDIF() ENDIF() CONFIGURE_FILE(${CMAKE_BINARY_DIR}/include/source_revision.h
1 0
0 0
[Commits] b9a69f776d3: Fix wsrep.cnf installation.
by jan 01 Nov '18

01 Nov '18
revision-id: b9a69f776d3dea825bc23759660258c28bf58cc7 (mariadb-galera-10.0.36-6-gb9a69f776d3) parent(s): e16d91b889c3307ff1512d20221082e78cc8fcc0 author: Jan Lindström committer: Jan Lindström timestamp: 2018-11-01 10:49:53 +0200 message: Fix wsrep.cnf installation. --- support-files/CMakeLists.txt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/support-files/CMakeLists.txt b/support-files/CMakeLists.txt index c6ce2c04eb3..e51a78038ac 100644 --- a/support-files/CMakeLists.txt +++ b/support-files/CMakeLists.txt @@ -50,6 +50,13 @@ FOREACH(inifile my-huge my-innodb-heavy-4G my-large my-medium my-small) ENDFOREACH() ENDIF() +IF(WITH_WSREP) + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/wsrep.cnf.sh + ${CMAKE_CURRENT_BINARY_DIR}/wsrep.${ini_file_extension} @ONLY) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/wsrep.${ini_file_extension} + DESTINATION ${inst_location} COMPONENT IniFiles) +ENDIF() + IF(UNIX) SET(prefix ${CMAKE_INSTALL_PREFIX}) FOREACH(script mysqld_multi.server mysql-log-rotate binary-configure) @@ -102,8 +109,6 @@ IF(UNIX) DESTINATION ${inst_location} COMPONENT SupportFiles PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) - CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/wsrep.cnf.sh - ${CMAKE_CURRENT_BINARY_DIR}/wsrep.cnf @ONLY) IF (INSTALL_SYSCONFDIR) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mysql-log-rotate DESTINATION ${INSTALL_SYSCONFDIR}/logrotate.d
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • ...
  • 1461
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.