Changeset: 39da6b8e4803 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=39da6b8e4803
Modified Files:
sql/server/rel_psm.c
Branch: Aug2018
Log Message:
Small insight. Triggers are tightly associated to tables, so disallow a
different schema from the respective table while creating it.
diffs (20 lines):
diff --git a/sql/server/rel_psm.c b/sql/server/rel_psm.c
--- a/sql/server/rel_psm.c
+++ b/sql/server/rel_psm.c
@@ -1174,6 +1174,7 @@ static sql_var*
static sql_rel *
create_trigger(mvc *sql, dlist *qname, int time, symbol *trigger_event, dlist
*tqname, dlist *opt_ref, dlist *triggered_action, int replace)
{
+ const char *triggerschema = qname_schema(qname);
const char *triggername = qname_table(qname);
const char *sname = qname_schema(tqname);
const char *tname = qname_table(tqname);
@@ -1217,6 +1218,8 @@ create_trigger(mvc *sql, dlist *qname, i
return sql_error(sql, 02, SQLSTATE(42000) "%s TRIGGER: unknown
table '%s'", base, tname);
if (create && isView(t))
return sql_error(sql, 02, SQLSTATE(42000) "%s TRIGGER: cannot
create trigger on view '%s'", base, tname);
+ if (triggerschema && strcmp(triggerschema, sname) != 0)
+ return sql_error(sql, 02, SQLSTATE(42000) "%s TRIGGER: trigger
and respective table must belong to the same schema", base);
if (create && (st = mvc_bind_trigger(sql, ss, triggername)) != NULL) {
if (replace) {
if(mvc_drop_trigger(sql, ss, st))
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list