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

handle a few more object creations


diffs (83 lines):

diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -239,11 +239,27 @@ tc_commit_table_(sql_trans *tr, sql_tabl
        for (node* n = t->columns.set->h; n; n = n->next) {
                sql_column *c = n->data;
                c->base.ts = commit_ts;
+               c->base.flags = 0;
        }
        if (t->idxs.set) {
                for (node* n = t->idxs.set->h; n; n = n->next) {
                        sql_idx *i = n->data;
                        i->base.ts = commit_ts;
+                       i->base.flags = 0;
+               }
+       }
+       if (t->keys.set) {
+               for (node* n = t->keys.set->h; n; n = n->next) {
+                       sql_key *k = n->data;
+                       k->base.ts = commit_ts;
+                       k->base.flags = 0;
+               }
+       }
+       if (t->triggers.set) {
+               for (node* n = t->triggers.set->h; n; n = n->next) {
+                       sql_trigger *ti = n->data;
+                       ti->base.ts = commit_ts;
+                       ti->base.flags = 0;
                }
        }
        return LOG_OK;
@@ -3513,8 +3529,10 @@ sql_trans_commit(sql_trans *tr)
 
                        if (c->log && ok == LOG_OK)
                                ok = c->log(tr, c, commit_ts, oldest);
-                       else
+                       else {
                                c->obj->ts = commit_ts;
+                               c->obj->flags = 0;
+                       }
                }
                if (ok == LOG_OK && store->prev_oid != store->obj_id)
                        ok = store->logger_api.log_sequence(store, OBJ_SID, 
store->obj_id);
@@ -5334,6 +5352,7 @@ sql_trans_create_ukey(sql_trans *tr, sql
        list_append(t->s->keys, nk);
 
        store->table_api.table_insert(tr, syskey, &nk->base.id, &t->base.id, 
&nk->type, nk->base.name, (nk->type == fkey) ? &((sql_fkey *) 
nk)->rkey->k.base.id : &neg, &action );
+       trans_add(tr, &nk->base, NULL, NULL, NULL);
        return nk;
 }
 
@@ -5381,6 +5400,7 @@ sql_trans_create_fkey(sql_trans *tr, sql
        store->table_api.table_insert(tr, syskey, &nk->base.id, &t->base.id, 
&nk->type, nk->base.name, (nk->type == fkey) ? &((sql_fkey *) 
nk)->rkey->k.base.id : &neg, &action);
 
        sql_trans_create_dependency(tr, ((sql_fkey *) nk)->rkey->k.base.id, 
nk->base.id, FKEY_DEPENDENCY);
+       trans_add(tr, &nk->base, NULL, NULL, NULL);
        return (sql_fkey*) nk;
 }
 
@@ -5597,6 +5617,7 @@ sql_trans_create_idx(sql_trans *tr, sql_
                store->storage_api.create_idx(tr, ni);
        if (!isDeclaredTable(t))
                store->table_api.table_insert(tr, sysidx, &ni->base.id, 
&t->base.id, &ni->type, ni->base.name);
+       trans_add(tr, &ni->base, NULL, NULL, NULL);
        return ni;
 }
 
@@ -5717,6 +5738,7 @@ sql_trans_create_trigger(sql_trans *tr, 
        store->table_api.table_insert(tr, systrigger, &ni->base.id, 
ni->base.name, &t->base.id, &ni->time, &ni->orientation,
                                                         &ni->event, 
(ni->old_name)?ni->old_name:nilptr, (ni->new_name)?ni->new_name:nilptr,
                                                         
(ni->condition)?ni->condition:nilptr, ni->statement);
+       trans_add(tr, &ni->base, NULL, NULL, NULL);
        return ni;
 }
 
@@ -5812,6 +5834,7 @@ sql_trans_create_sequence(sql_trans *tr,
        if (bedropped)
                sql_trans_create_dependency(tr, seq->base.id, seq->base.id, 
BEDROPPED_DEPENDENCY);
 
+       trans_add(tr, &seq->base, NULL, NULL, NULL);
        return seq;
 }
 
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to