Changeset: 19eecc3571cf for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/19eecc3571cf
Modified Files:
sql/storage/store.c
Branch: default
Log Message:
move drop's of bats to the sys_drop_* functions
diffs (74 lines):
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -4382,6 +4382,11 @@ sys_drop_idx(sql_trans *tr, sql_idx * i,
return res;
}
+ i->base.deleted = 1;
+ if (!isNew(i) && !isTempTable(i->t))
+ if ((res = store->storage_api.drop_idx(tr,
(sql_idx*)dup_base(&i->base))))
+ return res;
+
/* remove idx from schema and table */
if (isGlobal(i->t) && (res = os_del(i->t->s->idxs, tr, i->base.name,
dup_base(&i->base))))
return res;
@@ -4598,6 +4603,11 @@ sys_drop_column(sql_trans *tr, sql_colum
if ((res = sys_drop_default_object(tr, col, drop_action)))
return res;
+ col->base.deleted = 1;
+ if (!isNew(col) && !isTempTable(col->t))
+ if ((res = store->storage_api.drop_col(tr,
(sql_column*)dup_base(&col->base))))
+ return res;
+
if (drop_action && (res = sql_trans_drop_all_dependencies(tr,
col->base.id, COLUMN_DEPENDENCY)))
return res;
if (col->type.type->s && (res = sql_trans_drop_dependency(tr,
col->type.type->base.id, col->base.id, TYPE_DEPENDENCY)))
@@ -4808,6 +4818,10 @@ sys_drop_table(sql_trans *tr, sql_table
if ((res = sys_drop_columns(tr, t, drop_action)))
return res;
+ if (isTable(t) && !isNew(t))
+ if ((res = store->storage_api.drop_del(tr, t)))
+ return res;
+
if (drop_action && (res = sql_trans_drop_all_dependencies(tr,
t->base.id, !isView(t) ? TABLE_DEPENDENCY : VIEW_DEPENDENCY)))
return res;
return res;
@@ -6079,11 +6093,6 @@ sql_trans_drop_table(sql_trans *tr, sql_
if (t != gt && (res = os_del(tr->localtmps, tr, t->base.name,
dup_base(&t->base))))
return res;
- sqlstore *store = tr->store;
- if (isTable(t) && !isNew(t))
- if ((res = store->storage_api.drop_del(tr, t)))
- return res;
-
if (drop_action == DROP_CASCADE_START && tr->dropped) {
list_destroy(tr->dropped);
tr->dropped = NULL;
@@ -6287,11 +6296,6 @@ sql_trans_drop_column(sql_trans *tr, sql
if ((res = sys_drop_column(tr, col, drop_action)))
return res;
- col->base.deleted = 1;
- if (!isNew(col) && !isTempTable(col->t))
- if ((res = store->storage_api.drop_col(tr,
(sql_column*)dup_base(&col->base))))
- return res;
-
if (isNew(col)) { /* remove create from changes */
trans_del(tr, &col->base);
if (!isNew(col->t))
@@ -6903,11 +6907,6 @@ sql_trans_drop_idx(sql_trans *tr, sql_sc
if ((res = store_reset_sql_functions(tr, i->t->base.id))) /* reset sql
functions depending on the table */
return res;
- i->base.deleted = 1;
- if (!isNew(i) && !isTempTable(i->t))
- if ((res = store->storage_api.drop_idx(tr,
(sql_idx*)dup_base(&i->base))))
- return res;
-
node *n = ol_find_name(i->t->idxs, i->base.name);
if (n)
ol_del(i->t->idxs, store, n);
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]