Commit 38850995 authored by Sergei Golubchik's avatar Sergei Golubchik

tests for AddGeometryColumn and DropGeometryColumn

parent 2a6f00ed
...@@ -3210,6 +3210,10 @@ sub mysql_install_db { ...@@ -3210,6 +3210,10 @@ sub mysql_install_db {
mtr_appendfile_to_file("$sql_dir/mysql_system_tables.sql", mtr_appendfile_to_file("$sql_dir/mysql_system_tables.sql",
$bootstrap_sql_file); $bootstrap_sql_file);
my $gis_sp_path = $source_dist ? "$bindir/scripts" : $sql_dir;
mtr_appendfile_to_file("$gis_sp_path/maria_add_gis_sp_bootstrap.sql",
$bootstrap_sql_file);
# Add the performance tables # Add the performance tables
# for a production system # for a production system
mtr_appendfile_to_file("$sql_dir/mysql_performance_tables.sql", mtr_appendfile_to_file("$sql_dir/mysql_performance_tables.sql",
......
...@@ -12,3 +12,45 @@ WHERE ST_Contains(point_data, GeomFromText('Point(38.0248492 23.8512726)')); ...@@ -12,3 +12,45 @@ WHERE ST_Contains(point_data, GeomFromText('Point(38.0248492 23.8512726)'));
id id
2 2
DROP TABLE t1; DROP TABLE t1;
show create procedure mysql.AddGeometryColumn;
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
AddGeometryColumn CREATE DEFINER=`root`@`localhost` PROCEDURE `AddGeometryColumn`(catalog varchar(64), t_schema varchar(64),
t_name varchar(64), geometry_column varchar(64), t_srid int)
SQL SECURITY INVOKER
begin
set @qwe= concat('ALTER TABLE ', t_schema, '.', t_name, ' ADD ', geometry_column,' GEOMETRY REF_SYSTEM_ID=', t_srid); PREPARE ls from @qwe; execute ls; deallocate prepare ls; end latin1 latin1_swedish_ci latin1_swedish_ci
show create procedure mysql.DropGeometryColumn;
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
DropGeometryColumn CREATE DEFINER=`root`@`localhost` PROCEDURE `DropGeometryColumn`(catalog varchar(64), t_schema varchar(64),
t_name varchar(64), geometry_column varchar(64))
SQL SECURITY INVOKER
begin
set @qwe= concat('ALTER TABLE ', t_schema, '.', t_name, ' DROP ', geometry_column); PREPARE ls from @qwe; execute ls; deallocate prepare ls; end latin1 latin1_swedish_ci latin1_swedish_ci
create table t1 (a int, b int);
call mysql.AddGeometryColumn('', 'test', 't1', 'c', 10);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`b` int(11) DEFAULT NULL,
`c` geometry DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
call mysql.DropGeometryColumn('', 'test', 't1', 'c');
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`b` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
call mysql.DropGeometryColumn('', 'test', 't1', 'b');
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create user foo@localhost;
grant execute on mysql.* to foo@localhost;
call mysql.AddGeometryColumn('', 'mysql', 'proc', 'c', 10);
ERROR 42000: ALTER command denied to user 'foo'@'localhost' for table 'proc'
drop user foo@localhost;
...@@ -15,3 +15,26 @@ SELECT id FROM t1 ...@@ -15,3 +15,26 @@ SELECT id FROM t1
WHERE ST_Contains(point_data, GeomFromText('Point(38.0248492 23.8512726)')); WHERE ST_Contains(point_data, GeomFromText('Point(38.0248492 23.8512726)'));
DROP TABLE t1; DROP TABLE t1;
#
# MDEV-60 Support for Spatial Reference systems for the GIS data.
#
show create procedure mysql.AddGeometryColumn;
show create procedure mysql.DropGeometryColumn;
create table t1 (a int, b int);
call mysql.AddGeometryColumn('', 'test', 't1', 'c', 10);
show create table t1;
call mysql.DropGeometryColumn('', 'test', 't1', 'c');
show create table t1;
call mysql.DropGeometryColumn('', 'test', 't1', 'b');
show create table t1;
drop table t1;
create user foo@localhost;
grant execute on mysql.* to foo@localhost;
connect (foo, localhost, foo);
--error ER_TABLEACCESS_DENIED_ERROR
call mysql.AddGeometryColumn('', 'mysql', 'proc', 'c', 10);
disconnect foo;
connection default;
drop user foo@localhost;
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