Tom Lane wrote:
We haven't got one that will work from inside arbitrary functions ---
DefineSavepoint and friends don't get it done by themselves, but
expect you to call CommitTransactionCommand/StartTransactionCommand,
and those functions tend to pull the rug out from under the executor.
(I seem
Thomas Hallgren [EMAIL PROTECTED] writes:
What are the future plans?
I haven't got any at the moment ;-). It would make sense to think about
extending the SPI API along the lines you suggest, but I really am not
clear on the implications. Right at the moment I'm focused on trying to
push 8.0
Thomas Hallgren [EMAIL PROTECTED] writes:
I think that this function is needed so that PL/lang authors like
myself have a way to investigate the semantics of a prepared query.
Which you will do what with? I'm not sure I see the point of treating
_SPI_plan as an opaque type while assuming you
Tom Lane wrote:
Looks pretty rejectish to me...
regards, tom lane
Arrghh.
Forget my patch. It's not possible to set savepoints at all using SPI!
Here I was, thinking that only begin/commit/rollback was rejected (I
trusted the documentation and did not dive into the code).
A patch is
Tom Lane wrote:
You do realize that SPI_execute will reject TransactionStmt anyway?
The example is therefore not very compelling ...
It won't reject savepoint related statements and that's what the example
is for.
I want savepoints rejected unless they go through a specific method
found on
Thomas Hallgren [EMAIL PROTECTED] writes:
Tom Lane wrote:
You do realize that SPI_execute will reject TransactionStmt anyway?
The example is therefore not very compelling ...
It won't reject savepoint related statements and that's what the example
is for.
Really?
if
Tom Lane wrote:
Which you will do what with? I'm not sure I see the point of treating
_SPI_plan as an opaque type while assuming you know what to do with a
Query.
What's different in that compared to the methods that use a Snapshot?
The fact that I provided documentation? If so, ok remove the
Thomas Hallgren [EMAIL PROTECTED] writes:
So what *is* the appropriate way of starting, releasing, and rolling
back savepoints then?
We haven't got one that will work from inside arbitrary functions ---
DefineSavepoint and friends don't get it done by themselves, but
expect you to call