diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2018-03-24 10:05:06 -0400 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2018-03-28 13:31:27 -0400 |
commit | d92bc83c48bdea9888e64cf1e2edbac9693099c9 (patch) | |
tree | 5cccf082581787b24af269613fb7b3cc4c4484d7 /src/include/tcop | |
parent | c2d4eb1b1fa252fd8c407e1519308017a18afed1 (diff) | |
download | postgresql-d92bc83c48bdea9888e64cf1e2edbac9693099c9.tar.gz |
PL/pgSQL: Nested CALL with transactions
So far, a nested CALL or DO in PL/pgSQL would not establish a context
where transaction control statements were allowed. This fixes that by
handling CALL and DO specially in PL/pgSQL, passing the atomic/nonatomic
execution context through and doing the required management around
transaction boundaries.
Reviewed-by: Tomas Vondra <tomas.vondra@2ndquadrant.com>
Diffstat (limited to 'src/include/tcop')
-rw-r--r-- | src/include/tcop/utility.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/include/tcop/utility.h b/src/include/tcop/utility.h index 5550055710..880d19311a 100644 --- a/src/include/tcop/utility.h +++ b/src/include/tcop/utility.h @@ -20,6 +20,7 @@ typedef enum { PROCESS_UTILITY_TOPLEVEL, /* toplevel interactive command */ PROCESS_UTILITY_QUERY, /* a complete query, but not toplevel */ + PROCESS_UTILITY_QUERY_NONATOMIC, /* a complete query, nonatomic execution context */ PROCESS_UTILITY_SUBCOMMAND /* a portion of a query */ } ProcessUtilityContext; |