Changeset: b5b432b54ad8 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b5b432b54ad8 Modified Files: sql/storage/bat/bat_table.c Branch: Dec2016 Log Message:
make sure we cache dbat's during catalog loading diffs (70 lines): diff --git a/sql/storage/bat/bat_table.c b/sql/storage/bat/bat_table.c --- a/sql/storage/bat/bat_table.c +++ b/sql/storage/bat/bat_table.c @@ -137,38 +137,6 @@ full_destroy(sql_column *c, BAT *b) } static oid -column_lookup_row(sql_trans *tr, sql_column *c, const void *value) -{ - BAT *b = NULL, *s = NULL; - oid rid = oid_nil; - - b = full_column(tr, c); - if (!b) - return oid_nil; - - if (store_funcs.count_del(tr, c->t)) - s = store_funcs.bind_del(tr, c->t, RD_INS); - - if (BAThash(b, 0) == GDK_SUCCEED) { - BATiter cni = bat_iterator(b); - BUN p; - - HASHloop(cni, cni.b->thash, p, value) { - oid pos = p; - - if (!s || BUNfnd(s, &pos) == BUN_NONE) { - rid = p; - break; - } - } - } - if (s) - bat_destroy(s); - full_destroy(c, b); - return rid; -} - -static oid column_find_row(sql_trans *tr, sql_column *c, const void *value, ...) { va_list va; @@ -177,9 +145,6 @@ column_find_row(sql_trans *tr, sql_colum sql_column *n = NULL; va_start(va, value); - if ((n = va_arg(va, sql_column *)) == NULL) - return column_lookup_row(tr, c, value); - s = delta_cands(tr, c->t); if (!s) return oid_nil; @@ -192,7 +157,7 @@ column_find_row(sql_trans *tr, sql_colum bat_destroy(s); s = r; full_destroy(c, b); - do { + while ((n = va_arg(va, sql_column *)) != NULL) { value = va_arg(va, void *); c = n; @@ -205,7 +170,7 @@ column_find_row(sql_trans *tr, sql_colum bat_destroy(s); s = r; full_destroy(c, b); - } while ((n = va_arg(va, sql_column *)) != NULL); + } va_end(va); if (BATcount(s) == 1) { BATiter ri = bat_iterator(s); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list