> FWIW, I think the existing behavior is just fine. It corresponds to what > PQexec has always done with multi-statement query strings; that is, > statement_timeout governs the total time to execute the transaction (the > whole query string, unless you put transaction control commands in there). > In extended query mode, since you can only put one textual query per Parse > message, that maps to statement_timeout governing the total time from > initial Parse to Sync. Which is what it does.
I've never thought about that. And I cannot imagine anyone is using that way in extended protocol to simulate multi-statement queries. Is that documented somewhere? > What you propose here is not a bug fix but a redefinition of what > statement_timeout does; and you've made it inconsistent with simple query > mode. I don't really think it's an improvement. >From the document about statement_timeout (config.sgml): Abort any statement that takes more than the specified number of milliseconds, starting from the time the command arrives at the server from the client. If <varname>log_min_error_statement</> is set to <literal>ERROR</> or lower, the statement that timed out will also be logged. A value of zero (the default) turns this off. Apparently "starting from the time the command arrives at the server from the client" referrers to the timing of execute message arrives to server the in my example. And I think current behavior of our code is doing different from what he document advertises. Or at least counter intuitive to users. > BTW, aren't you missing a re-enable of the timeout for statements after > the first one? Will check. Best regards, -- Tatsuo Ishii SRA OSS, Inc. Japan English: http://www.sraoss.co.jp/index_en.php Japanese:http://www.sraoss.co.jp -- Sent via pgsql-hackers mailing list (firstname.lastname@example.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers