Changeset: 48aa8b189212 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=48aa8b189212 Modified Files: sql/storage/bat/bat_storage.c Branch: Jul2015 Log Message:
properly zap the transactions delta structures. In the new transaction a copy of the global transaction's delta structures is needed. diffs (39 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 @@ -2119,9 +2119,11 @@ update_table(sql_trans *tr, sql_table *f tr_update_dbat(tr, tt->data, ft->data, ft->cleared); } else if (store_nr_active == 1 && !ft->base.allocated) { tr_merge_dbat(tr, tt->data); + ft->data = NULL; } else if (ft->data) { tt->data = ft->data; tt->base.allocated = 1; + ft->data = NULL; } } for (n = ft->columns.set->h, m = tt->columns.set->h; ok == LOG_OK && n && m; n = n->next, m = m->next) { @@ -2152,9 +2154,11 @@ update_table(sql_trans *tr, sql_table *f tr_update_delta(tr, oc->data, cc->data, cc->unique == 1); } else if (store_nr_active == 1 && !cc->base.allocated) { tr_merge_delta(tr, oc->data, oc->unique == 1); + cc->data = NULL; } else if (cc->data) { oc->data = cc->data; oc->base.allocated = 1; + cc->data = NULL; } } @@ -2210,9 +2214,11 @@ update_table(sql_trans *tr, sql_table *f tr_update_delta(tr, oi->data, ci->data, 0); } else if (store_nr_active == 1 && !ci->base.allocated) { tr_merge_delta(tr, oi->data, 0); + ci->data = NULL; } else if (ci->data) { oi->data = ci->data; oi->base.allocated = 1; + ci->data = NULL; } } _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list