MDEV-34919 Aria crashes with high-level (vector) indexes
Since high-level index tables do not participate in thr_multi_lock(), added explicit call to THR_LOCK::start_trans(). This is needed mostly for Aria to handle transaction logging.
This commit is contained in:
parent
72839c1435
commit
1cc7ef52e3
541
mysql-test/main/vector,aria.rdiff
Normal file
541
mysql-test/main/vector,aria.rdiff
Normal file
@ -0,0 +1,541 @@
|
||||
--- a/mysql-test/main/vector.result
|
||||
+++ b/mysql-test/main/vector.result
|
||||
@@ -1,5 +1,5 @@
|
||||
create temporary table t1 (id int auto_increment primary key, v vector(5) not null, vector index (v));
|
||||
-ERROR HY000: Cannot create VECTOR index on temporary MyISAM table
|
||||
+ERROR HY000: Cannot create VECTOR index on temporary Aria table
|
||||
create table t1 (id int auto_increment primary key,
|
||||
u vector(5) not null, vector index (u),
|
||||
v vector(5) not null, vector index (v));
|
||||
@@ -12,7 +12,7 @@ t1 CREATE TABLE `t1` (
|
||||
`v` vector(5) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
show keys from t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
t1 0 PRIMARY 1 id A 0 NULL NULL BTREE NO
|
||||
@@ -27,7 +27,7 @@ t1 CREATE TABLE `t1` (
|
||||
`v` vector(5) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
VECTOR KEY `v` (`v`) `max_edges_per_node`=7
|
||||
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
show keys from t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
t1 0 PRIMARY 1 id A 0 NULL NULL BTREE NO
|
||||
@@ -42,7 +42,7 @@ t1 CREATE TABLE `t1` (
|
||||
`v` vector(5) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
VECTOR KEY `v` (`v`) `max_edges_per_node`=5
|
||||
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
show keys from t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
t1 0 PRIMARY 1 id A 0 NULL NULL BTREE NO
|
||||
@@ -343,7 +343,7 @@ t2 CREATE TABLE `t2` (
|
||||
`v` vector(5) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
drop table t1, t2;
|
||||
db.opt
|
||||
# Test insert ... select with vector index
|
||||
@@ -401,33 +401,39 @@
|
||||
`v` vector(5) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
drop table t1;
|
||||
db.opt
|
||||
# Test RENAME TABLE with vector index
|
||||
create table t1 (id int auto_increment primary key, v vector(5) not null, vector index (v));
|
||||
db.opt
|
||||
-t1#i#01.ibd
|
||||
+t1#i#01.MAD
|
||||
+t1#i#01.MAI
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
rename table t1 to t2;
|
||||
db.opt
|
||||
-t2#i#01.ibd
|
||||
+t2#i#01.MAD
|
||||
+t2#i#01.MAI
|
||||
+t2.MAD
|
||||
+t2.MAI
|
||||
t2.frm
|
||||
-t2.ibd
|
||||
create database test1;
|
||||
rename table test.t2 to test1.t1;
|
||||
db.opt
|
||||
-t1#i#01.ibd
|
||||
+t1#i#01.MAD
|
||||
+t1#i#01.MAI
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
-call mtr.add_suppression('InnoDB: Cannot rename.*because the source file does not exist');
|
||||
-call mtr.add_suppression('InnoDB: File ./test1/t1#i#01.ibd was not found');
|
||||
rename table test1.t1 to test1.t2;
|
||||
Got one of the listed errors
|
||||
db.opt
|
||||
+t1#i#01.MAI
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
drop database test1;
|
||||
db.opt
|
||||
#
|
||||
@@ -442,7 +472,7 @@ t1 CREATE TABLE `t1` (
|
||||
`v` vector(5) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
VECTOR KEY `v` (`v`) `distance_function`=cosine
|
||||
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
insert t1 (v) values (x'e360d63ebe554f3fcdbc523f4522193f5236083d'),
|
||||
(x'f511303f72224a3fdd05fe3eb22a133ffae86a3f'),
|
||||
(x'f09baa3ea172763f123def3e0c7fe53e288bf33e'),
|
||||
@@ -504,9 +534,11 @@ insert t1 (v) values (x'e360d63ebe554f3fcdbc523f4522193f5236083d'),
|
||||
# ADD/DROP COLUMN, ALGORITHM=COPY
|
||||
alter table t1 add column a int, algorithm=copy;
|
||||
db.opt
|
||||
-t1#i#01.ibd
|
||||
+t1#i#01.MAD
|
||||
+t1#i#01.MAI
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
@@ -515,12 +547,14 @@ t1 CREATE TABLE `t1` (
|
||||
`a` int(11) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
alter table t1 drop column a, algorithm=copy;
|
||||
db.opt
|
||||
-t1#i#01.ibd
|
||||
+t1#i#01.MAD
|
||||
+t1#i#01.MAI
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
@@ -528,13 +562,15 @@ t1 CREATE TABLE `t1` (
|
||||
`v` vector(5) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
# ADD/DROP INDEX, ALGORITHM=COPY (non-vector)
|
||||
alter table t1 add index a(id), algorithm=copy;
|
||||
db.opt
|
||||
-t1#i#02.ibd
|
||||
+t1#i#02.MAD
|
||||
+t1#i#02.MAI
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
@@ -543,12 +579,14 @@ t1 CREATE TABLE `t1` (
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `a` (`id`),
|
||||
VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
alter table t1 drop index a, algorithm=copy;
|
||||
db.opt
|
||||
-t1#i#01.ibd
|
||||
+t1#i#01.MAD
|
||||
+t1#i#01.MAI
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
@@ -556,13 +594,15 @@ t1 CREATE TABLE `t1` (
|
||||
`v` vector(5) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
# CREATE/DROP INDEX, ALGORITHM=COPY (non-vector)
|
||||
create index a on t1(id) algorithm=copy;
|
||||
db.opt
|
||||
-t1#i#02.ibd
|
||||
+t1#i#02.MAD
|
||||
+t1#i#02.MAI
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
@@ -571,12 +611,14 @@ t1 CREATE TABLE `t1` (
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `a` (`id`),
|
||||
VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
drop index a on t1;
|
||||
db.opt
|
||||
-t1#i#01.ibd
|
||||
+t1#i#01.MAD
|
||||
+t1#i#01.MAI
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
@@ -584,13 +626,15 @@ t1 CREATE TABLE `t1` (
|
||||
`v` vector(5) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
# ADD/DROP COLUMN IF [NOT] EXISTS, ALGORITHM=COPY (non-vector)
|
||||
alter table t1 add column if not exists a int, algorithm=copy;
|
||||
db.opt
|
||||
-t1#i#01.ibd
|
||||
+t1#i#01.MAD
|
||||
+t1#i#01.MAI
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
@@ -599,12 +643,14 @@ t1 CREATE TABLE `t1` (
|
||||
`a` int(11) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
alter table t1 drop column if exists a, algorithm=copy;
|
||||
db.opt
|
||||
-t1#i#01.ibd
|
||||
+t1#i#01.MAD
|
||||
+t1#i#01.MAI
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
@@ -612,24 +658,27 @@ t1 CREATE TABLE `t1` (
|
||||
`v` vector(5) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
# ADD/DROP INDEX, ALGORITHM=COPY (vector)
|
||||
alter table t1 drop index v, algorithm=copy;
|
||||
db.opt
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`v` vector(5) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
alter table t1 add vector index v(v), algorithm=copy;
|
||||
db.opt
|
||||
-t1#i#01.ibd
|
||||
+t1#i#01.MAD
|
||||
+t1#i#01.MAI
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
@@ -637,24 +686,27 @@ t1 CREATE TABLE `t1` (
|
||||
`v` vector(5) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
# CREATE/DROP INDEX, ALGORITHM=COPY (vector)
|
||||
drop index v on t1;
|
||||
db.opt
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`v` vector(5) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
create vector index v on t1(v) algorithm=copy;
|
||||
db.opt
|
||||
-t1#i#01.ibd
|
||||
+t1#i#01.MAD
|
||||
+t1#i#01.MAI
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
@@ -662,7 +714,7 @@ t1 CREATE TABLE `t1` (
|
||||
`v` vector(5) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
# ADD/DROP INDEX, ALGORITHM=INPLACE (non-vector)
|
||||
alter table t1 add index a(id), algorithm=inplace;
|
||||
ERROR 0A000: ALGORITHM=INPLACE is not supported for this operation. Try ALGORITHM=COPY
|
||||
@@ -685,31 +737,15 @@ ERROR 0A000: ALGORITHM=INPLACE is not supported for this operation. Try ALGORITH
|
||||
alter table t1 modify column v vector(7) not null, algorithm=inplace;
|
||||
ERROR 0A000: ALGORITHM=INPLACE is not supported for this operation. Try ALGORITHM=COPY
|
||||
# ADD/CHANGE/DROP/MODIFY COLUMN, ALGORITHM=INPLACE (non-vector)
|
||||
-alter table t1 add column a varchar(10), algorithm=inplace;
|
||||
-alter table t1 change column a a varchar(20), algorithm=inplace;
|
||||
-alter table t1 modify column a varchar(30), algorithm=inplace;
|
||||
-alter table t1 drop column a, algorithm=inplace;
|
||||
-db.opt
|
||||
-t1#i#01.ibd
|
||||
-t1.frm
|
||||
-t1.ibd
|
||||
-show create table t1;
|
||||
-Table Create Table
|
||||
-t1 CREATE TABLE `t1` (
|
||||
- `id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
- `v` vector(5) NOT NULL,
|
||||
- PRIMARY KEY (`id`),
|
||||
- VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
# ENABLE/DISABLE INDEXES
|
||||
alter table t1 disable keys;
|
||||
alter table t1 enable keys;
|
||||
-Warnings:
|
||||
-Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option
|
||||
db.opt
|
||||
-t1#i#01.ibd
|
||||
+t1#i#01.MAD
|
||||
+t1#i#01.MAI
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
@@ -717,13 +753,15 @@ t1 CREATE TABLE `t1` (
|
||||
`v` vector(5) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
# RENAME COLUMN (vector)
|
||||
alter table t1 rename column v to w;
|
||||
db.opt
|
||||
-t1#i#01.ibd
|
||||
+t1#i#01.MAD
|
||||
+t1#i#01.MAI
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
@@ -731,14 +769,16 @@ t1 CREATE TABLE `t1` (
|
||||
`w` vector(5) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
VECTOR KEY `v` (`w`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
alter table t1 rename column w to v;
|
||||
# RENAME INDEX (vector)
|
||||
alter table t1 rename key v to w;
|
||||
db.opt
|
||||
-t1#i#01.ibd
|
||||
+t1#i#01.MAD
|
||||
+t1#i#01.MAI
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
@@ -746,7 +786,7 @@ t1 CREATE TABLE `t1` (
|
||||
`v` vector(5) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
VECTOR KEY `w` (`v`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
alter table t1 rename key w to v;
|
||||
# IF [NOT] EXISTS
|
||||
create vector index if not exists v on t1(v);
|
||||
@@ -757,77 +797,22 @@ drop index if exists v on t1;
|
||||
Warnings:
|
||||
Note 1091 Can't DROP INDEX `v`; check that it exists
|
||||
db.opt
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`v` vector(5) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
create vector index if not exists v on t1(v);
|
||||
alter table t1 rename key if exists v to w;
|
||||
alter table t1 rename key if exists w to v;
|
||||
alter table t1 alter key if exists v ignored;
|
||||
alter table t1 alter key if exists v not ignored;
|
||||
# ENGINE
|
||||
-alter table t1 engine=myisam;
|
||||
-db.opt
|
||||
-t1#i#01.MYD
|
||||
-t1#i#01.MYI
|
||||
-t1.MYD
|
||||
-t1.MYI
|
||||
-t1.frm
|
||||
-show create table t1;
|
||||
-Table Create Table
|
||||
-t1 CREATE TABLE `t1` (
|
||||
- `id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
- `v` vector(5) NOT NULL,
|
||||
- PRIMARY KEY (`id`),
|
||||
- VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
-alter table t1 engine=innodb;
|
||||
-db.opt
|
||||
-t1#i#01.ibd
|
||||
-t1.frm
|
||||
-t1.ibd
|
||||
-show create table t1;
|
||||
-Table Create Table
|
||||
-t1 CREATE TABLE `t1` (
|
||||
- `id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
- `v` vector(5) NOT NULL,
|
||||
- PRIMARY KEY (`id`),
|
||||
- VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
-alter table t1 rename to t2, engine=myisam;
|
||||
-db.opt
|
||||
-t2#i#01.MYD
|
||||
-t2#i#01.MYI
|
||||
-t2.MYD
|
||||
-t2.MYI
|
||||
-t2.frm
|
||||
-show create table t2;
|
||||
-Table Create Table
|
||||
-t2 CREATE TABLE `t2` (
|
||||
- `id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
- `v` vector(5) NOT NULL,
|
||||
- PRIMARY KEY (`id`),
|
||||
- VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
-alter table t2 rename to t1, engine=innodb;
|
||||
-db.opt
|
||||
-t1#i#01.ibd
|
||||
-t1.frm
|
||||
-t1.ibd
|
||||
-show create table t1;
|
||||
-Table Create Table
|
||||
-t1 CREATE TABLE `t1` (
|
||||
- `id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
- `v` vector(5) NOT NULL,
|
||||
- PRIMARY KEY (`id`),
|
||||
- VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
# CHANGE/MODIFY/DROP COLUMN (vector)
|
||||
alter table t1 modify column v int;
|
||||
ERROR HY000: Incorrect arguments to VECTOR INDEX
|
||||
@@ -839,9 +824,11 @@ alter table t1 change column v v vector(6);
|
||||
ERROR 42000: All parts of a VECTOR index must be NOT NULL
|
||||
alter table t1 modify column v vector(7) not null;
|
||||
db.opt
|
||||
-t1#i#01.ibd
|
||||
+t1#i#01.MAD
|
||||
+t1#i#01.MAI
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
@@ -849,12 +836,14 @@ t1 CREATE TABLE `t1` (
|
||||
`v` vector(7) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
alter table t1 change column v v vector(5) not null;
|
||||
db.opt
|
||||
-t1#i#01.ibd
|
||||
+t1#i#01.MAD
|
||||
+t1#i#01.MAI
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
@@ -862,17 +851,18 @@ t1 CREATE TABLE `t1` (
|
||||
`v` vector(5) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
VECTOR KEY `v` (`v`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
alter table t1 drop column v;
|
||||
db.opt
|
||||
+t1.MAD
|
||||
+t1.MAI
|
||||
t1.frm
|
||||
-t1.ibd
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`id`)
|
||||
-) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
+) ENGINE=Aria AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci PAGE_CHECKSUM=1
|
||||
drop table t1;
|
||||
create table t1(v vector(5) not null, vector index(v));
|
||||
alter table t1 add column a int;
|
@ -4,3 +4,6 @@ default-storage-engine=innodb
|
||||
|
||||
[myisam]
|
||||
default-storage-engine=myisam
|
||||
|
||||
[aria]
|
||||
default-storage-engine=aria
|
||||
|
@ -190,15 +190,20 @@ list_files $datadir/test1;
|
||||
if ($MTR_COMBINATION_MYISAM) {
|
||||
remove_file $datadir/test1/t1#i#01.MYD;
|
||||
}
|
||||
if ($MTR_COMBINATION_ARIA) {
|
||||
remove_file $datadir/test1/t1#i#01.MAD;
|
||||
}
|
||||
if ($MTR_COMBINATION_INNODB) {
|
||||
call mtr.add_suppression('InnoDB: Cannot rename.*because the source file does not exist');
|
||||
call mtr.add_suppression('InnoDB: File ./test1/t1#i#01.ibd was not found');
|
||||
remove_file $datadir/test1/t1#i#01.ibd;
|
||||
}
|
||||
--error 7,ER_ERROR_ON_RENAME
|
||||
--error 7,29,ER_ERROR_ON_RENAME
|
||||
rename table test1.t1 to test1.t2;
|
||||
list_files $datadir/test1;
|
||||
disable_warnings;
|
||||
drop database test1;
|
||||
enable_warnings;
|
||||
list_files $datadir/test;
|
||||
|
||||
--echo #
|
||||
|
@ -65,12 +65,6 @@ t1 CREATE TABLE `t1` (
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-34919 Aria crashes with high-level (vector) indexes
|
||||
#
|
||||
# Aria doesn't support VECTOR yet
|
||||
create table t1(v vector(10) not null, vector index(v)) engine=aria;
|
||||
ERROR HY000: Table storage engine 'Aria' does not support the create option 'VECTOR'
|
||||
#
|
||||
# MDEV-35038 Server crash in Index_statistics::get_avg_frequency upon EITS collection for vector index
|
||||
#
|
||||
create table t (a int, v vector(10) not null, vector index (v));
|
||||
|
@ -52,13 +52,6 @@ create table t1 (a int, b vector(1536) not null, vector index(b));
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-34919 Aria crashes with high-level (vector) indexes
|
||||
--echo #
|
||||
--echo # Aria doesn't support VECTOR yet
|
||||
--error ER_ILLEGAL_HA_CREATE_OPTION
|
||||
create table t1(v vector(10) not null, vector index(v)) engine=aria;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-35038 Server crash in Index_statistics::get_avg_frequency upon EITS collection for vector index
|
||||
--echo #
|
||||
|
@ -9896,8 +9896,21 @@ int TABLE::hlindex_open(uint nr)
|
||||
return 0;
|
||||
hlindex->in_use= in_use; // mark in use for this query
|
||||
hlindex->use_all_columns();
|
||||
return hlindex->file->ha_external_lock(in_use,
|
||||
|
||||
int res= hlindex->file->ha_external_lock(in_use,
|
||||
reginfo.lock_type < TL_FIRST_WRITE ? F_RDLCK : F_WRLCK);
|
||||
/*
|
||||
This code is here mostly for Aria. It requires start_trans() call to handle
|
||||
transaction logging.
|
||||
*/
|
||||
if (res == 0 && hlindex->file->lock_count() == 1)
|
||||
{
|
||||
THR_LOCK_DATA *lock_data;
|
||||
hlindex->file->store_lock(in_use, &lock_data, TL_IGNORE);
|
||||
if (lock_data->lock->start_trans)
|
||||
lock_data->lock->start_trans(lock_data->status_param);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
int TABLE::open_hlindexes_for_write()
|
||||
|
@ -3317,11 +3317,6 @@ int ha_maria::create(const char *name, TABLE *table_arg,
|
||||
THD *thd= current_thd;
|
||||
DBUG_ENTER("ha_maria::create");
|
||||
|
||||
if (share->total_keys > share->keys)
|
||||
{
|
||||
my_error(ER_ILLEGAL_HA_CREATE_OPTION, MYF(0), "Aria", "VECTOR");
|
||||
DBUG_RETURN(HA_ERR_UNSUPPORTED);
|
||||
}
|
||||
for (i= 0; i < share->keys; i++)
|
||||
{
|
||||
if (table_arg->key_info[i].flags & HA_USES_PARSER)
|
||||
|
Loading…
x
Reference in New Issue
Block a user