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