mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-16857 system-invisible row_end is displayed in SHOW INDEX
Skip system-invisible keypart in get_schema_stat_record().
This commit is contained in:
@ -580,3 +580,22 @@ t2 CREATE TEMPORARY TABLE `t2` (
|
|||||||
) ENGINE=DEFAULT_ENGINE DEFAULT CHARSET=latin1
|
) ENGINE=DEFAULT_ENGINE DEFAULT CHARSET=latin1
|
||||||
drop temporary table t2;
|
drop temporary table t2;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
#
|
||||||
|
# MDEV-16857 system-invisible row_end is displayed in SHOW INDEX
|
||||||
|
#
|
||||||
|
create or replace table t1 (id int primary key, x int) with system versioning;
|
||||||
|
select table_schema, table_name, non_unique, index_schema, index_name, seq_in_index, column_name
|
||||||
|
from information_schema.statistics where table_name = 't1';
|
||||||
|
table_schema table_name non_unique index_schema index_name seq_in_index column_name
|
||||||
|
test t1 0 test PRIMARY 1 id
|
||||||
|
show index from t1;
|
||||||
|
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||||
|
t1 0 PRIMARY 1 id # # # # # #
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`id` int(11) NOT NULL,
|
||||||
|
`x` int(11) DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=DEFAULT_ENGINE DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING
|
||||||
|
drop table t1;
|
||||||
|
@ -439,3 +439,15 @@ show create table t1;
|
|||||||
show create table t2;
|
show create table t2;
|
||||||
drop temporary table t2;
|
drop temporary table t2;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-16857 system-invisible row_end is displayed in SHOW INDEX
|
||||||
|
--echo #
|
||||||
|
create or replace table t1 (id int primary key, x int) with system versioning;
|
||||||
|
select table_schema, table_name, non_unique, index_schema, index_name, seq_in_index, column_name
|
||||||
|
from information_schema.statistics where table_name = 't1';
|
||||||
|
--replace_column 6 # 7 # 8 # 9 # 10 # 11 #
|
||||||
|
show index from t1;
|
||||||
|
--replace_result $default_engine DEFAULT_ENGINE
|
||||||
|
show create table t1;
|
||||||
|
drop table t1;
|
||||||
|
@ -6676,6 +6676,16 @@ static int get_schema_stat_record(THD *thd, TABLE_LIST *tables,
|
|||||||
LEX_CSTRING unknown= {STRING_WITH_LEN("?unknown field?") };
|
LEX_CSTRING unknown= {STRING_WITH_LEN("?unknown field?") };
|
||||||
for (uint j=0 ; j < key_info->user_defined_key_parts ; j++,key_part++)
|
for (uint j=0 ; j < key_info->user_defined_key_parts ; j++,key_part++)
|
||||||
{
|
{
|
||||||
|
if (key_part->field->invisible >= INVISIBLE_SYSTEM &&
|
||||||
|
DBUG_EVALUATE_IF("test_completely_invisible", 0, 1))
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
NOTE: we will get SEQ_IN_INDEX gap inside the result if this key_part
|
||||||
|
is not last (currently not possible). Though nothing is wrong with
|
||||||
|
that probably.
|
||||||
|
*/
|
||||||
|
continue;
|
||||||
|
}
|
||||||
restore_record(table, s->default_values);
|
restore_record(table, s->default_values);
|
||||||
table->field[0]->store(STRING_WITH_LEN("def"), cs);
|
table->field[0]->store(STRING_WITH_LEN("def"), cs);
|
||||||
table->field[1]->store(db_name->str, db_name->length, cs);
|
table->field[1]->store(db_name->str, db_name->length, cs);
|
||||||
|
Reference in New Issue
Block a user