summaryrefslogtreecommitdiff
path: root/mysql-test/t/view.test
diff options
context:
space:
mode:
authorunknown <kroki/tomash@moonlight.intranet>2006-10-10 16:44:59 +0400
committerunknown <kroki/tomash@moonlight.intranet>2006-10-10 16:44:59 +0400
commit9fdd94a7e1984265c17a9ea03df7c8a1317bf830 (patch)
tree2a4977a64e06b85b597de3241d026c84fdbcfc5a /mysql-test/t/view.test
parentf20d34f422cf828802454a42e6a3b3c40a6f6ba7 (diff)
parent469ff92d81d496862ed1fcb7cf700390b7c2de72 (diff)
downloadmariadb-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.test37
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.