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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list