mirror of
https://github.com/MariaDB/server.git
synced 2025-11-20 12:39:39 +01:00
The problem was that view rely on later checking column level privileges for underlying tables but sequences do not need checks of its column level privileges, only table level (sequence is one unit for SQL level). Solution is to check table level privileges for sequences when we create view structures (mysql_make_view).
41 lines
936 B
Text
41 lines
936 B
Text
--source include/have_sequence.inc
|
|
|
|
#
|
|
# Test sequences with views
|
|
#
|
|
|
|
create sequence s1;
|
|
create view v1 as select * from s1;
|
|
create view v2 as select next value for s1;
|
|
--disable_ps2_protocol
|
|
select * from v1;
|
|
select * from v2;
|
|
select * from v2;
|
|
--enable_ps2_protocol
|
|
--error ER_NOT_SEQUENCE
|
|
select next value for v1;
|
|
drop sequence s1;
|
|
drop view v1,v2;
|
|
|
|
--echo #
|
|
--echo # MDEV 13020 Server crashes in Item_func_nextval::val_int upon
|
|
--echo # selecting NEXT or PREVIOUS VALUE for a view
|
|
--echo #
|
|
|
|
CREATE OR REPLACE VIEW v1 AS SELECT 1 AS f;
|
|
--error ER_NOT_SEQUENCE
|
|
SELECT NEXT VALUE FOR v1;
|
|
--error ER_NOT_SEQUENCE
|
|
SELECT PREVIOUS VALUE FOR v1;
|
|
drop view v1;
|
|
|
|
--echo #
|
|
--echo # MDEV 17978 Server crashes in mysqld_show_create_get_fields
|
|
--echo # upon SHOW CREATE SEQUENCE on a broken view
|
|
--echo #
|
|
CREATE TABLE t1 (a INT);
|
|
CREATE VIEW v1 AS SELECT * FROM t1;
|
|
DROP TABLE t1;
|
|
--error ER_NOT_SEQUENCE
|
|
SHOW CREATE SEQUENCE v1;
|
|
DROP VIEW v1;
|