filter sdo_geo in proxy && ps mode gis bugfix && 42x bugfix patch

This commit is contained in:
wu-xingying
2024-04-15 15:56:18 +00:00
committed by ob-robot
parent 89076de1ab
commit 7de9106ec9
9 changed files with 138 additions and 56 deletions

View File

@ -35,11 +35,11 @@ ERROR HY000: The SRID of the geometry does not match the SRID of the column. The
# Try to alter the SRID of the columns, which should fail for all columns
# now since they already contain data.
ALTER TABLE t1 CHANGE COLUMN no_srid no_srid POINT SRID 0 DEFAULT NULL;
ERROR 0A000: not support alter srid not supported
ERROR 0A000: alter geometry srid not supported
ALTER TABLE t1 CHANGE COLUMN srid_0 srid_0 POINT SRID 4326 DEFAULT NULL;
ERROR 0A000: not support alter srid not supported
ERROR 0A000: alter geometry srid not supported
ALTER TABLE t1 CHANGE COLUMN srid_4326 srid_4326 POINT SRID 0 DEFAULT NULL;
ERROR 0A000: not support alter srid not supported
ERROR 0A000: alter geometry srid not supported
# Removing the SRID specification from a column should work just fine.
# Setting the SRID to a non-existing SRID should not work.
ALTER TABLE t1 CHANGE COLUMN srid_4326 srid_1 POINT SRID 1 DEFAULT NULL;
@ -63,9 +63,9 @@ INSERT INTO t1 VALUES (ST_GeomFromText('POINT(1 1)', 4326)),
(ST_GeomFromText('POINT(5 5)', 4326)),
(ST_GeomFromText('POINT(6 6)', 0));
ALTER TABLE t1 CHANGE COLUMN col1 col1 POINT SRID 4326;
ERROR 0A000: not support alter srid not supported
ERROR 0A000: alter geometry srid not supported
ALTER TABLE t1 CHANGE COLUMN col1 col1 POINT SRID 4326;
ERROR 0A000: not support alter srid not supported
ERROR 0A000: alter geometry srid not supported
DROP TABLE t1;
# Creating a column with SRID property on a MyISAM table should only
# be supported if the SRID represents a cartesian coordinate system.
@ -221,25 +221,25 @@ t1 CREATE TABLE `t1` (
SPATIAL KEY `idx1` (`col1`) BLOCK_SIZE 16384 LOCAL
) DEFAULT CHARSET = utf8mb4 COMPRESSION = 'lz4_1.0' REPLICA_NUM = NUM BLOCK_SIZE = SIZE USE_BLOOM_FILTER = FALSE TABLET_SIZE = SIZE PCTFREE = 10
ALTER TABLE t1 CHANGE COLUMN col1 col1 POINT NOT NULL SRID 0;
ERROR 0A000: not support alter srid not supported
ERROR 0A000: alter geometry srid not supported
ALTER TABLE t1 CHANGE COLUMN col1 col1 POINT NOT NULL;
ERROR 0A000: not support alter srid not supported
ERROR 0A000: alter geometry srid not supported
ALTER TABLE t1 CHANGE COLUMN col1 col1 POINT NOT NULL SRID 0;
ERROR 0A000: not support alter srid not supported
ERROR 0A000: alter geometry srid not supported
ALTER TABLE t1 CHANGE COLUMN col1 col1 POINT NOT NULL;
ERROR 0A000: not support alter srid not supported
ERROR 0A000: alter geometry srid not supported
ALTER TABLE t1 CHANGE COLUMN col1 col1 POINT NOT NULL SRID 0;
ERROR 0A000: not support alter srid not supported
ERROR 0A000: alter geometry srid not supported
ALTER TABLE t1 CHANGE COLUMN col1 col1 POINT NOT NULL;
ERROR 0A000: not support alter srid not supported
ERROR 0A000: alter geometry srid not supported
ALTER TABLE t1 CHANGE COLUMN col1 col1 POINT NOT NULL SRID 0;
ERROR 0A000: not support alter srid not supported
ERROR 0A000: alter geometry srid not supported
ALTER TABLE t1 CHANGE COLUMN col1 col1 POINT NOT NULL;
ERROR 0A000: not support alter srid not supported
ERROR 0A000: alter geometry srid not supported
ALTER TABLE t1 CHANGE COLUMN col1 col2 POINT NOT NULL SRID 0;
ERROR 0A000: not support alter srid not supported
ERROR 0A000: alter geometry srid not supported
ALTER TABLE t1 CHANGE COLUMN col1 col2 POINT NOT NULL;
ERROR 0A000: not support alter srid not supported
ERROR 0A000: alter geometry srid not supported
DROP TABLE t1;
#
# Bug#26594499 WL#8592: CANNOT GET GEOMETRY OBJECT ERROR
@ -401,11 +401,11 @@ ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
alter table test change p p1 MULTIPOINT;
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field.
alter table test modify p POINT SRID 0;
ERROR 0A000: Modify geometry srid not supported
ERROR 0A000: alter geometry srid not supported
alter table test change p p1 point srid 0;
ERROR 0A000: not support alter srid not supported
ERROR 0A000: alter geometry srid not supported
alter table test change p p1 point;
ERROR 0A000: not support alter srid not supported
ERROR 0A000: alter geometry srid not supported
alter table test change p p1 point srid 4326;
desc test;
Field Type Null Key Default Extra
@ -614,3 +614,27 @@ desc geo_t1;
Field Type Null Key Default Extra
centroid point YES NULL
drop table geo_t1;
drop table if exists t1;
CREATE TABLE `t1` (
`a` int(10) unsigned NOT NULL,
`b` varchar(19) DEFAULT NULL);
ALTER TABLE t1 ADD COLUMN p2 POINT, ADD KEY(p2);
ERROR 42000: All parts of a SPATIAL index must be NOT NULL.
ALTER TABLE t1 ADD COLUMN p2 POINT, ADD KEY(P2);
ERROR 42000: All parts of a SPATIAL index must be NOT NULL.
ALTER TABLE t1 ADD COLUMN p2 int, ADD KEY(p2);
drop table t1;
bugfix: 56020142
drop table if exists test_wrong_table;
set binlog_row_image='MINIMAL';
CREATE TABLE `test_wrong_table` (
`id` int(32) NOT NULL auto_increment,
`the_geom` polygon NOT NULL /*!80003 SRID 4326 */,
PRIMARY KEY (`id`),
SPATIAL KEY `test_wrong_idx` (`the_geom`) BLOCK_SIZE 16384 LOCAL
);
INSERT INTO test_wrong_table (id, the_geom) VALUES (21, st_geomfromtext('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))',4326,'axis-order=lat-long'));
ALTER TABLE test_wrong_table MODIFY COLUMN the_geom varbinary(200) NOT NULL;
ERROR 42000: A SPATIAL index may only contain a geometrical type column.
DELETE FROM test_wrong_table;
drop table test_wrong_table;

