Changeset: 2c92e6441aff for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/2c92e6441aff
Modified Files:
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql_statement.c
Branch: Jan2022
Log Message:
properly set type for the update column (of dict/for)
diffs (39 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
@@ -1567,13 +1567,14 @@ stmt_col( backend *be, sql_column *c, st
(!isNew(c) || !isNew(c->t) /* alter */) &&
(c->t->persistence == SQL_PERSIST || c->t->s) /*&&
!c->t->commit_action*/) {
stmt *u = stmt_bat(be, c, RD_UPD_ID, part);
+ assert(u);
+ sc = stmt_project_delta(be, sc, u);
if (c->storage_type && c->storage_type[0] == 'D') {
stmt *v = stmt_bat(be, c, RD_EXT, part);
sc = stmt_dict(be, sc, v);
} else if (c->storage_type && c->storage_type[0] == 'F') {
sc = stmt_for(be, sc, stmt_atom(be, atom_general(
be->mvc->sa, &c->type, c->storage_type+4/*skip FOR-*/)));
}
- sc = stmt_project_delta(be, sc, u);
if (del)
sc = stmt_project(be, del, sc);
} else if (del) { /* always handle the deletes */
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
@@ -588,7 +588,7 @@ stmt_bat(backend *be, sql_column *c, int
q = newStmtArgs(mb, sqlRef, bindRef, 9);
if (q == NULL)
return NULL;
- if (c->storage_type && access != RD_EXT && access != RD_UPD_ID) {
+ if (c->storage_type && access != RD_EXT) {
sql_trans *tr = be->mvc->session->tr;
sqlstore *store = tr->store;
BAT *b = store->storage_api.bind_col(tr, c, QUICK);
@@ -2328,6 +2328,7 @@ stmt_for(backend *be, stmt *op1, stmt *m
}
s->op1 = op1;
+ s->op2 = min_val;
s->flag = cmp_project;
s->key = 0;
s->nrcols = op1->nrcols;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list