Changeset: 8ddb651071fa for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/8ddb651071fa
Modified Files:
sql/backends/monet5/rel_bin.c
Branch: pushcands
Log Message:
More fixes
diffs (44 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
@@ -1149,7 +1149,7 @@ exp_bin(backend *be, sql_exp *e, rel_bin
if (l->type == e_psm && l->flag & PSM_REL) {
rel_bin_stmt *lst = r->op4.relstval;
- if (r->type == st_table && lst && lst->nrcols
== 0 && lst->key && e->card > CARD_ATOM) {
+ if (r->type == st_table && lst->nrcols == 0 &&
e->card > CARD_ATOM) {
list *l = sa_list(sql->sa);
for (node *n=lst->cols->h; n; n =
n->next)
@@ -1204,10 +1204,6 @@ exp_bin(backend *be, sql_exp *e, rel_bin
if (!r)
return NULL;
-#if 0
- if (is_modify(rel->op) || is_ddl(rel->op))
- return r;
-#endif
return stmt_table(be, r, 1);
} else if (e->flag & PSM_EXCEPTION) {
stmt *cond = exp_bin(be, e->l, left, right, 0, 0, push);
@@ -5868,6 +5864,8 @@ rel2bin_seq(backend *be, sql_rel *rel, l
if (!restart || !sname || !seqname || !seq)
return NULL;
+ if (restart->type == st_table) /* relational statement */
+ restart = restart->op4.relstval->cols->h->data;
append(l, sname);
append(l, seqname);
append(l, seq);
@@ -6232,9 +6230,9 @@ output_rel_bin(backend *be, sql_rel *rel
if (!is_ddl(rel->op) && sql->type == Q_TABLE && stmt_output(be, s) < 0)
return NULL;
- else if (sqltype == Q_UPDATE || be->cur_append) {
+ else if ((!is_ddl(rel->op) && sqltype == Q_UPDATE) || be->cur_append) {
if (be->cur_append) { /* finish the output bat */
- stmt *last = s->cols->h->data;
+ stmt *last = s->cols->t->data;
last->nr = be->cur_append;
be->cur_append = 0;
be->first_statement_generated = false;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list