Browse Source

BUG#20484: "Partitions: crash with EXPLAIN and UNION"

- Don't forget to produce "partitions" column for "UNION RESULT" row of EXPLAIN output


mysql-test/r/partition_pruning.result:
  BUG#20484: Testcase
mysql-test/t/partition_pruning.test:
  BUG#20484: Testcase
pull/374/head
unknown 20 years ago
parent
commit
d2f08db40c
  1. 7
      mysql-test/r/partition_pruning.result
  2. 7
      mysql-test/t/partition_pruning.test
  3. 3
      sql/sql_select.cc

7
mysql-test/r/partition_pruning.result

@ -697,3 +697,10 @@ ref NULL
rows 2
Extra
drop table t2;
create table t1 (s1 int);
explain partitions select 1 from t1 union all select 2;
id select_type table partitions type possible_keys key key_len ref rows Extra
1 PRIMARY t1 NULL system NULL NULL NULL NULL 0 const row not found
2 UNION NULL NULL NULL NULL NULL NULL NULL NULL No tables used
NULL UNION RESULT <union1,2> NULL ALL NULL NULL NULL NULL NULL
drop table t1;

7
mysql-test/t/partition_pruning.test

@ -590,3 +590,10 @@ explain partitions select * from t2;
--horizontal_results
drop table t2;
# BUG#20484 "Partitions: crash with explain and union"
create table t1 (s1 int);
explain partitions select 1 from t1 union all select 2;
drop table t1;

3
sql/sql_select.cc

@ -13938,6 +13938,9 @@ static void select_describe(JOIN *join, bool need_tmp_table, bool need_order,
}
item_list.push_back(new Item_string(table_name_buffer, len, cs));
}
/* partitions */
if (join->thd->lex->describe & DESCRIBE_PARTITIONS)
item_list.push_back(item_null);
/* type */
item_list.push_back(new Item_string(join_type_str[JT_ALL],
strlen(join_type_str[JT_ALL]),

Loading…
Cancel
Save