From: | Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at> |
---|---|
To: | "'david(at)andl(dot)org *EXTERN*'" <david(at)andl(dot)org>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: How do BEGIN/COMMIT/ABORT operate in a nested SPI query? |
Date: | 2016-04-18 14:35:50 |
Message-ID: | A737B7A37273E048B164557ADEF4A58B5384109A@ntex2010i.host.magwien.gv.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
david(at)andl(dot)org wrote:
> I am attempting to create a new language implementation. The language is Andl (andl.org) so the
> handler is plandl.
> This is a question about executing SPI queries from inside plandl.
>
> The documentation makes it clear that SPI allows nested queries; that in some instances it will be
> necessary to call SPI_push() and SPI_pop(), but in others this will be handled automatically. Se
> http://www.postgresql.org/docs/9.5/interactive/spi-spi-push.html.
>
> It is an important design feature of plandl to allow nested queries.
>
> My question is: where are the transaction boundaries if the inner/outer query do or do not contain
> BEGIN/ABORT/COMMIT? Do they nest, or does an inner COMMIT finish a transaction started by an outer
> BEGIN, or is it ignored?
You cannot have BEGIN or COMMIT inside a function.
Yours,
Laurenz Albe
From | Date | Subject | |
---|---|---|---|
Next Message | Jinhua Luo | 2016-04-18 14:47:48 | Re: what's the exact command definition in read committed isolation level? |
Previous Message | Adrian Klaver | 2016-04-18 14:22:25 | Re: Enhancement request for pg_dump |