Changeset: 3198138da57e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3198138da57e Modified Files: sql/storage/objectset.c sql/storage/store.c Branch: nospare Log Message:
use find_name in objectverions_destroy (for object sets with unique names) diffs (36 lines): diff --git a/sql/storage/objectset.c b/sql/storage/objectset.c --- a/sql/storage/objectset.c +++ b/sql/storage/objectset.c @@ -184,6 +184,8 @@ os_append(objectset *os, void *data) return os_append_node(os, n); } +static object_node * find_name(objectset *os, const char *name); + static void objectversion_destroy(sqlstore *store, objectversion *ov, ulng commit_ts, ulng oldest) { @@ -204,7 +206,11 @@ objectversion_destroy(sqlstore *store, o newer->older = older; if (!newer && ov->os) { - object_node *on = find_id(ov->os, ov->obj->id); + object_node *on = NULL; + if (ov->os->unique) + on = find_name(ov->os, ov->obj->name); + else + on = find_id(ov->os, ov->obj->id); assert(on->data == ov); if (on) os_remove_node(ov->os, on); diff --git a/sql/storage/store.c b/sql/storage/store.c --- a/sql/storage/store.c +++ b/sql/storage/store.c @@ -3124,6 +3124,7 @@ schema_dup(sql_trans *tr, sql_schema *s, os_iterator(&oi, s->tables, tr, NULL); for (sql_base *b = oi_next(&oi); b; b = oi_next(&oi)) os_add(ns->tables, tr, b->name, (deep)?(sql_base*)table_dup(tr, (sql_table*)b, s, deep):base_incref(b)); + /* TODO copy all the other objects, types, funcs, idxs, keys, triggers and parts */ if (!deep && s->keys) ns->keys = os_dup(s->keys); return ns; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list