Fixed that SHOW CREATE TABLE for sequences shows used table options
This commit is contained in:
parent
2c52fdd28a
commit
0de2613e7a
@ -724,3 +724,34 @@ ERROR HY000: Sequence 'test.s' table structure is invalid (Wrong number of colum
|
|||||||
#
|
#
|
||||||
# End of 10.4 test
|
# End of 10.4 test
|
||||||
#
|
#
|
||||||
|
#
|
||||||
|
# Ensure that SHOW CREATE TABLE shows used table options
|
||||||
|
#
|
||||||
|
SET @@innodb_compression_default=ON;
|
||||||
|
CREATE TABLE seq (
|
||||||
|
`next_not_cached_value` bigint(21) NOT NULL,
|
||||||
|
`minimum_value` bigint(21) NOT NULL,
|
||||||
|
`maximum_value` bigint(21) NOT NULL,
|
||||||
|
`start_value` bigint(21) NOT NULL,
|
||||||
|
`increment` bigint(21) NOT NULL,
|
||||||
|
`cache_size` bigint(21) unsigned NOT NULL,
|
||||||
|
`cycle_option` tinyint(1) unsigned NOT NULL,
|
||||||
|
`cycle_count` bigint(21) NOT NULL
|
||||||
|
) engine=innodb,sequence=1;
|
||||||
|
show create sequence seq;
|
||||||
|
Table Create Table
|
||||||
|
seq CREATE SEQUENCE `seq` start with 1 minvalue 1 maxvalue 9223372036854775806 increment by 1 cache 1000 nocycle ENGINE=InnoDB `PAGE_COMPRESSED`='ON'
|
||||||
|
show create table seq;
|
||||||
|
Table Create Table
|
||||||
|
seq CREATE TABLE `seq` (
|
||||||
|
`next_not_cached_value` bigint(21) NOT NULL,
|
||||||
|
`minimum_value` bigint(21) NOT NULL,
|
||||||
|
`maximum_value` bigint(21) NOT NULL,
|
||||||
|
`start_value` bigint(21) NOT NULL,
|
||||||
|
`increment` bigint(21) NOT NULL,
|
||||||
|
`cache_size` bigint(21) unsigned NOT NULL,
|
||||||
|
`cycle_option` tinyint(1) unsigned NOT NULL,
|
||||||
|
`cycle_count` bigint(21) NOT NULL
|
||||||
|
) ENGINE=InnoDB SEQUENCE=1 `PAGE_COMPRESSED`='ON'
|
||||||
|
drop sequence seq;
|
||||||
|
SET @@innodb_compression_default=DEFAULT;
|
||||||
|
@ -565,3 +565,23 @@ create table s sequence=1 as select 1;
|
|||||||
--echo #
|
--echo #
|
||||||
--echo # End of 10.4 test
|
--echo # End of 10.4 test
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # Ensure that SHOW CREATE TABLE shows used table options
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
SET @@innodb_compression_default=ON;
|
||||||
|
CREATE TABLE seq (
|
||||||
|
`next_not_cached_value` bigint(21) NOT NULL,
|
||||||
|
`minimum_value` bigint(21) NOT NULL,
|
||||||
|
`maximum_value` bigint(21) NOT NULL,
|
||||||
|
`start_value` bigint(21) NOT NULL,
|
||||||
|
`increment` bigint(21) NOT NULL,
|
||||||
|
`cache_size` bigint(21) unsigned NOT NULL,
|
||||||
|
`cycle_option` tinyint(1) unsigned NOT NULL,
|
||||||
|
`cycle_count` bigint(21) NOT NULL
|
||||||
|
) engine=innodb,sequence=1;
|
||||||
|
show create sequence seq;
|
||||||
|
show create table seq;
|
||||||
|
drop sequence seq;
|
||||||
|
SET @@innodb_compression_default=DEFAULT;
|
||||||
|
@ -65,6 +65,8 @@ public:
|
|||||||
|
|
||||||
ha_sequence(handlerton *hton, TABLE_SHARE *share);
|
ha_sequence(handlerton *hton, TABLE_SHARE *share);
|
||||||
~ha_sequence();
|
~ha_sequence();
|
||||||
|
virtual handlerton *storage_ht() const override
|
||||||
|
{ return file->ht; }
|
||||||
|
|
||||||
/* virtual function that are re-implemented for sequence */
|
/* virtual function that are re-implemented for sequence */
|
||||||
int open(const char *name, int mode, uint test_if_locked) override;
|
int open(const char *name, int mode, uint test_if_locked) override;
|
||||||
|
@ -4987,6 +4987,12 @@ public:
|
|||||||
/* XXX to be removed, see ha_partition::partition_ht() */
|
/* XXX to be removed, see ha_partition::partition_ht() */
|
||||||
virtual handlerton *partition_ht() const
|
virtual handlerton *partition_ht() const
|
||||||
{ return ht; }
|
{ return ht; }
|
||||||
|
/*
|
||||||
|
Used with 'wrapper' engines, like SEQUENCE, to access to the
|
||||||
|
underlaying engine used for storage.
|
||||||
|
*/
|
||||||
|
virtual handlerton *storage_ht() const
|
||||||
|
{ return ht; }
|
||||||
inline int ha_write_tmp_row(uchar *buf);
|
inline int ha_write_tmp_row(uchar *buf);
|
||||||
inline int ha_delete_tmp_row(uchar *buf);
|
inline int ha_delete_tmp_row(uchar *buf);
|
||||||
inline int ha_update_tmp_row(const uchar * old_data, uchar * new_data);
|
inline int ha_update_tmp_row(const uchar * old_data, uchar * new_data);
|
||||||
|
@ -1838,7 +1838,7 @@ static void add_table_options(THD *thd, TABLE *table,
|
|||||||
hton= table->part_info->default_engine_type;
|
hton= table->part_info->default_engine_type;
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
hton= table->file->ht;
|
hton= table->file->storage_ht();
|
||||||
|
|
||||||
bzero((char*) &create_info, sizeof(create_info));
|
bzero((char*) &create_info, sizeof(create_info));
|
||||||
/* Allow update_create_info to update row type, page checksums and options */
|
/* Allow update_create_info to update row type, page checksums and options */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user