diff --git a/mysql-test/extra/rpl_tests/type_conversions.test b/mysql-test/extra/rpl_tests/type_conversions.test index 2be1f6c0bec..6e52da59201 100644 --- a/mysql-test/extra/rpl_tests/type_conversions.test +++ b/mysql-test/extra/rpl_tests/type_conversions.test @@ -75,6 +75,34 @@ let $target_value = 'master,slave'; let $can_convert = 1; source extra/rpl_tests/check_type.inc; +let $source_type = SET('0','1','2','3','4','5','6'); +let $target_type = SET('0','1','2','3','4','5','6'); +let $source_value = '5'; +let $target_value = '5'; +let $can_convert = 1; +source extra/rpl_tests/check_type.inc; + +let $source_type = SET('0','1','2','3','4','5','6'); +let $target_type = SET('0','1','2','3','4','5','6','7','8','9','10'); +let $source_value = '5'; +let $target_value = '5'; +let $can_convert = $if_is_non_lossy; +source extra/rpl_tests/check_type.inc; + +let $source_type = SET('0','1','2','3','4','5','6','7','8','9','10'); +let $target_type = SET('0','1','2','3','4','5','6'); +let $source_value = '5'; +let $target_value = '5'; +let $can_convert = $if_is_lossy; +source extra/rpl_tests/check_type.inc; + +let $source_type = SET('0','1','2','3','4','5','6','7','8','9','10'); +let $target_type = SET('0','1','2','3','4','5','6'); +let $source_value = '7'; +let $target_value = ''; +let $can_convert = $if_is_lossy; +source extra/rpl_tests/check_type.inc; + let $source_type = TINYINT; let $target_type = TINYINT; let $source_value = 1; diff --git a/mysql-test/suite/rpl/r/rpl_typeconv.result b/mysql-test/suite/rpl/r/rpl_typeconv.result index 716956cf2cf..90451759406 100644 --- a/mysql-test/suite/rpl/r/rpl_typeconv.result +++ b/mysql-test/suite/rpl/r/rpl_typeconv.result @@ -78,6 +78,10 @@ ENUM('master',' CHAR(10) SET('master','s CHAR(10) SET('master','s SET('master','s SET('master','s SET('master','s +SET('0','1','2' SET('0','1','2' +SET('0','1','2' SET('0','1','2' +SET('0','1','2' SET('0','1','2' +SET('0','1','2' SET('0','1','2' TINYINT TINYINT TINYINT SMALLINT TINYINT MEDIUMINT @@ -176,6 +180,10 @@ ENUM('master',' CHAR(10) ALL_NON_LOSSY SET('master','s CHAR(10) ALL_NON_LOSSY SET('master','s SET('master','s ALL_NON_LOSSY SET('master','s SET('master','s ALL_NON_LOSSY +SET('0','1','2' SET('0','1','2' ALL_NON_LOSSY +SET('0','1','2' SET('0','1','2' ALL_NON_LOSSY +SET('0','1','2' SET('0','1','2' ALL_NON_LOSSY +SET('0','1','2' SET('0','1','2' ALL_NON_LOSSY TINYINT TINYINT ALL_NON_LOSSY TINYINT SMALLINT ALL_NON_LOSSY TINYINT MEDIUMINT ALL_NON_LOSSY @@ -274,6 +282,10 @@ ENUM('master',' CHAR(10) ALL_LOSSY SET('master','s CHAR(10) ALL_LOSSY SET('master','s SET('master','s ALL_LOSSY SET('master','s SET('master','s ALL_LOSSY +SET('0','1','2' SET('0','1','2' ALL_LOSSY +SET('0','1','2' SET('0','1','2' ALL_LOSSY +SET('0','1','2' SET('0','1','2' ALL_LOSSY +SET('0','1','2' SET('0','1','2' ALL_LOSSY TINYINT TINYINT ALL_LOSSY TINYINT SMALLINT ALL_LOSSY TINYINT MEDIUMINT ALL_LOSSY @@ -372,6 +384,10 @@ ENUM('master',' CHAR(10) ALL_LOSSY,ALL_NON_LOSSY SET('master','s CHAR(10) ALL_LOSSY,ALL_NON_LOSSY SET('master','s SET('master','s ALL_LOSSY,ALL_NON_LOSSY SET('master','s SET('master','s ALL_LOSSY,ALL_NON_LOSSY +SET('0','1','2' SET('0','1','2' ALL_LOSSY,ALL_NON_LOSSY +SET('0','1','2' SET('0','1','2' ALL_LOSSY,ALL_NON_LOSSY +SET('0','1','2' SET('0','1','2' ALL_LOSSY,ALL_NON_LOSSY +SET('0','1','2' SET('0','1','2' ALL_LOSSY,ALL_NON_LOSSY TINYINT TINYINT ALL_LOSSY,ALL_NON_LOSSY TINYINT SMALLINT ALL_LOSSY,ALL_NON_LOSSY TINYINT MEDIUMINT ALL_LOSSY,ALL_NON_LOSSY diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 0e3b3511283..aa9a39b8bc4 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -10454,6 +10454,7 @@ TABLE *create_virtual_tmp_table(THD *thd, List &field_list) share->blob_field= blob_field; share->fields= field_count; share->blob_ptr_size= portable_sizeof_char_ptr; + share->db_low_byte_first=1; // True for HEAP and MyISAM setup_tmp_table_column_bitmaps(table, bitmaps); /* Create all fields and calculate the total length of record */