View File

@ -771,3 +771,32 @@ drop table if exists geo_t1;
create table geo_t1 as select ST_Centroid(ST_geomfromtext('POLYGON((121.474243 31.234504, 121.471775 31.233348, 121.470724 31.23155, 121.471603 31.230229, 121.472655 31.230357, 121.475777 31.232045, 121.474243 31.234504))')) centroid ;
desc geo_t1;
drop table geo_t1;
# bugfix: 56075340
--disable_warnings
drop table if exists t1;
CREATE TABLE `t1` (
`a` int(10) unsigned NOT NULL,
`b` varchar(19) DEFAULT NULL);
--error 1252
ALTER TABLE t1 ADD COLUMN p2 POINT, ADD KEY(p2);
--error 1252
ALTER TABLE t1 ADD COLUMN p2 POINT, ADD KEY(P2);
ALTER TABLE t1 ADD COLUMN p2 int, ADD KEY(p2);
drop table t1;
--echo bugfix: 56020142
drop table if exists test_wrong_table;
set binlog_row_image='MINIMAL';
CREATE TABLE `test_wrong_table` (
`id` int(32) NOT NULL auto_increment,
`the_geom` polygon NOT NULL /*!80003 SRID 4326 */,
PRIMARY KEY (`id`),
SPATIAL KEY `test_wrong_idx` (`the_geom`) BLOCK_SIZE 16384 LOCAL
);
INSERT INTO test_wrong_table (id, the_geom) VALUES (21, st_geomfromtext('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))',4326,'axis-order=lat-long'));
--error 1687
ALTER TABLE test_wrong_table MODIFY COLUMN the_geom varbinary(200) NOT NULL;
DELETE FROM test_wrong_table;
drop table test_wrong_table;