Loading mysql-test/include/partition_1.inc +1 −0 Original line number Diff line number Diff line Loading @@ -745,3 +745,4 @@ if ($fixed_bug16370) --source include/partition_12.inc } DROP TABLE t1; DROP TABLE if exists t0_template; mysql-test/r/partition_02myisam.result +1 −0 Original line number Diff line number Diff line Loading @@ -1722,3 +1722,4 @@ INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 100 - 1; ALTER TABLE t1 ADD PARTITION (PARTITION part2 VALUES LESS THAN (2147483647) (SUBPARTITION subpart21)); DROP TABLE t1; DROP TABLE if exists t0_template; mysql-test/t/disabled.def +3 −2 Original line number Diff line number Diff line Loading @@ -26,5 +26,6 @@ rpl_ndb_basic : Bug#16228 rpl_sp : Bug #16456 ndb_autodiscover : Needs to be fixed w.r.t binlog ndb_autodiscover2 : Needs to be fixed w.r.t binlog ndb_condition_pushdown: Bug #16596: Crash in mysql_unpack_partition ndb_index_ordered : Bug #16596: Crash in mysql_unpack_partition ndb_restore : Needs fixing system_mysql_db : Needs fixing system_mysql_db_fix : Needs fixing sql/sql_lex.cc +1 −0 Original line number Diff line number Diff line Loading @@ -179,6 +179,7 @@ void lex_start(THD *thd, const uchar *buf, uint length) lex->query_tables_own_last= 0; lex->escape_used= lex->et_compile_phase= FALSE; lex->name= 0; lex->et= NULL; if (lex->sroutines.records) Loading sql/sql_partition.cc +5 −5 Original line number Diff line number Diff line Loading @@ -3867,7 +3867,9 @@ bool mysql_unpack_partition(THD *thd, const uchar *part_buf, DBUG_PRINT("info", ("Successful parse")); part_info= lex.part_info; DBUG_PRINT("info", ("default engine = %d", ha_legacy_type(part_info->default_engine_type))); DBUG_PRINT("info", ("default engine = %d, default_db_type = %d", ha_legacy_type(part_info->default_engine_type), ha_legacy_type(default_db_type))); if (is_create_table_ind) { if (old_lex->name) Loading @@ -3877,10 +3879,6 @@ bool mysql_unpack_partition(THD *thd, const uchar *part_buf, old_lex->name contains the t2 and the table we are opening has name t1. */ Table_ident *ti= (Table_ident*)old_lex->name; const char *db_name= ti->db.str ? ti->db.str : thd->db; const char *table_name= ti->table.str; handler *file; if (partition_default_handling(table, part_info)) { DBUG_RETURN(TRUE); Loading @@ -3892,7 +3890,9 @@ bool mysql_unpack_partition(THD *thd, const uchar *part_buf, table->part_info= part_info; table->file->set_part_info(part_info); if (part_info->default_engine_type == NULL) { part_info->default_engine_type= default_db_type; } else { DBUG_ASSERT(part_info->default_engine_type == default_db_type); Loading Loading
mysql-test/include/partition_1.inc +1 −0 Original line number Diff line number Diff line Loading @@ -745,3 +745,4 @@ if ($fixed_bug16370) --source include/partition_12.inc } DROP TABLE t1; DROP TABLE if exists t0_template;
mysql-test/r/partition_02myisam.result +1 −0 Original line number Diff line number Diff line Loading @@ -1722,3 +1722,4 @@ INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND 100 - 1; ALTER TABLE t1 ADD PARTITION (PARTITION part2 VALUES LESS THAN (2147483647) (SUBPARTITION subpart21)); DROP TABLE t1; DROP TABLE if exists t0_template;
mysql-test/t/disabled.def +3 −2 Original line number Diff line number Diff line Loading @@ -26,5 +26,6 @@ rpl_ndb_basic : Bug#16228 rpl_sp : Bug #16456 ndb_autodiscover : Needs to be fixed w.r.t binlog ndb_autodiscover2 : Needs to be fixed w.r.t binlog ndb_condition_pushdown: Bug #16596: Crash in mysql_unpack_partition ndb_index_ordered : Bug #16596: Crash in mysql_unpack_partition ndb_restore : Needs fixing system_mysql_db : Needs fixing system_mysql_db_fix : Needs fixing
sql/sql_lex.cc +1 −0 Original line number Diff line number Diff line Loading @@ -179,6 +179,7 @@ void lex_start(THD *thd, const uchar *buf, uint length) lex->query_tables_own_last= 0; lex->escape_used= lex->et_compile_phase= FALSE; lex->name= 0; lex->et= NULL; if (lex->sroutines.records) Loading
sql/sql_partition.cc +5 −5 Original line number Diff line number Diff line Loading @@ -3867,7 +3867,9 @@ bool mysql_unpack_partition(THD *thd, const uchar *part_buf, DBUG_PRINT("info", ("Successful parse")); part_info= lex.part_info; DBUG_PRINT("info", ("default engine = %d", ha_legacy_type(part_info->default_engine_type))); DBUG_PRINT("info", ("default engine = %d, default_db_type = %d", ha_legacy_type(part_info->default_engine_type), ha_legacy_type(default_db_type))); if (is_create_table_ind) { if (old_lex->name) Loading @@ -3877,10 +3879,6 @@ bool mysql_unpack_partition(THD *thd, const uchar *part_buf, old_lex->name contains the t2 and the table we are opening has name t1. */ Table_ident *ti= (Table_ident*)old_lex->name; const char *db_name= ti->db.str ? ti->db.str : thd->db; const char *table_name= ti->table.str; handler *file; if (partition_default_handling(table, part_info)) { DBUG_RETURN(TRUE); Loading @@ -3892,7 +3890,9 @@ bool mysql_unpack_partition(THD *thd, const uchar *part_buf, table->part_info= part_info; table->file->set_part_info(part_info); if (part_info->default_engine_type == NULL) { part_info->default_engine_type= default_db_type; } else { DBUG_ASSERT(part_info->default_engine_type == default_db_type); Loading