Commit f1109b47 authored by Sergei Golubchik's avatar Sergei Golubchik

cleanup: generalize ER_SPATIAL_CANT_HAVE_NULL

parent 7bb67271
......@@ -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_KEY_COLUMN_DOES_NOT_EXITS ER_KEY_COLUMN_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 {
struct st_mysql_rows *next; /* list of rows */
......
......@@ -235,10 +235,10 @@ CREATE TABLE t (a TEXT, b TEXT GENERATED ALWAYS AS (a));
ALTER TABLE t ADD FULLTEXT INDEX (b);
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));
--error ER_SPATIAL_CANT_HAVE_NULL
--error ER_INDEX_CANNOT_HAVE_NULL
ALTER TABLE t ADD SPATIAL INDEX (b);
DROP TABLE t;
......@@ -527,7 +527,7 @@ SHOW CREATE TABLE t1;
DROP TABLE t1;
# 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));
--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);
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;
--error ER_SPATIAL_CANT_HAVE_NULL
--error ER_INDEX_CANNOT_HAVE_NULL
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;
--error ER_SPATIAL_CANT_HAVE_NULL
--error ER_INDEX_CANNOT_HAVE_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;
--error ER_SPATIAL_CANT_HAVE_NULL
--error ER_INDEX_CANNOT_HAVE_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;
--error ER_SPATIAL_CANT_HAVE_NULL
--error ER_INDEX_CANNOT_HAVE_NULL
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;
# --error ER_SPATIAL_MUST_HAVE_GEOM_COL
......@@ -716,7 +716,7 @@ create table t1 (c1 int) engine=innodb;
insert into t1 values(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;
# Add spatial index fail, since there's invalid geo data.
......@@ -736,7 +736,7 @@ create table t1 (c1 int) engine=innodb;
insert into t1 values(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;
# 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)');
SELECT ST_AsText(p1) FROM t1;
--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);
SELECT c.name, c.mtype, c.prtype, c.len
FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c
......@@ -176,7 +176,7 @@ UPDATE t1 SET p1 = ST_PointFromText('POINT(5 5)');
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;
SELECT c.name, c.mtype, c.prtype, c.len
FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c
......
......@@ -94,7 +94,7 @@ drop table t1;
if (!$skip_spatial_index_check)
{
--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 int as (a+1) persistent);
--error ER_WRONG_ARGUMENTS
......
......@@ -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"
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"
ER_SPATIAL_CANT_HAVE_NULL 42000
chi "SPATIAL索引的所有部分必须不为null"
eng "All parts of a SPATIAL index must be NOT NULL"
ger "Alle Teile eines SPATIAL-Index müssen als NOT NULL deklariert sein"
geo "SPATIAL ინდექსის ყველა ნაწილი NOT NULL უნდა იყოს"
jpn "空間索引のキー列は NOT NULL でなければいけません。"
nla "Alle delete van een SPATIAL index dienen als NOT NULL gedeclareerd te worden"
por "Todas as partes de uma SPATIAL index devem ser NOT NULL"
spa "Todas las partes de un índice SPATIAL deben de ser NOT NULL"
sw "Sehemu zote za faharisi ya SPATIAL lazima ziwe NOT NULL"
swe "Alla delar av en SPATIAL index måste vara NOT NULL"
ER_INDEX_CANNOT_HAVE_NULL 42000
chi "%s索引的所有部分必须不为null"
eng "All parts of a %s index must be NOT NULL"
ger "Alle Teile eines %s-Index müssen als NOT NULL deklariert sein"
geo "%s ინდექსის ყველა ნაწილი NOT NULL უნდა იყოს"
nla "Alle delete van een %s index dienen als NOT NULL gedeclareerd te worden"
por "Todas as partes de uma %s index devem ser NOT NULL"
spa "Todas las partes de un índice %s deben de ser NOT NULL"
sw "Sehemu zote za faharisi ya %s lazima ziwe NOT NULL"
swe "Alla delar av en %s index måste vara NOT NULL"
ER_COLLATION_CHARSET_MISMATCH 42000
chi "COLLATION'%s'无效地用于字符集'%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,
DBUG_RETURN(TRUE);
if (!(sql_field->flags & NOT_NULL_FLAG))
{
my_message(ER_SPATIAL_CANT_HAVE_NULL,
ER_THD(thd, ER_SPATIAL_CANT_HAVE_NULL), MYF(0));
my_error(ER_INDEX_CANNOT_HAVE_NULL, MYF(0), "SPATIAL");
DBUG_RETURN(TRUE);
}
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