Changeset: 93f4059b8da1 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=93f4059b8da1
Modified Files:
        sql/storage/bat/bat_storage.c
        sql/storage/store.c
Branch: Nov2019
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 (56 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
@@ -1081,7 +1081,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) {
@@ -1480,7 +1480,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);
@@ -1580,7 +1579,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);
@@ -1687,7 +1685,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;
@@ -2754,7 +2751,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
@@ -1869,6 +1869,7 @@ store_load(void) {
                if (store_readonly)
                        return -1;
                tr = sql_trans_create(backend_stk, NULL, NULL, true);
+               tr->active = 1;
                if (!tr) {
                        fprintf(stderr, "Failure 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

Reply via email to