Changeset: 032b2107f7e2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/032b2107f7e2 Modified Files: sql/storage/objectset.c sql/storage/store.c Branch: Jul2021 Log Message:
small optimimization, ie no need to check for in transaction for new objects diffs (32 lines): diff --git a/sql/storage/objectset.c b/sql/storage/objectset.c --- a/sql/storage/objectset.c +++ b/sql/storage/objectset.c @@ -606,6 +606,8 @@ tc_commit_objectversion(sql_trans *tr, s ov->ts = commit_ts; change->committed = commit_ts < TRANSACTION_ID_BASE ? true: false; (void)oldest; + if (!tr->parent) + change->obj->new = 0; } else { os_rollback(ov, tr->store); @@ -1101,7 +1103,6 @@ os_obj_intransaction(objectset *os, stru versionhead *n = find_id(os, b->id); if (n) { - //objectversion *ov = get_valid_object_id(tr, n->ov); objectversion *ov = n->ov; if (ov && os_atmc_get_state(ov) == active && ov->ts == tr->tid) diff --git a/sql/storage/store.c b/sql/storage/store.c --- a/sql/storage/store.c +++ b/sql/storage/store.c @@ -2909,7 +2909,7 @@ new_table(sql_trans *tr, sql_table *t, s { int res = 0; t = find_sql_table(tr, t->s, t->base.name); /* could have changed by depending changes */ - if (!isLocalTemp(t) && !os_obj_intransaction(t->s->tables, tr, &t->base)) + if (!isLocalTemp(t) && !isNew(t) && !os_obj_intransaction(t->s->tables, tr, &t->base)) res = table_dup(tr, t, t->s, NULL, tres); else *tres = t; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list