Changeset: 39d6231c976f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=39d6231c976f Modified Files: sql/storage/bat/bat_storage.c sql/storage/store.c Branch: Jun2020 Log Message:
active initial transaction (to make sure the timestamps are set correctly) reactivated asserts, on alters we expect equal wtimes (is dup of the new column) cleanup some more old code diffs (82 lines): 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 @@ -1071,7 +1071,7 @@ count_col(sql_trans *tr, sql_column *c, { sql_delta *b; -// assert(tr->active || tr == gtrans); + assert(tr->active || tr == gtrans); if (!isTable(c->t)) return 0; if (!c->data) { @@ -1470,7 +1470,6 @@ create_col(sql_trans *tr, sql_column *c) } if (!isNew(c) && !isTempTable(c->t)){ - //c->base.wtime = 0; return load_bat(bat, type, c->t->bootstrap?0:LOG_COL, c->base.id); } else if (bat && bat->ibid && !isTempTable(c->t)) { return new_persistent_bat(tr, c->data, c->t->sz); @@ -1570,7 +1569,6 @@ create_idx(sql_trans *tr, sql_idx *ni) } if (!isNew(ni) && !isTempTable(ni->t)){ - //ni->base.wtime = 0; return load_bat(bat, type, ni->t->bootstrap?0:LOG_IDX, ni->base.id); } else if (bat && bat->ibid && !isTempTable(ni->t)) { return new_persistent_bat( tr, ni->data, ni->t->sz); @@ -1677,7 +1675,6 @@ create_del(sql_trans *tr, sql_table *t) log_bid bid = logger_find_bat(bat_logger, bat->dname, t->bootstrap?0:LOG_TAB, t->base.id); if (bid) { - //t->base.wtime = 0; return load_dbat(bat, bid); } ok = LOG_ERR; @@ -2721,7 +2718,7 @@ update_table(sql_trans *tr, sql_table *f sql_column *oc = m->data; if (ATOMIC_GET(&store_nr_active) == 1 || (cc->base.wtime && cc->base.allocated)) { -// assert(!cc->base.wtime || oc->base.wtime < cc->base.wtime); + assert(!cc->base.wtime || oc->base.wtime < cc->base.wtime || (oc->base.wtime == cc->base.wtime && oc->base.allocated /* alter */)); if (ATOMIC_GET(&store_nr_active) > 1 && cc->data) { /* move delta */ sql_delta *b = cc->data; sql_column *oldc = NULL; diff --git a/sql/storage/store.c b/sql/storage/store.c --- a/sql/storage/store.c +++ b/sql/storage/store.c @@ -213,6 +213,7 @@ table_reset_parent(sql_table *t, sql_tra if (i->po) idx_destroy(i->po); i->po = NULL; + i->base.wtime = 1; } } assert(t->idxs.dset == NULL); @@ -225,13 +226,16 @@ table_reset_parent(sql_table *t, sql_tra if (c->po) column_destroy(c->po); c->po = NULL; + c->base.wtime = 1; } } assert(t->columns.dset == NULL); if (p) table_destroy(p); - if (isTable(t)) + if (isTable(t)) { assert(t->base.allocated); + t->base.wtime = 1; + } } void @@ -1851,6 +1855,7 @@ store_load(backend_stack stk) { if (store_readonly) return -1; tr = sql_trans_create(stk, NULL, NULL, true); + tr->active = 1; if (!tr) { TRC_CRITICAL(SQL_STORE, "Failed to start a transaction while loading the storage\n"); return -1; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list