Changeset: fb914284de9a for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fb914284de9a
Added Files:
        sql/test/merge-statements/Tests/mergestmt00.test
        sql/test/merge-statements/Tests/mergestmt01.test
        sql/test/merge-statements/Tests/mergestmt02.test
        sql/test/merge-statements/Tests/mergestmt03.test
        sql/test/merge-statements/Tests/mergestmt04.test
Branch: mtest
Log Message:

Updated merge-statements tests


diffs (truncated from 400 to 300 lines):

diff --git a/sql/test/merge-statements/Tests/mergestmt00.test 
b/sql/test/merge-statements/Tests/mergestmt00.test
new file mode 100644
--- /dev/null
+++ b/sql/test/merge-statements/Tests/mergestmt00.test
@@ -0,0 +1,53 @@
+statement ok
+create table merging (aa int, bb clob)
+
+statement ok
+insert into merging values (-100, 1)
+
+statement ok
+create table predata (aa int, bb int)
+
+statement ok
+insert into predata values (15, 3), (3, 1), (2, 1), (5, 3), (NULL, 2), (3, 2), 
(4, 1), (6, 3), (8, 2), (NULL, 4)
+
+statement ok
+merge into predata using (select aa, bb from merging) sub on predata.bb = 
sub.bb when matched then delete
+
+statement ok
+merge into predata using (select aa, bb from merging) sub on predata.bb = 
sub.bb when matched then update set bb = 1
+
+statement ok
+update merging set bb = 2 where bb = 1
+
+statement ok
+merge into predata using (select aa, bb from merging) sub on predata.bb = 
sub.bb when matched then update set bb = 1
+
+query II rowsort
+select aa, bb from predata order by bb
+----
+14 values hashing to 877ac354eafe216cbc03e6a9db3cb23f
+
+statement ok
+merge into predata using (select aa, bb from merging) sub on predata.bb = 
sub.bb when not matched then insert values (5, 5)
+
+query II rowsort
+select aa, bb from predata order by bb
+----
+16 values hashing to 2a62489ee71c16e2563f54a79de06589
+
+statement ok
+merge into predata as othern using (select aa, bb from merging) sub on 
othern.bb = sub.bb when not matched then insert values (5, 5)
+
+statement error
+merge into predata as othern using (select aa, bb from merging) sub on 
predata.bb = sub.bb when not matched then insert values (5, 5)
+
+statement error
+merge into predata using (select aa, bb from merging) sub on predata.bb = 
sub.bb when not matched then insert values (1, 1), (2,2)
+
+statement ok
+drop table merging
+
+statement ok
+drop table predata
+
+
diff --git a/sql/test/merge-statements/Tests/mergestmt01.test 
b/sql/test/merge-statements/Tests/mergestmt01.test
new file mode 100644
--- /dev/null
+++ b/sql/test/merge-statements/Tests/mergestmt01.test
@@ -0,0 +1,167 @@
+statement ok
+create table merging (aa int, bb clob)
+
+statement ok
+create table predata (aa int, bb int)
+
+statement ok
+start transaction
+
+statement ok
+insert into merging values (-100, 1)
+
+statement ok
+insert into predata values (15, 3), (3, 1), (2, 1), (5, 3), (NULL, 2), (3, 2)
+
+statement ok
+merge into predata using (select aa, bb from merging) sub on predata.bb = 
sub.bb
+      when matched then delete when not matched then insert values (6, 6)
+
+query II rowsort
+select aa, bb from predata
+----
+15
+3
+3
+2
+5
+3
+NULL
+2
+
+statement ok
+delete from predata
+
+statement ok
+insert into predata values (15, 3), (3, 1), (2, 1), (5, 3), (4, 1), (6, 3)
+
+statement ok
+merge into predata using (select aa, bb from merging) sub on predata.bb = 
sub.bb
+      when not matched then insert values (null, null) when matched then 
update set bb = 3
+
+query II rowsort
+select aa, bb from predata
+----
+12 values hashing to 21aa56dd77ec4302cc2641c4cfea9233
+
+statement ok
+delete from predata
+
+statement ok
+insert into predata values (15, 3), (3, 1), (2, 1), (5, 3), (8, 2), (NULL, 4)
+
+statement ok
+merge into predata using (select aa, bb from merging) as sub on predata.bb = 
sub.bb
+      when matched then update set bb = predata.bb + 1
+
+statement ok
+merge into predata othertt using (select aa, bb from merging) as sub on 
othertt.bb = sub.bb
+      when matched then update set bb = othertt.bb + sub.bb
+
+query II rowsort
+select aa, bb from predata
+----
+12 values hashing to a7c1713160be18de5a7cdd8459a12cba
+
+statement ok
+delete from predata
+
+statement ok
+insert into predata values (15, 1), (3, 1), (6, 3), (8, 2)
+
+statement ok
+insert into merging values (-500, -300)
+
+statement ok
+merge into predata using (select aa, bb from merging) as sub on predata.bb = 
sub.bb
+      when not matched then insert values (sub.aa, 2)
+
+query II rowsort
+select aa, bb from predata
+----
+10 values hashing to 0a2e202603af3ce2eade6b5c5ac22611
+
+statement ok
+insert into merging values (1900, 2)
+
+statement ok
+merge into predata othertt using (select aa, bb from merging) as sub on 
othertt.bb = sub.bb
+      when not matched then insert values (sub.aa + 5, sub.bb * 2)
+
+query II rowsort
+select aa, bb from predata
+----
+12 values hashing to 63514145a98e5e67e763da075f69f364
+
+statement ok
+delete from predata
+
+statement ok
+insert into predata values (2, 2)
+
+statement ok
+merge into predata using (select aa, bb from merging) thee on predata.bb = 
thee.bb
+      when not matched then insert
+
+query II rowsort
+select aa, bb from predata
+----
+2
+2
+NULL
+NULL
+NULL
+NULL
+
+statement ok
+rollback
+
+statement ok
+insert into predata values (1, 1)
+
+statement ok
+insert into merging values (1, 1), (2, 1)
+
+statement error
+merge into predata using (select aa, bb from merging) as sub on predata.bb = 
sub.bb
+      when matched then update set aa = sub.aa
+
+query II rowsort
+select aa, bb from predata
+----
+1
+1
+
+statement error
+merge into predata using (select aa, bb from merging) as sub on predata.bb = 
sub.bb
+      when matched then delete
+
+query II rowsort
+select aa, bb from predata
+----
+1
+1
+
+statement error
+merge into predata othertt using (select aa, bb from merging) as sub on 
othertt.bb = sub.bb
+      when not matched then insert values (othertt.aa, othertt.bb)
+
+statement error
+merge into predata using (select aa, bb from merging) as sub on predata.bb = 
sub.bb
+      when not matched then insert select 41, -12
+
+statement error
+merge into predata using (select aa, bb from merging) as sub on predata.bb = 
sub.bb
+      when not matched then insert select aa, bb from predata
+
+statement error
+merge into predata using (select aa, bb from merging) as sub on predata.bb = 
sub.bb
+      when matched then update set bb = bb - 1
+
+statement ok
+drop table merging
+
+statement ok
+drop table predata
+
+
diff --git a/sql/test/merge-statements/Tests/mergestmt02.test 
b/sql/test/merge-statements/Tests/mergestmt02.test
new file mode 100644
--- /dev/null
+++ b/sql/test/merge-statements/Tests/mergestmt02.test
@@ -0,0 +1,43 @@
+statement ok
+create table merging (aa int, bb int)
+
+statement ok
+create table predata (aa int, bb int not null)
+
+statement ok
+merge into predata using (select * from merging) other on predata.bb = other.bb
+      when not matched then insert
+
+statement ok
+insert into merging
+
+statement error
+merge into predata using (select * from merging) other on predata.bb = other.bb
+      when not matched then insert
+
+statement ok
+truncate merging
+
+statement ok
+alter table predata alter bb set null
+
+statement ok
+alter table predata add constraint uniquebb unique (bb)
+
+statement ok
+insert into merging values (1,1), (0,1)
+
+statement ok
+insert into predata values (1,1)
+
+statement error
+merge into predata using (select * from merging) other on predata.aa = other.aa
+      when not matched then insert values (other.aa, other.bb)
+
+statement ok
+drop table merging
+
+statement ok
+drop table predata
+
+
diff --git a/sql/test/merge-statements/Tests/mergestmt03.test 
b/sql/test/merge-statements/Tests/mergestmt03.test
new file mode 100644
--- /dev/null
+++ b/sql/test/merge-statements/Tests/mergestmt03.test
@@ -0,0 +1,36 @@
+statement ok
+start transaction
+
+statement ok
+create merge table uppert (aa int, bb int) partition by range on (aa)
+
+statement ok
+create table subtable1 (aa int, bb int)
+
+statement ok
+create table subtable2 (aa int, bb int)
+
+statement ok
+create table merging (aa int, bb int)
+
+statement ok
+alter table uppert add table subtable1 as partition from '-100' to '0'
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to