Changeset: 01b8f870f87f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=01b8f870f87f
Modified Files:
sql/server/rel_psm.c
sql/server/rel_schema.c
Branch: Jun2020
Log Message:
Set session schema on trigger's schema and restore afterwards alike in functions
diffs (38 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
@@ -1198,7 +1198,7 @@ create_trigger(sql_query *query, dlist *
const char *triggername = qname_table(qname);
const char *sname = qname_schema(tqname);
const char *tname = qname_table(tqname);
- sql_schema *ss = cur_schema(sql);
+ sql_schema *ss = cur_schema(sql), *old_schema = cur_schema(sql);
sql_table *t = NULL;
sql_trigger *st = NULL;
int instantiate = (sql->emode == m_instantiate);
@@ -1309,7 +1309,10 @@ create_trigger(sql_query *query, dlist *
if (old_name)
stack_update_rel_view(sql, old_name,
new_name?rel_dup(rel):rel);
}
- if (!(sq = sequential_block(query, NULL, NULL, stmts, NULL, 1))) {
+ sql->session->schema = ss;
+ sq = sequential_block(query, NULL, NULL, stmts, NULL, 1);
+ sql->session->schema = old_schema;
+ if (!sq) {
if (!instantiate)
stack_pop_frame(sql);
return NULL;
diff --git a/sql/server/rel_schema.c b/sql/server/rel_schema.c
--- a/sql/server/rel_schema.c
+++ b/sql/server/rel_schema.c
@@ -1381,9 +1381,7 @@ rel_create_schema(sql_query *query, dlis
sql_schema *os = sql->session->schema;
dnode *n;
sql_schema *ss = SA_ZNEW(sql->sa, sql_schema);
- sql_rel *ret;
-
- ret = rel_create_schema_dll(sql->sa, name, auth, 0);
+ sql_rel *ret = rel_create_schema_dll(sql->sa, name, auth, 0);
ss->base.name = name;
ss->auth_id = auth_id;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list