Changeset: 794d9a23c157 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=794d9a23c157
Modified Files:
        sql/server/rel_updates.c
        sql/test/merge-statements/Tests/mergestmt03.sql
        sql/test/merge-statements/Tests/mergestmt03.stable.err
        sql/test/merge-statements/Tests/mergestmt03.stable.out
Branch: merge-statements
Log Message:

Merge statements on merge tables won't be available for now.


diffs (63 lines):

diff --git a/sql/server/rel_updates.c b/sql/server/rel_updates.c
--- a/sql/server/rel_updates.c
+++ b/sql/server/rel_updates.c
@@ -1395,6 +1395,8 @@ merge_into_table(mvc *sql, dlist *qname,
                return sql_error(sql, 02, SQLSTATE(42S02) "MERGE: no such table 
'%s'", tname);
        if (!table_privs(sql, t, PRIV_SELECT))
                return sql_error(sql, 02, SQLSTATE(42000) "MERGE: access denied 
for %s to table '%s.%s'", stack_get_string(sql, "current_user"), s->base.name, 
tname);
+       if (isMergeTable(t))
+               return sql_error(sql, 02, SQLSTATE(42000) "MERGE: merge 
statements not available for merge tables yet");
 
        bt = rel_basetable(sql, t, t->base.name);
        joined = table_ref(sql, NULL, tref, 0);
diff --git a/sql/test/merge-statements/Tests/mergestmt03.sql 
b/sql/test/merge-statements/Tests/mergestmt03.sql
--- a/sql/test/merge-statements/Tests/mergestmt03.sql
+++ b/sql/test/merge-statements/Tests/mergestmt03.sql
@@ -9,9 +9,9 @@ alter table uppert add table subtable2 a
 insert into merging values (-100, 1);
 
 merge into uppert using (select aa, bb from merging) sub on uppert.bb = sub.bb
-      when matched then delete when not matched then insert values (sub.aa, 
sub.bb);
+      when matched then delete when not matched then insert values (sub.aa, 
sub.bb); --TODO, merge statements on merge tables
 
 merge into uppert using (select aa, bb from merging) sub on uppert.bb = sub.bb
-      when matched then delete when not matched then insert values (sub.aa, 
sub.bb);
+      when matched then delete when not matched then insert values (sub.aa, 
sub.bb); --TODO, merge statements on merge tables
 
 rollback;
diff --git a/sql/test/merge-statements/Tests/mergestmt03.stable.err 
b/sql/test/merge-statements/Tests/mergestmt03.stable.err
--- a/sql/test/merge-statements/Tests/mergestmt03.stable.err
+++ b/sql/test/merge-statements/Tests/mergestmt03.stable.err
@@ -28,6 +28,16 @@ stderr of test 'mergestmt03` in director
 # 15:41:53 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-29542" "--port=31292"
 # 15:41:53 >  
 
+MAPI  = (monetdb) /var/tmp/mtest-9088/.s.monetdb.37720
+QUERY = merge into uppert using (select aa, bb from merging) sub on uppert.bb 
= sub.bb
+              when matched then delete when not matched then insert values 
(sub.aa, sub.bb); --TODO, merge statements on merge tables
+ERROR = !MERGE: merge statements not available for merge tables yet
+CODE  = 42000
+MAPI  = (monetdb) /var/tmp/mtest-9088/.s.monetdb.37720
+QUERY = merge into uppert using (select aa, bb from merging) sub on uppert.bb 
= sub.bb
+              when matched then delete when not matched then insert values 
(sub.aa, sub.bb); --TODO, merge statements on merge tables
+ERROR = !Current transaction is aborted (please ROLLBACK)
+CODE  = 25005
 
 # 15:41:53 >  
 # 15:41:53 >  "Done."
diff --git a/sql/test/merge-statements/Tests/mergestmt03.stable.out 
b/sql/test/merge-statements/Tests/mergestmt03.stable.out
--- a/sql/test/merge-statements/Tests/mergestmt03.stable.out
+++ b/sql/test/merge-statements/Tests/mergestmt03.stable.out
@@ -73,12 +73,6 @@ Ready.
 #alter table uppert add table subtable2 as partition between '1' and '100';
 #insert into merging values (-100, 1);
 [ 1    ]
-#merge into uppert using (select aa, bb from merging) sub on uppert.bb = sub.bb
-#      when matched then delete when not matched then insert values (sub.aa, 
sub.bb);
-[ 1    ]
-#merge into uppert using (select aa, bb from merging) sub on uppert.bb = sub.bb
-#      when matched then delete when not matched then insert values (sub.aa, 
sub.bb);
-[ 0    ]
 #rollback;
 
 # 15:41:53 >  
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to