From ce07129f4d7ba376c59fa5d8244953a4eec05027 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Fri, 16 Feb 2018 20:29:20 -0500 Subject: [PATCH v1 1/8] Update function comments After a6542a4b6870a019cd952d055d2e7af2da2fe102, some function comments were misplaced. Fix that. --- src/backend/access/transam/xact.c | 40 ++++++++++++++++++--------------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index dbaaf8e005..d7688879a3 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -3190,12 +3190,25 @@ PreventTransactionChain(bool isTopLevel, const char *stmtType) } /* - * These two functions allow for warnings or errors if a command is - * executed outside of a transaction block. + * WarnNoTranactionChain + * RequireTransactionChain + * + * These two functions allow for warnings or errors if a command is executed + * outside of a transaction block. This is useful for commands that have no + * effects that persist past transaction end (and so calling them outside a + * transaction block is presumably an error). DECLARE CURSOR is an example. + * While top-level transaction control commands (BEGIN/COMMIT/ABORT) and SET + * that have no effect issue warnings, all other no-effect commands generate + * errors. + * + * If we appear to be running inside a user-defined function, we do not + * issue anything, since the function could issue more commands that make + * use of the current statement's results. Likewise subtransactions. + * Thus this is an inverse for PreventTransactionChain. * - * While top-level transaction control commands (BEGIN/COMMIT/ABORT) and - * SET that have no effect issue warnings, all other no-effect commands - * generate errors. + * isTopLevel: passed down from ProcessUtility to determine whether we are + * inside a function. + * stmtType: statement type name, for warning or error messages. */ void WarnNoTransactionChain(bool isTopLevel, const char *stmtType) @@ -3209,23 +3222,6 @@ RequireTransactionChain(bool isTopLevel, const char *stmtType) CheckTransactionChain(isTopLevel, true, stmtType); } -/* - * RequireTransactionChain - * - * This routine is to be called by statements that must run inside - * a transaction block, because they have no effects that persist past - * transaction end (and so calling them outside a transaction block - * is presumably an error). DECLARE CURSOR is an example. - * - * If we appear to be running inside a user-defined function, we do not - * issue anything, since the function could issue more commands that make - * use of the current statement's results. Likewise subtransactions. - * Thus this is an inverse for PreventTransactionChain. - * - * isTopLevel: passed down from ProcessUtility to determine whether we are - * inside a function. - * stmtType: statement type name, for warning or error messages. - */ static void CheckTransactionChain(bool isTopLevel, bool throwError, const char *stmtType) { base-commit: 51057feaa6bd24b51e6a4715c2090491ef037534 prerequisite-patch-id: 767f2e4d21b2ba347d4d08c3257abb91921fdb7b -- 2.16.2