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

reject invalid spatial key declarations in the parser

This commit is contained in:
Sergei Golubchik
2024-01-08 19:33:32 +01:00
parent 0cc01bde45
commit 44ff2f7831
20 changed files with 177 additions and 139 deletions

View File

@@ -1,5 +1,5 @@
# ******************************************************************
# Test Alter table add spatial idex asc/desc comments
# Test Alter table add spatial index comments
# Test error Alter table modify column with No not null option
# Test error Alter table modify column with null option
# Test table column having both indexes spatial and Btree
@@ -87,13 +87,13 @@ ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010
--enable_info
ALTER TABLE tab ADD SPATIAL INDEX idx2(c2 ASC);
ALTER TABLE tab ADD SPATIAL INDEX idx2(c2);
ALTER TABLE tab ADD SPATIAL KEY idx3(c3 DESC);
ALTER TABLE tab ADD SPATIAL KEY idx3(c3);
ALTER TABLE tab ADD SPATIAL INDEX idx4(c4 ASC) COMMENT 'testing spatial index on Polygon';
ALTER TABLE tab ADD SPATIAL INDEX idx4(c4) COMMENT 'testing spatial index on Polygon';
ALTER TABLE tab ADD SPATIAL KEY idx5(c5 ASC) COMMENT 'testing spatial index on Geometry';
ALTER TABLE tab ADD SPATIAL KEY idx5(c5) COMMENT 'testing spatial index on Geometry';
ALTER TABLE tab ADD INDEX idx6(c4(10)) USING BTREE;
--disable_info
@@ -166,10 +166,10 @@ ALTER TABLE tab CHANGE COLUMN c4 c44 POLYGON;
ALTER TABLE tab add SPATIAL INDEX idx1(c1);
--error ER_PARSE_ERROR
ALTER TABLE tab ADD SPATIAL INDEX idx6(c2 ASC) USING BTREE;
ALTER TABLE tab ADD SPATIAL INDEX idx6(c2) USING BTREE;
--error ER_PARSE_ERROR
ALTER TABLE tab ADD SPATIAL INDEX idx6(c2 ASC) USING HASH;
ALTER TABLE tab ADD SPATIAL INDEX idx6(c2) USING HASH;
# --error ER_INVALID_USE_OF_NULL
# ALTER TABLE tab CHANGE c2 c2 MULTIPOINT NOT NULL FIRST, ALGORITHM=COPY;
@@ -366,7 +366,7 @@ DELETE FROM tab;
--enable_info
ALTER TABLE tab ADD PRIMARY KEY(c2);
CREATE SPATIAL INDEX idx2 ON tab(c2 ASC);
CREATE SPATIAL INDEX idx2 ON tab(c2);
ALTER TABLE tab ADD CONSTRAINT const_1 UNIQUE(c2);
--disable_info
@@ -471,13 +471,13 @@ ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010
ANALYZE TABLE tab;
--enable_info
ALTER TABLE tab ADD SPATIAL INDEX idx2(c2 ASC);
ALTER TABLE tab ADD SPATIAL INDEX idx2(c2);
ALTER TABLE tab ADD SPATIAL KEY idx3(c3 DESC);
ALTER TABLE tab ADD SPATIAL KEY idx3(c3);
ALTER TABLE tab ADD SPATIAL INDEX idx4(c4 ASC) COMMENT 'testing spatial index on Polygon';
ALTER TABLE tab ADD SPATIAL INDEX idx4(c4) COMMENT 'testing spatial index on Polygon';
ALTER TABLE tab ADD SPATIAL KEY idx5(c5 ASC) COMMENT 'testing spatial index on Geometry';
ALTER TABLE tab ADD SPATIAL KEY idx5(c5) COMMENT 'testing spatial index on Geometry';
ALTER TABLE tab ADD INDEX idx6(c4(10)) USING BTREE;
@@ -656,9 +656,9 @@ CREATE TABLE parent (id POINT, PRIMARY KEY(id)) ENGINE=InnoDB;
CREATE TABLE child (id GEOMETRY NOT NULL, parent_id POINT NOT NULL) ENGINE=InnoDB;
--enable_info
ALTER TABLE parent ADD SPATIAL INDEX idx1(id ASC);
ALTER TABLE parent ADD SPATIAL INDEX idx1(id);
ALTER TABLE child ADD SPATIAL INDEX idx2(parent_id ASC);
ALTER TABLE child ADD SPATIAL INDEX idx2(parent_id);
--disable_info
SHOW CREATE TABLE parent;
@@ -689,9 +689,9 @@ CREATE TABLE parent (id GEOMETRY, PRIMARY KEY(id(10))) ENGINE=InnoDB;
CREATE TABLE child (id GEOMETRY NOT NULL, parent_id GEOMETRY NOT NULL) ENGINE=InnoDB;
--enable_info
ALTER TABLE parent ADD SPATIAL INDEX idx1(id ASC) ;
ALTER TABLE parent ADD SPATIAL INDEX idx1(id) ;
ALTER TABLE child ADD SPATIAL INDEX idx2(parent_id ASC);
ALTER TABLE child ADD SPATIAL INDEX idx2(parent_id);
--disable_info
SHOW CREATE TABLE parent;