Re: About subxact and xact nesting level...
От | Tom Lane |
---|---|
Тема | Re: About subxact and xact nesting level... |
Дата | |
Msg-id | 29564.1462154426@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: About subxact and xact nesting level... (Thomas Munro <thomas.munro@enterprisedb.com>) |
Ответы |
Re: About subxact and xact nesting level...
|
Список | pgsql-hackers |
Thomas Munro <thomas.munro@enterprisedb.com> writes: > On Mon, May 2, 2016 at 12:24 PM, <david@andl.org> wrote: >> The file xact.c contains references to sub-transactions (subxact) and >> transaction nesting level, but no obvious documentation about what these >> correspond to in SQL. > Subtransactions are used to implement SAVEPOINT, and also BEGIN blocks > with EXCEPTION clauses in plpgsql. Yeah. The implementation is based on nested subtransactions, and that concept also applies pretty directly to, eg, BEGIN/EXCEPT blocks in plpgsql. But what's exposed to SQL is SAVEPOINT/RELEASE SAVEPOINT/ ROLLBACK TO SAVEPOINT, because those operations are what the standard specifies. If you hold your head at the correct angle you can see those as nested subtransactions, but it's not exactly obvious --- mainly because RELEASE and ROLLBACK can exit multiple levels of nested subtransaction in one command. regards, tom lane
В списке pgsql-hackers по дате отправления: