Re: statement_timeout vs DECLARE CURSOR

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Christophe Pettus <xof(at)thebuild(dot)com>
Cc: "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: statement_timeout vs DECLARE CURSOR
Date: 2021-09-27 19:40:39
Message-ID: 2767393.1632771639@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

Christophe Pettus <xof(at)thebuild(dot)com> writes:
>> On Sep 27, 2021, at 10:42, Christophe Pettus <xof(at)thebuild(dot)com> wrote:
>> We've encountered some unexpected behavior with statement_timeout not cancelling a query in DECLARE CURSOR, but only if the DECLARE CURSOR is outside of a transaction:

> A bit more poking revealed the reason: The ON HOLD cursor's query is executed at commit time (which is, logically, not interruptible), but that's all wrapped in the single statement outside of a transaction.

Hmm ... seems like a bit of a UX failure. I wonder why we don't persist
such cursors before we get into the uninterruptible part of COMMIT.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Raymond Brinzer 2021-09-28 13:24:35 Nested Schemata, in a Standard-Compliant Way?
Previous Message Christophe Pettus 2021-09-27 18:10:19 Re: statement_timeout vs DECLARE CURSOR

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2021-09-27 19:44:19 Re: [BUG] failed assertion in EnsurePortalSnapshotExists()
Previous Message Jacob Champion 2021-09-27 19:40:28 Re: Support for NSS as a libpq TLS backend