Re: idle in txn query cancellation
Simon Riggs <simon@2ndquadrant.com>
From: Simon Riggs <simon@2ndQuadrant.com>
To: Andres Freund <andres@anarazel.de>
Cc: pgsql-hackers@postgresql.org
Date: 2010-02-15T08:47:09Z
Lists: pgsql-hackers
On Sat, 2010-02-13 at 22:37 +0100, Andres Freund wrote: > On a related note I would also like to get rid of the restriction that > a normal query cancellation will only be done if no subtransactions > are stacked. > But I guess its too late for that? (I have a patch ready, some cleanup > would be needed) > The latter works by: > - adding a explicit error code (which should be done regardless of > this > discussion) > - avoiding to catch such error at a few places (plperl, plpython) > - recursively aborting the subtransactions once the mainloop is > reached > - relying on the fact that the cancellation signal will get resent > - possibly escalating to a FATAL if nothing happens after a certain > number of tries Such an action needs to have a good, clear theoretical explanation with it to show that the interaction with savepoints is a good one. I toyed with the idea of a new level between ERROR and FATAL to allow ERRORs to be handled by savepoints still in all cases. -- Simon Riggs www.2ndQuadrant.com