show create procedure mysql.AddGeometryColumn; Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation AddGeometryColumn CREATE DEFINER=`mariadb.sys`@`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=`mariadb.sys`@`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; connect foo, localhost, foo; call mysql.AddGeometryColumn('', 'mysql', 'proc', 'c', 10); ERROR 42000: ALTER command denied to user 'foo'@'localhost' for table 'proc' disconnect foo; connection default; drop user foo@localhost;