aboutsummaryrefslogtreecommitdiff
path: root/src/backend/tcop/utility.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2013-10-04 13:50:28 -0400
committerBruce Momjian <bruce@momjian.us>2013-10-04 13:50:28 -0400
commita54141aebcafa02cba5204596758dadbbeb0f78e (patch)
tree0aaccd0fb99565c20d8449f8d2bbe6a5cdbb042c /src/backend/tcop/utility.c
parent4655b607f34836ae19f262bfdfe95c0be74d920c (diff)
downloadpostgresql-a54141aebcafa02cba5204596758dadbbeb0f78e.tar.gz
postgresql-a54141aebcafa02cba5204596758dadbbeb0f78e.zip
Issue error on SET outside transaction block in some cases
Issue error for SET LOCAL/CONSTRAINTS/TRANSACTION outside a transaction block, as they have no effect. Per suggestion from Morten Hustveit
Diffstat (limited to 'src/backend/tcop/utility.c')
-rw-r--r--src/backend/tcop/utility.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c
index fffaa35d344..6a7bf0de7d7 100644
--- a/src/backend/tcop/utility.c
+++ b/src/backend/tcop/utility.c
@@ -688,7 +688,7 @@ standard_ProcessUtility(Node *parsetree,
break;
case T_VariableSetStmt:
- ExecSetVariableStmt((VariableSetStmt *) parsetree);
+ ExecSetVariableStmt((VariableSetStmt *) parsetree, isTopLevel);
break;
case T_VariableShowStmt:
@@ -754,6 +754,7 @@ standard_ProcessUtility(Node *parsetree,
break;
case T_ConstraintsSetStmt:
+ RequireTransactionChain(isTopLevel, "SET CONSTRAINTS");
AfterTriggerSetState((ConstraintsSetStmt *) parsetree);
break;