Re: plpgsq_plugin's stmt_end() is not called when an error is caught
| От | Masahiko Sawada |
|---|---|
| Тема | Re: plpgsq_plugin's stmt_end() is not called when an error is caught |
| Дата | |
| Msg-id | CAD21AoDLBr7_JLwH+8tNw0Ecp+iiMMM2WVhNsgJrSh0r0faviA@mail.gmail.com обсуждение исходный текст |
| Ответ на | Re: plpgsq_plugin's stmt_end() is not called when an error is caught (Tom Lane <tgl@sss.pgh.pa.us>) |
| Список | pgsql-hackers |
On Fri, Dec 16, 2022 at 12:49 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > > Masahiko Sawada <sawada.mshk@gmail.com> writes: > > I don't think we need additional PG_TRY() for that since exec_stmts() > > is already called in PG_TRY() if there is an exception block. I meant > > to call stmt_end() in PG_CATCH() in exec_stmt_block() (i.e. only when > > an error is caught by the exception block). Currently, if an error is > > caught, we call stmt_begin() and stmt_end() for statements executed > > inside the exception block but call only stmt_begin() for the > > statement that raised an error. > > I fail to see anything wrong with that. We never completed execution > of the statement that raised an error, but calling stmt_end for it > would imply that we did. Thank you for the comment. Agreed. Regards, -- Masahiko Sawada Amazon Web Services: https://aws.amazon.com
В списке pgsql-hackers по дате отправления: