Changeset: b3cea6ea4502 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/b3cea6ea4502
Modified Files:
sql/backends/monet5/rel_bin.c
sql/server/rel_updates.c
Branch: returning
Log Message:
move rel_dup
diffs (24 lines):
diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -6655,7 +6655,6 @@ rel2bin_delete(backend *be, sql_rel *rel
if (rel->r) { /* first construct the deletes relation */
stmt *rows = subrel_bin(be, rel->r, refs);
- (void) rel_dup(((sql_rel*) rel->r)->l); // rel_dup in case
returning
rows = subrel_project(be, rows, refs, rel->r);
if (!rows)
return NULL;
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
@@ -1317,6 +1317,9 @@ delete_table(sql_query *query, dlist *qn
list *pexps = sa_list(sql->sa);
for (dnode *n = opt_returning->h; n; n = n->next) {
sql_rel* inner = r->l;
+ sql_rel* sel = ((sql_rel*) r->r)->l;
+ assert(is_select(sel->op));
+ (void) rel_dup (sel); // required to prevent
recalculating select in rel2bin_delete
sql_exp *ce = rel_column_exp(query, &inner,
n->data.sym, sql_sel | sql_no_subquery | sql_update_set);
if (ce == NULL)
return sql_error(sql, 02,
SQLSTATE(42000) "aggregate functions and subqueries are not allowed in
RETURNING clause");
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]