Commit c3a479b2 authored by Sergei Golubchik's avatar Sergei Golubchik

cleanup: generalize ER_SPATIAL_CANT_HAVE_NULL

parent 94e1ce28
...@@ -143,6 +143,7 @@ typedef unsigned long long my_ulonglong; ...@@ -143,6 +143,7 @@ typedef unsigned long long my_ulonglong;
#define ER_UNSUPPORTED_ENGINE_FOR_VIRTUAL_COLUMNS ER_UNSUPPORTED_ENGINE_FOR_GENERATED_COLUMNS #define ER_UNSUPPORTED_ENGINE_FOR_VIRTUAL_COLUMNS ER_UNSUPPORTED_ENGINE_FOR_GENERATED_COLUMNS
#define ER_KEY_COLUMN_DOES_NOT_EXITS ER_KEY_COLUMN_DOES_NOT_EXIST #define ER_KEY_COLUMN_DOES_NOT_EXITS ER_KEY_COLUMN_DOES_NOT_EXIST
#define ER_DROP_PARTITION_NON_EXISTENT ER_PARTITION_DOES_NOT_EXIST #define ER_DROP_PARTITION_NON_EXISTENT ER_PARTITION_DOES_NOT_EXIST
#define ER_SPATIAL_CANT_HAVE_NULL ER_INDEX_CANNOT_HAVE_NULL
typedef struct st_mysql_rows { typedef struct st_mysql_rows {
struct st_mysql_rows *next; /* list of rows */ struct st_mysql_rows *next; /* list of rows */
......
...@@ -235,10 +235,10 @@ CREATE TABLE t (a TEXT, b TEXT GENERATED ALWAYS AS (a)); ...@@ -235,10 +235,10 @@ CREATE TABLE t (a TEXT, b TEXT GENERATED ALWAYS AS (a));
ALTER TABLE t ADD FULLTEXT INDEX (b); ALTER TABLE t ADD FULLTEXT INDEX (b);
DROP TABLE t; DROP TABLE t;
--error ER_SPATIAL_CANT_HAVE_NULL --error ER_INDEX_CANNOT_HAVE_NULL
CREATE TABLE t (a geometry not null, b geometry GENERATED ALWAYS AS (a), spatial INDEX idx (b)); CREATE TABLE t (a geometry not null, b geometry GENERATED ALWAYS AS (a), spatial INDEX idx (b));
CREATE TABLE t (a geometry not null, b geometry GENERATED ALWAYS AS (a)); CREATE TABLE t (a geometry not null, b geometry GENERATED ALWAYS AS (a));
--error ER_SPATIAL_CANT_HAVE_NULL --error ER_INDEX_CANNOT_HAVE_NULL
ALTER TABLE t ADD SPATIAL INDEX (b); ALTER TABLE t ADD SPATIAL INDEX (b);
DROP TABLE t; DROP TABLE t;
...@@ -527,7 +527,7 @@ SHOW CREATE TABLE t1; ...@@ -527,7 +527,7 @@ SHOW CREATE TABLE t1;
DROP TABLE t1; DROP TABLE t1;
# No spatial and FTS index on virtual columns # No spatial and FTS index on virtual columns
--error ER_SPATIAL_CANT_HAVE_NULL --error ER_INDEX_CANNOT_HAVE_NULL
CREATE TABLE t (a INT, b INT GENERATED ALWAYS AS (a), c point, d point GENERATED ALWAYS AS (c), spatial index idx (d)); CREATE TABLE t (a INT, b INT GENERATED ALWAYS AS (a), c point, d point GENERATED ALWAYS AS (c), spatial index idx (d));
--error ER_UNSUPPORTED_ACTION_ON_GENERATED_COLUMN --error ER_UNSUPPORTED_ACTION_ON_GENERATED_COLUMN
......
...@@ -134,31 +134,31 @@ SELECT c1,ST_AsText(c2),ST_AsText(c4) FROM tab WHERE MBRWithin(tab.c4, @g1); ...@@ -134,31 +134,31 @@ SELECT c1,ST_AsText(c2),ST_AsText(c4) FROM tab WHERE MBRWithin(tab.c4, @g1);
DELETE FROM tab WHERE MBRWithin(tab.c4, @g1); DELETE FROM tab WHERE MBRWithin(tab.c4, @g1);
--error ER_SPATIAL_CANT_HAVE_NULL --error ER_INDEX_CANNOT_HAVE_NULL
ALTER TABLE tab MODIFY COLUMN c2 MULTIPOINT; ALTER TABLE tab MODIFY COLUMN c2 MULTIPOINT;
--error ER_SPATIAL_CANT_HAVE_NULL --error ER_INDEX_CANNOT_HAVE_NULL
ALTER TABLE tab MODIFY COLUMN c3 MULTILINESTRING; ALTER TABLE tab MODIFY COLUMN c3 MULTILINESTRING;
--error ER_SPATIAL_CANT_HAVE_NULL --error ER_INDEX_CANNOT_HAVE_NULL
ALTER TABLE tab MODIFY COLUMN c4 MULTIPOLYGON; ALTER TABLE tab MODIFY COLUMN c4 MULTIPOLYGON;
--error ER_SPATIAL_CANT_HAVE_NULL --error ER_INDEX_CANNOT_HAVE_NULL
ALTER TABLE tab MODIFY COLUMN c3 MULTILINESTRING NULL; ALTER TABLE tab MODIFY COLUMN c3 MULTILINESTRING NULL;
--error ER_SPATIAL_CANT_HAVE_NULL --error ER_INDEX_CANNOT_HAVE_NULL
ALTER TABLE tab MODIFY COLUMN c4 MULTIPOLYGON NULL; ALTER TABLE tab MODIFY COLUMN c4 MULTIPOLYGON NULL;
--error ER_SPATIAL_CANT_HAVE_NULL --error ER_INDEX_CANNOT_HAVE_NULL
ALTER TABLE tab MODIFY COLUMN c4 Geometry NULL; ALTER TABLE tab MODIFY COLUMN c4 Geometry NULL;
--error ER_SPATIAL_CANT_HAVE_NULL --error ER_INDEX_CANNOT_HAVE_NULL
ALTER TABLE tab CHANGE COLUMN c2 c22 POINT; ALTER TABLE tab CHANGE COLUMN c2 c22 POINT;
--error ER_SPATIAL_CANT_HAVE_NULL --error ER_INDEX_CANNOT_HAVE_NULL
ALTER TABLE tab CHANGE COLUMN c3 c33 LINESTRING; ALTER TABLE tab CHANGE COLUMN c3 c33 LINESTRING;
--error ER_SPATIAL_CANT_HAVE_NULL --error ER_INDEX_CANNOT_HAVE_NULL
ALTER TABLE tab CHANGE COLUMN c4 c44 POLYGON; ALTER TABLE tab CHANGE COLUMN c4 c44 POLYGON;
# --error ER_SPATIAL_MUST_HAVE_GEOM_COL # --error ER_SPATIAL_MUST_HAVE_GEOM_COL
...@@ -716,7 +716,7 @@ create table t1 (c1 int) engine=innodb; ...@@ -716,7 +716,7 @@ create table t1 (c1 int) engine=innodb;
insert into t1 values(NULL); insert into t1 values(NULL);
# Add spatial index fail, since geometry column can't be null. # Add spatial index fail, since geometry column can't be null.
--error ER_SPATIAL_CANT_HAVE_NULL --error ER_INDEX_CANNOT_HAVE_NULL
alter table t1 add b geometry, add spatial index(b), algorithm=inplace; alter table t1 add b geometry, add spatial index(b), algorithm=inplace;
# Add spatial index fail, since there's invalid geo data. # Add spatial index fail, since there's invalid geo data.
...@@ -736,7 +736,7 @@ create table t1 (c1 int) engine=innodb; ...@@ -736,7 +736,7 @@ create table t1 (c1 int) engine=innodb;
insert into t1 values(NULL); insert into t1 values(NULL);
# Add spatial index fail, since geometry column can't be null. # Add spatial index fail, since geometry column can't be null.
--error ER_SPATIAL_CANT_HAVE_NULL --error ER_INDEX_CANNOT_HAVE_NULL
alter table t1 add b geometry, add spatial index(b), algorithm=copy; alter table t1 add b geometry, add spatial index(b), algorithm=copy;
# Add spatial index fail, since there's a NULL or invalid geo data. # Add spatial index fail, since there's a NULL or invalid geo data.
......
...@@ -107,7 +107,7 @@ DELETE FROM t1 WHERE p1 = ST_PointFromText('POINT(10 19)'); ...@@ -107,7 +107,7 @@ DELETE FROM t1 WHERE p1 = ST_PointFromText('POINT(10 19)');
SELECT ST_AsText(p1) FROM t1; SELECT ST_AsText(p1) FROM t1;
--echo # Add spatial keys on the table --echo # Add spatial keys on the table
--error ER_SPATIAL_CANT_HAVE_NULL --error ER_INDEX_CANNOT_HAVE_NULL
ALTER TABLE t1 ADD SPATIAL(p), ADD SPATIAL(p1); ALTER TABLE t1 ADD SPATIAL(p), ADD SPATIAL(p1);
SELECT c.name, c.mtype, c.prtype, c.len SELECT c.name, c.mtype, c.prtype, c.len
FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c
...@@ -176,7 +176,7 @@ UPDATE t1 SET p1 = ST_PointFromText('POINT(5 5)'); ...@@ -176,7 +176,7 @@ UPDATE t1 SET p1 = ST_PointFromText('POINT(5 5)');
SELECT ST_AsText(pp), ST_AsText(p1) FROM t1; SELECT ST_AsText(pp), ST_AsText(p1) FROM t1;
--error ER_SPATIAL_CANT_HAVE_NULL --error ER_INDEX_CANNOT_HAVE_NULL
ALTER TABLE t1 ADD SPATIAL(p1), ADD SPATIAL(pp), ALGORITHM = COPY; ALTER TABLE t1 ADD SPATIAL(p1), ADD SPATIAL(pp), ALGORITHM = COPY;
SELECT c.name, c.mtype, c.prtype, c.len SELECT c.name, c.mtype, c.prtype, c.len
FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c
......
...@@ -92,7 +92,7 @@ drop table t1; ...@@ -92,7 +92,7 @@ drop table t1;
if (!$skip_spatial_index_check) if (!$skip_spatial_index_check)
{ {
--echo # Error "All parts of a SPATIAL index must be NOT NULL" --echo # Error "All parts of a SPATIAL index must be NOT NULL"
--error ER_SPATIAL_CANT_HAVE_NULL --error ER_INDEX_CANNOT_HAVE_NULL
create table t1 (a int, b geometry as (a+1) persistent, spatial index (b)); create table t1 (a int, b geometry as (a+1) persistent, spatial index (b));
create table t1 (a int, b int as (a+1) persistent); create table t1 (a int, b int as (a+1) persistent);
--error ER_WRONG_ARGUMENTS --error ER_WRONG_ARGUMENTS
......
...@@ -5642,17 +5642,16 @@ ER_NOT_SUPPORTED_AUTH_MODE 08004 ...@@ -5642,17 +5642,16 @@ ER_NOT_SUPPORTED_AUTH_MODE 08004
spa "El cliente no soporta protocolo de autenticación requerido por el servidor; considere mejorar el cliente MariaDB" spa "El cliente no soporta protocolo de autenticación requerido por el servidor; considere mejorar el cliente MariaDB"
sw "Mteja haungi mkono itifaki ya uthibitishaji iliyoombwa na seva; fikiria kuboresha mteja wa MariaDB" sw "Mteja haungi mkono itifaki ya uthibitishaji iliyoombwa na seva; fikiria kuboresha mteja wa MariaDB"
swe "Klienten stöder inte autentiseringsprotokollet som begärts av servern; överväg uppgradering av klientprogrammet" swe "Klienten stöder inte autentiseringsprotokollet som begärts av servern; överväg uppgradering av klientprogrammet"
ER_SPATIAL_CANT_HAVE_NULL 42000 ER_INDEX_CANNOT_HAVE_NULL 42000
chi "SPATIAL索引的所有部分必须不为null" chi "%s索引的所有部分必须不为null"
eng "All parts of a SPATIAL index must be NOT NULL" eng "All parts of a %s index must be NOT NULL"
ger "Alle Teile eines SPATIAL-Index müssen als NOT NULL deklariert sein" ger "Alle Teile eines %s-Index müssen als NOT NULL deklariert sein"
geo "SPATIAL ინდექსის ყველა ნაწილი NOT NULL უნდა იყოს" geo "%s ინდექსის ყველა ნაწილი NOT NULL უნდა იყოს"
jpn "空間索引のキー列は NOT NULL でなければいけません。" nla "Alle delete van een %s index dienen als NOT NULL gedeclareerd te worden"
nla "Alle delete van een SPATIAL index dienen als NOT NULL gedeclareerd te worden" por "Todas as partes de uma %s index devem ser NOT NULL"
por "Todas as partes de uma SPATIAL index devem ser NOT NULL" spa "Todas las partes de un índice %s deben de ser NOT NULL"
spa "Todas las partes de un índice SPATIAL deben de ser NOT NULL" sw "Sehemu zote za faharisi ya %s lazima ziwe NOT NULL"
sw "Sehemu zote za faharisi ya SPATIAL lazima ziwe NOT NULL" swe "Alla delar av en %s index måste vara NOT NULL"
swe "Alla delar av en SPATIAL index måste vara NOT NULL"
ER_COLLATION_CHARSET_MISMATCH 42000 ER_COLLATION_CHARSET_MISMATCH 42000
chi "COLLATION'%s'无效地用于字符集'%s'" chi "COLLATION'%s'无效地用于字符集'%s'"
eng "COLLATION '%s' is not valid for CHARACTER SET '%s'" eng "COLLATION '%s' is not valid for CHARACTER SET '%s'"
......
...@@ -3302,8 +3302,7 @@ mysql_prepare_create_table_finalize(THD *thd, HA_CREATE_INFO *create_info, ...@@ -3302,8 +3302,7 @@ mysql_prepare_create_table_finalize(THD *thd, HA_CREATE_INFO *create_info,
DBUG_RETURN(TRUE); DBUG_RETURN(TRUE);
if (!(sql_field->flags & NOT_NULL_FLAG)) if (!(sql_field->flags & NOT_NULL_FLAG))
{ {
my_message(ER_SPATIAL_CANT_HAVE_NULL, my_error(ER_INDEX_CANNOT_HAVE_NULL, MYF(0), "SPATIAL");
ER_THD(thd, ER_SPATIAL_CANT_HAVE_NULL), MYF(0));
DBUG_RETURN(TRUE); DBUG_RETURN(TRUE);
} }
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment