Loading mysql-test/r/information_schema.result +10 −0 Original line number Diff line number Diff line Loading @@ -1422,3 +1422,13 @@ show fields from information_schema.table_names; ERROR 42S02: Unknown table 'table_names' in information_schema show keys from information_schema.table_names; ERROR 42S02: Unknown table 'table_names' in information_schema USE information_schema; SET max_heap_table_size = 16384; CREATE TABLE test.t1( a INT ); SELECT * FROM tables ta JOIN collations co ON ( co.collation_name = ta.table_catalog ) JOIN character_sets cs ON ( cs.character_set_name = ta.table_catalog ); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN DROP TABLE test.t1; SET max_heap_table_size = DEFAULT; mysql-test/t/information_schema.test +21 −0 Original line number Diff line number Diff line Loading @@ -1118,3 +1118,24 @@ show fields from information_schema.table_names; --error 1109 show keys from information_schema.table_names; # # Bug#34529: Crash on complex Falcon I_S select after ALTER .. PARTITION BY # USE information_schema; SET max_heap_table_size = 16384; CREATE TABLE test.t1( a INT ); # What we need to create here is a bit of a corner case: # We need a star query with information_schema tables, where the first # branch of the star join produces zero rows, so that reading of the # second branch never happens. At the same time we have to make sure # that data for at least the last table is swapped from MEMORY/HEAP to # MyISAM. This and only this triggers the bug. SELECT * FROM tables ta JOIN collations co ON ( co.collation_name = ta.table_catalog ) JOIN character_sets cs ON ( cs.character_set_name = ta.table_catalog ); DROP TABLE test.t1; SET max_heap_table_size = DEFAULT; sql/sql_show.cc +2 −0 Original line number Diff line number Diff line Loading @@ -4073,9 +4073,11 @@ bool get_schema_tables_result(JOIN *join, { result= 1; join->error= 1; tab->read_record.file= table_list->table->file; table_list->schema_table_state= executed_place; break; } tab->read_record.file= table_list->table->file; table_list->schema_table_state= executed_place; } } Loading Loading
mysql-test/r/information_schema.result +10 −0 Original line number Diff line number Diff line Loading @@ -1422,3 +1422,13 @@ show fields from information_schema.table_names; ERROR 42S02: Unknown table 'table_names' in information_schema show keys from information_schema.table_names; ERROR 42S02: Unknown table 'table_names' in information_schema USE information_schema; SET max_heap_table_size = 16384; CREATE TABLE test.t1( a INT ); SELECT * FROM tables ta JOIN collations co ON ( co.collation_name = ta.table_catalog ) JOIN character_sets cs ON ( cs.character_set_name = ta.table_catalog ); TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN DROP TABLE test.t1; SET max_heap_table_size = DEFAULT;
mysql-test/t/information_schema.test +21 −0 Original line number Diff line number Diff line Loading @@ -1118,3 +1118,24 @@ show fields from information_schema.table_names; --error 1109 show keys from information_schema.table_names; # # Bug#34529: Crash on complex Falcon I_S select after ALTER .. PARTITION BY # USE information_schema; SET max_heap_table_size = 16384; CREATE TABLE test.t1( a INT ); # What we need to create here is a bit of a corner case: # We need a star query with information_schema tables, where the first # branch of the star join produces zero rows, so that reading of the # second branch never happens. At the same time we have to make sure # that data for at least the last table is swapped from MEMORY/HEAP to # MyISAM. This and only this triggers the bug. SELECT * FROM tables ta JOIN collations co ON ( co.collation_name = ta.table_catalog ) JOIN character_sets cs ON ( cs.character_set_name = ta.table_catalog ); DROP TABLE test.t1; SET max_heap_table_size = DEFAULT;
sql/sql_show.cc +2 −0 Original line number Diff line number Diff line Loading @@ -4073,9 +4073,11 @@ bool get_schema_tables_result(JOIN *join, { result= 1; join->error= 1; tab->read_record.file= table_list->table->file; table_list->schema_table_state= executed_place; break; } tab->read_record.file= table_list->table->file; table_list->schema_table_state= executed_place; } } Loading