On Tue, May 15, 2018 at 09:51:47AM +0900, Tatsuo Ishii wrote:
> >> I could not find this:
> >>
> >> $ git log -1 f8e5f15
> >> commit f8e5f156b30efee5d0038b03e38735773abcb7ed
> >> Author: Andres Freund <andres@anarazel.de>
> >> Date: Mon Sep 18 19:36:44 2017 -0700
> >>
> >> Rearm statement_timeout after each executed query.
> >>
> >> Previously statement_timeout, in the extended protocol, affected all
> >> messages till a Sync message. For clients that pipeline/batch query
> >> execution that's problematic.
> >>
> >> Instead disable timeout after each Execute message, and enable, if
> >> necessary, the timer in start_xact_command(). As that's done only for
> >> Execute and not Parse / Bind, pipelining the latter two could still
> >> cause undesirable timeouts. But a survey of protocol implementations
> >> shows that all drivers issue Sync messages when preparing, and adding
> >> timeout rearming to both is fairly expensive for the common parse /
> >> bind / execute sequence.
> >>
> >> Author: Tatsuo Ishii, editorialized by Andres Freund
> >> Reviewed-By: Takayuki Tsunakawa, Andres Freund
> >> Discussion: https://postgr.es/m/20170222.115044.1665674502985097185.t-ishii@sraoss.co.jp
> >
> > That seemed too detailed for the release notes. Is that wrong?
>
> This commit gives user-visible changes to the statment timeout
> behavior. So I think this should be added to the release notes.
OK, makes sense. Here is what I added:
2017-09-18 [f8e5f156b] Rearm statement_timeout after each executed query.
In the <link linkend="protocol-query-concepts">Extended Query
Protocol</link>, have <varname>statement_timeout</varname> apply
to each <literal>Execute</literal> message, not to all commands
before <literal>Sync</literal> (Tatsuo Ishii)
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ As you are, so once was I. As I am, so you will be. +
+ Ancient Roman grave inscription +