mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
0253ea7f22
Also fixes: MDEV-21487: Implement option for mysql_upgrade that allows root@localhost to be replaced MDEV-21486: Implement option for mysql_install_db that allows root@localhost to be replaced Add user mariadb.sys to be definer of user view (and has right on underlying table global_priv for required operation over global_priv (SELECT,UPDATE,DELETE)) Also changed definer of gis functions in case of creation, but they work with any definer so upgrade script do not try to push this change.
45 lines
2.1 KiB
Text
45 lines
2.1 KiB
Text
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;
|