diff options
author | unknown <kroki/tomash@moonlight.intranet> | 2006-10-10 16:44:59 +0400 |
---|---|---|
committer | unknown <kroki/tomash@moonlight.intranet> | 2006-10-10 16:44:59 +0400 |
commit | 9fdd94a7e1984265c17a9ea03df7c8a1317bf830 (patch) | |
tree | 2a4977a64e06b85b597de3241d026c84fdbcfc5a /mysql-test/t/view.test | |
parent | f20d34f422cf828802454a42e6a3b3c40a6f6ba7 (diff) | |
parent | 469ff92d81d496862ed1fcb7cf700390b7c2de72 (diff) | |
download | mariadb-git-9fdd94a7e1984265c17a9ea03df7c8a1317bf830.tar.gz |
Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug19111
sql/sql_base.cc:
Auto merged
mysql-test/r/view.result:
Manual merge.
mysql-test/t/view.test:
Manual merge.
Diffstat (limited to 'mysql-test/t/view.test')
-rw-r--r-- | mysql-test/t/view.test | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test index b631d2032c4..ded72335de4 100644 --- a/mysql-test/t/view.test +++ b/mysql-test/t/view.test @@ -2597,6 +2597,7 @@ SELECT * FROM t2; DROP VIEW v1; DROP TABLE t1,t2; + # # Bug#16110: insert permitted into view col w/o default value # @@ -2879,4 +2880,40 @@ SHOW CREATE VIEW v1; DROP VIEW v1; DROP TABLE t1, t2; + + +# +# Bug#19111: TRIGGERs selecting from a VIEW on the firing base table +# fail +# +# Allow to select from a view on a table being modified in a trigger +# and stored function, since plain select is allowed there. +# +--disable_warnings +DROP FUNCTION IF EXISTS f1; +DROP VIEW IF EXISTS v1; +DROP TABLE IF EXISTS t1; +--enable_warnings + +CREATE TABLE t1 (i INT); +INSERT INTO t1 VALUES (1); + +CREATE VIEW v1 AS SELECT MAX(i) FROM t1; + +# Plain 'SET NEW.i = (SELECT MAX(i) FROM t1) + 1' works, so select +# from a view should work too. +CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW + SET NEW.i = (SELECT * FROM v1) + 1; +INSERT INTO t1 VALUES (1); + +# Plain 'RETURN (SELECT MAX(i) FROM t1)' works in INSERT, so select +# from a view should work too. +CREATE FUNCTION f1() RETURNS INT RETURN (SELECT * FROM v1); +UPDATE t1 SET i= f1(); + +DROP FUNCTION f1; +DROP VIEW v1; +DROP TABLE t1; + + --echo End of 5.0 tests. |