mirror of
https://github.com/MariaDB/server.git
synced 2025-03-25 00:18:42 +01:00
cleanup: generalize ER_SPATIAL_CANT_HAVE_NULL
This commit is contained in:
parent
356baeea4b
commit
fd69abe44f
7 changed files with 29 additions and 30 deletions
include
mysql-test/suite
gcol/t
innodb_gis/t
vcol/inc
sql
|
@ -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;
|
||||
|
|
Loading…
Add table
Reference in a new issue