Changeset: e894b0f2cdc4 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e894b0f2cdc4
Modified Files:
sql/storage/store.c
Branch: arrays
Log Message:
drop ranges where droping an array
diffs (34 lines):
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -3898,6 +3898,21 @@ sys_drop_column(sql_trans *tr, sql_colum
}
static void
+sql_trans_drop_ranges(sql_trans* tr, sqlid depend_id)
+{
+ oid rid;
+ sql_schema * s = find_sql_schema(tr, "sys");
+ sql_table* ranges = find_sql_table(s, "_ranges");
+ sql_column * dep_dep_id = find_sql_column(ranges, "dimension_id");
+ rids *rs;
+
+ rs = table_funcs.rids_select(tr, dep_dep_id, &depend_id, &depend_id, NULL);
+ for(rid = table_funcs.rids_next(rs); rid != oid_nil; rid =
table_funcs.rids_next(rs))
+ table_funcs.table_delete(tr, ranges, rid);
+ table_funcs.rids_destroy(rs);
+}
+
+static void
sys_drop_dimension(sql_trans *tr, sql_dimension *dim)
{
// str seq_pos = NULL;
@@ -3909,6 +3924,8 @@ sys_drop_dimension(sql_trans *tr, sql_di
assert(rid != oid_nil);
table_funcs.table_delete(tr, syscolumn, rid);
+
+ sql_trans_drop_ranges(tr, dim->base.id);
sql_trans_drop_dependencies(tr, dim->base.id);
#if 0
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list