Changeset: a952a4f1c129 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a952a4f1c129
Modified Files:
        sql/common/sql_list.c
        sql/server/sql_mvc.c
        sql/storage/store.c
Branch: nospare
Log Message:

run first set off tests again (most fail).


diffs (61 lines):

diff --git a/sql/common/sql_list.c b/sql/common/sql_list.c
--- a/sql/common/sql_list.c
+++ b/sql/common/sql_list.c
@@ -771,10 +771,12 @@ void
 list_update_data(list *l, node *n, void *data)
 {
        MT_lock_set(&l->ht_lock);
-       hash_delete(l->ht, n->data);
-       n->data = data;
-       int nkey = l->ht->key(data);
-       hash_add(l->ht, nkey, data);
+       if (l->ht) {
+               hash_delete(l->ht, n->data);
+               n->data = data;
+               int nkey = l->ht->key(data);
+               hash_add(l->ht, nkey, data);
+       }
        MT_lock_unset(&l->ht_lock);
 }
 
diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c
--- a/sql/server/sql_mvc.c
+++ b/sql/server/sql_mvc.c
@@ -628,11 +628,13 @@ mvc_rollback(mvc *m, int chain, const ch
                if (tr->name)
                        tr->name = NULL;
                m->session->schema = find_sql_schema(m->session->tr, 
m->session->schema_name);
-       } else if (tr->parent) {
+       } else { //if (tr->parent) {
                /* first release all intermediate savepoints */
+               /* savepoints !
                while (tr->parent->parent != NULL) {
                        tr = sql_trans_destroy(tr);
                }
+               */
                m->session-> tr = tr;
                /* make sure we do not reuse changed data */
                if (tr->changes)
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -3263,7 +3263,6 @@ sql_trans_create_(sqlstore *store, sql_t
 
        tr->sa = store->sa;
        tr->store = store;
-       tr->active = 1;
        tr->tid = store_transaction_id(store);
 
        if (name)
@@ -3289,8 +3288,10 @@ sql_trans *
 sql_trans_create(sqlstore *store, sql_trans *parent, const char *name)
 {
        sql_trans *tr = sql_trans_create_(store, parent, name);
-       if (tr)
+       if (tr) {
                tr->ts = store_timestamp(store);
+               tr->active = 1;
+       }
        return tr;
 }
 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to