polardbxengine/mysql-test/suite/rpl/t/rpl_gis_ddl_myisam.test

92 lines
2.6 KiB
Plaintext

#############################################################################
#
# 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