1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

CREATE TABLE ... LIKE loses VECTOR index

This commit is contained in:
Sergey Vojtovich
2024-07-05 14:55:45 +04:00
committed by Sergei Golubchik
parent eec1339f5d
commit 7c16bba71d
3 changed files with 22 additions and 1 deletions

View File

@@ -250,3 +250,16 @@ insert t1 (v) values (x'12345678');
ERROR 22007: Incorrect vector value: '...' for column `test`.`t1`.`v` at row 1 ERROR 22007: Incorrect vector value: '...' for column `test`.`t1`.`v` at row 1
drop table t1; drop table t1;
db.opt db.opt
# Check if CREATE TABLE ... LIKE inherits VECTOR index
create table t1 (id int auto_increment primary key, v blob not null, vector index (v));
create table t2 like t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`v` blob NOT NULL,
PRIMARY KEY (`id`),
VECTOR KEY `v` (`v`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
drop table t1, t2;
db.opt

View File

@@ -74,3 +74,11 @@ insert t1 (v) values (x'12345678');
drop table t1; drop table t1;
let $datadir=`select @@datadir`; let $datadir=`select @@datadir`;
list_files $datadir/test; list_files $datadir/test;
--echo # Check if CREATE TABLE ... LIKE inherits VECTOR index
create table t1 (id int auto_increment primary key, v blob not null, vector index (v));
create table t2 like t1;
replace_result InnoDB MyISAM;
show create table t2;
drop table t1, t2;
list_files $datadir/test;

View File

@@ -8734,7 +8734,7 @@ mysql_prepare_alter_table(THD *thd, TABLE *table,
Collect all keys which isn't in drop list. Add only those Collect all keys which isn't in drop list. Add only those
for which some fields exists. for which some fields exists.
*/ */
for (uint i=0 ; i < table->s->keys ; i++,key_info++) for (uint i= 0; i < table->s->total_keys; i++, key_info++)
{ {
bool long_hash_key= false; bool long_hash_key= false;
if (key_info->flags & HA_INVISIBLE_KEY) if (key_info->flags & HA_INVISIBLE_KEY)