From: | Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: We still claim "cannot begin/end transactions in PL/pgSQL" |
Date: | 2018-06-26 09:46:43 |
Message-ID: | 0e6e7400-47fc-b30a-3532-831a6d566934@2ndquadrant.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 5/31/18 14:01, Peter Eisentraut wrote:
> There are three occurrences:
>
> The occurrence in exec_prepare_plan() could never be reached AFAICT,
> because SPI_prepare_params() does not produce those SPI_prepare_params()
> error values in the first place. So remove them altogether.
>
> The occurrence in exec_stmt_execsql() can be reached by running for
> example SAVEPOINT, or any other TransactionStmt other than COMMIT and
> ROLLBACK, which are intercepted by PL/pgSQL. So we still need an error
> message there. Unfortunately, we don't know which TransactionStmt
> caused the error, so the error has to be pretty generic.
>
> The occurrence in exec_stmt_dynexecute() can be reached using something
> like EXECUTE 'COMMIT', which is not supported/not implemented. Hence a
> tweaked error message there as well.
>
> Possible patch attached.
Committed.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Kyotaro HORIGUCHI | 2018-06-26 09:47:48 | Re: [HACKERS] Possibly too stringent Assert() in b-tree code |
Previous Message | Ashutosh Bapat | 2018-06-26 09:42:36 | Thinko/typo in ExecSimpleRelationInsert |