############################################################################# # # The aim of this test case is to test the new column property/constraint # on geometry columns which allows to specify the SRID. # # E.g: CREATE TABLE t1(c1 GEOMETRY SRID 4326, c2 POINT SRID 0 NOT NULL); # # The following scenarios are tested : # # 1. Test that the column with SRID property on a MyISAM table should # only be supported if the SRID represents a cartesian coordinate # system. # # Creation date: 2017-08-03 # Author: Pavan Naik # ############################################################################# # Skip the test case on group replication runs since it uses # MyISAM engine tables. --source include/force_myisam_default.inc --source include/have_myisam.inc --source include/not_group_replication_plugin.inc --source include/master-slave.inc --echo # Column with SRID property on a MyISAM table should only be --echo # supported if the SRID represents a cartesian coordinate system. --echo [Connection Master] --connection master --error ER_CHECK_NOT_IMPLEMENTED CREATE TABLE t1 (col1 POINT, col2 POINT SRID 4326) ENGINE = MyISAM; CREATE TABLE t1 (col1 POINT, col2 POINT SRID 2000) ENGINE = MyISAM; INSERT INTO t1(col1, col2) VALUES (ST_GeomFromText('POINT(0 0)'), ST_GeomFromText('POINT(0 0)', 2000)); INSERT INTO t1(col1, col2) VALUES (ST_GeomFromText('POINT(1 1)', 2000), ST_GeomFromText('POINT(1 1)', 2000)); --source include/sync_slave_sql_with_master.inc --echo [Connection Slave] --let $diff_tables = master:t1, slave:t1 --source include/diff_tables.inc SELECT * FROM INFORMATION_SCHEMA.ST_GEOMETRY_COLUMNS; SELECT ST_SRID(col1) AS no_srid, ST_SRID(col2) AS srid_2000 FROM t1; --echo [Connection Master] --connection master DELETE FROM t1; ALTER TABLE t1 CHANGE COLUMN col1 col1 POINT SRID 2000; ALTER TABLE t1 CHANGE COLUMN col2 col2 POINT SRID 0; INSERT INTO t1(col1, col2) VALUES (ST_GeomFromText('POINT(0 0)', 2000), ST_GeomFromText('POINT(0 0)', 0)); INSERT INTO t1(col1, col2) VALUES (ST_GeomFromText('POINT(1 1)', 2000), ST_GeomFromText('POINT(1 1)', 0)); SELECT * FROM INFORMATION_SCHEMA.ST_GEOMETRY_COLUMNS; --source include/sync_slave_sql_with_master.inc --echo [Connection Slave] --let $diff_tables = master:t1, slave:t1 --source include/diff_tables.inc SELECT * FROM INFORMATION_SCHEMA.ST_GEOMETRY_COLUMNS; SELECT ST_SRID(col1) AS srid_2000, ST_SRID(col2) AS srid_0 FROM t1; --echo [Connection Master] --connection master --echo # Cleanup DROP TABLE t1; --source include/sync_slave_sql_with_master.inc --source include/rpl_end.inc