mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-12133 sql_mode=ORACLE: table%ROWTYPE in variable declarations
This commit is contained in:
@ -63,6 +63,16 @@ $$
|
||||
CALL p1;
|
||||
ERROR 42000: SELECT command denied to user 'user1'@'localhost' for table 't1'
|
||||
DROP PROCEDURE p1;
|
||||
CREATE PROCEDURE p1()
|
||||
AS
|
||||
a db1.t1%ROWTYPE;
|
||||
BEGIN
|
||||
SELECT a.a;
|
||||
END;
|
||||
$$
|
||||
CALL p1;
|
||||
ERROR 42000: SELECT command denied to user 'user1'@'localhost' for table 't1'
|
||||
DROP PROCEDURE p1;
|
||||
#
|
||||
# Stored procedure: Using %TYPE for with a table that we don't have access to
|
||||
# DEFINER root, SQL SECURITY INVOKER
|
||||
@ -80,6 +90,19 @@ connection conn1;
|
||||
CALL p1;
|
||||
ERROR 42000: SELECT command denied to user 'user1'@'localhost' for table 't1'
|
||||
DROP PROCEDURE p1;
|
||||
connection default;
|
||||
CREATE PROCEDURE p1()
|
||||
SQL SECURITY INVOKER
|
||||
AS
|
||||
a db1.t1%ROWTYPE;
|
||||
BEGIN
|
||||
SELECT a.a;
|
||||
END;
|
||||
$$
|
||||
connection conn1;
|
||||
CALL p1;
|
||||
ERROR 42000: SELECT command denied to user 'user1'@'localhost' for table 't1'
|
||||
DROP PROCEDURE p1;
|
||||
#
|
||||
# Stored procedure: Using %TYPE for with a table that we don't have access to
|
||||
# DEFINER root, SQL SECURITY DEFINER
|
||||
@ -98,6 +121,21 @@ CALL p1;
|
||||
a
|
||||
10
|
||||
DROP PROCEDURE p1;
|
||||
connection default;
|
||||
CREATE PROCEDURE p1()
|
||||
SQL SECURITY DEFINER
|
||||
AS
|
||||
a db1.t1%ROWTYPE;
|
||||
BEGIN
|
||||
a.a:= 10;
|
||||
SELECT a.a;
|
||||
END;
|
||||
$$
|
||||
connection conn1;
|
||||
CALL p1;
|
||||
a.a
|
||||
10
|
||||
DROP PROCEDURE p1;
|
||||
#
|
||||
# Stored function: Using %TYPE for with a table that we don't have access to
|
||||
# DEFINER user1, SQL SECURITY DEFAULT
|
||||
@ -227,6 +265,17 @@ $$
|
||||
CALL p1;
|
||||
ERROR 42000: SELECT command denied to user 'user1'@'localhost' for column 'b' in table 't1'
|
||||
DROP PROCEDURE p1;
|
||||
CREATE PROCEDURE p1()
|
||||
AS
|
||||
b db1.t1%ROWTYPE;
|
||||
BEGIN
|
||||
b.b:=10;
|
||||
SELECT b.b;
|
||||
END;
|
||||
$$
|
||||
CALL p1;
|
||||
ERROR 42000: SELECT command denied to user 'user1'@'localhost' for column 'b' in table 't1'
|
||||
DROP PROCEDURE p1;
|
||||
#
|
||||
# Clean up
|
||||
#
|
||||
|
Reference in New Issue
Block a user