Changeset: 0b7aeea4cd4e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0b7aeea4cd4e
Modified Files:
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql_statement.c
sql/storage/bat/bat_storage.c
Branch: unlock
Log Message:
fixed inserts on temp/declared tables
diffs (46 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
@@ -3994,7 +3994,8 @@ rel2bin_insert(backend *be, sql_rel *rel
cnt = stmt_aggr(be, insert, NULL, NULL, sql_bind_func(sql->sa,
sql->session->schema, "count", sql_bind_localtype("void"), NULL, F_AGGR), 1, 0,
1);
}
insert = NULL;
- pos = stmt_claim(be, t, cnt);
+ if (t->s) /* only not declared tables, need this */
+ pos = stmt_claim(be, t, cnt);
if (t->idxs.set)
for (n = t->idxs.set->h; n && m; n = n->next, m = m->next) {
diff --git a/sql/backends/monet5/sql_statement.c
b/sql/backends/monet5/sql_statement.c
--- a/sql/backends/monet5/sql_statement.c
+++ b/sql/backends/monet5/sql_statement.c
@@ -683,7 +683,7 @@ stmt_append_col(backend *be, sql_column
MalBlkPtr mb = be->mb;
InstrPtr q = NULL;
- if (offset->nr < 0 || b->nr < 0)
+ if (b->nr < 0)
return NULL;
if (!c->t->s && c->t->data) { /* declared table */
@@ -700,6 +700,8 @@ stmt_append_col(backend *be, sql_column
q = pushBit(mb, q, TRUE);
getArg(q,0) = l[c->colnr+1];
} else if (!fake) { /* fake append */
+ if (offset->nr < 0)
+ return NULL;
q = newStmt(mb, sqlRef, appendRef);
q = pushArgument(mb, q, be->mvc_var);
if (q == NULL)
diff --git a/sql/storage/bat/bat_storage.c b/sql/storage/bat/bat_storage.c
--- a/sql/storage/bat/bat_storage.c
+++ b/sql/storage/bat/bat_storage.c
@@ -1057,6 +1057,8 @@ claim_tab(sql_trans *tr, sql_table *t, s
res = bat->ibase;
/* inserts only write */
bat->wtime = t->base.wtime = t->s->base.wtime = tr->wtime = tr->wstime;
+ // for now we have to set write of column as well
+ bat->wtime = c->base.wtime = c->t->base.wtime = c->t->s->base.wtime =
tr->wtime = tr->wstime;
store_unlock();
return res;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list