Changeset: 4821f672cb73 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4821f672cb73
Added Files:
        sql/test/Triggers/Tests/trigger_schema.test
Branch: mtest
Log Message:

add test


diffs (109 lines):

diff --git a/sql/test/Triggers/Tests/trigger_schema.test 
b/sql/test/Triggers/Tests/trigger_schema.test
new file mode 100644
--- /dev/null
+++ b/sql/test/Triggers/Tests/trigger_schema.test
@@ -0,0 +1,104 @@
+statement ok
+START TRANSACTION
+
+statement ok
+create schema foo
+
+statement ok
+set schema foo
+
+statement ok
+create table t1 (id serial, ref bigint)
+
+statement ok
+create table t2 (id serial, ref bigint)
+
+statement ok
+create function f(ref bigint) returns bigint begin return 10*ref; end
+
+statement ok
+create schema bar
+
+statement ok
+set schema bar
+
+statement ok
+create function f(ref bigint) returns bigint begin return 100*ref; end
+
+statement ok
+create table t1 (id serial, ref bigint)
+
+statement ok
+create table t2 (id serial, ref bigint)
+
+statement ok
+create trigger extra_insert
+    AFTER INSERT ON t1 referencing new row as new_row
+    FOR EACH statement insert into t2(ref) values (f(new_row.ref))
+
+statement ok
+insert into t1(ref) values (10)
+
+statement ok
+set schema foo
+
+statement ok
+insert into bar.t1(ref) values (10)
+
+query II rowsort
+select * from bar.t1
+----
+1
+10
+2
+10
+
+query II rowsort
+select * from bar.t2
+----
+1
+1000
+2
+1000
+
+query II rowsort
+select * from foo.t1
+----
+
+query II rowsort
+select * from foo.t2
+----
+
+statement ok
+ROLLBACK
+
+statement ok
+START TRANSACTION
+
+statement ok
+create schema foo
+
+statement ok
+set schema foo
+
+statement ok
+create table t1 (id serial, ref bigint)
+
+statement ok
+create table t2 (id serial, ref bigint)
+
+statement ok
+create schema bar
+
+statement ok
+set schema bar
+
+statement error
+create trigger foo.extra_insert
+    AFTER INSERT ON t1 referencing new row as new_row
+    FOR EACH statement insert into t2(ref) values (new_row.ref); --error, a 
trigger will be placed on its table's schema, specify the schema on the table 
reference, ie ON clause instead
+
+statement ok
+ROLLBACK
+
+
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to