Re: [HACKERS] Support for JDBC setQueryTimeout, et al. - Mailing list pgsql-jdbc

From Tom Lane
Subject Re: [HACKERS] Support for JDBC setQueryTimeout, et al.
Date
Msg-id 20260.1287153534@sss.pgh.pa.us
Whole thread Raw
In response to Re: [HACKERS] Support for JDBC setQueryTimeout, et al.  (Stephen Frost <sfrost@snowman.net>)
Responses Re: [HACKERS] Support for JDBC setQueryTimeout, et al.
Re: [HACKERS] Support for JDBC setQueryTimeout, et al.
List pgsql-jdbc
Stephen Frost <sfrost@snowman.net> writes:
> * Radosław Smogura (rsmogura@softperience.eu) wrote:
>> But benefits of pooling statements are much more greater then RESET ALL,
>> because you can take advance of precompiling prepared statements,
>> increasing performance; it is comparable to using connection pool instead
>> of starting physical connections.

> errr, I don't believe RESET ALL touches cache'd plans and whatnot (which
> is actually a problem I've run into in the past, because changing the
> search_path also doesn't invalidate plans, and neither does set role, so
> you end up with cache'd plans that try to hit things you don't have
> permissions to any more :( ).

Yeah, actually what you need is DISCARD ALL when reassigning a
connection to another client.  Anything less than that assumes the
clients are cooperating closely, ie they *want* the same prepared
statements etc.  But even if you make that assumption, a pooler that
isn't even capable of sending an ABORT between clients doesn't seem
usable to me.  For example, if a client loses its network connection
mid-transaction, that failure will cascade to other clients if you
don't have any ability to reset the database session before handing
it to another client.

            regards, tom lane

pgsql-jdbc by date:

Previous
From: Tom Lane
Date:
Subject: Re: [HACKERS] Support for JDBC setQueryTimeout, et al.
Next
From: Stephen Frost
Date:
Subject: Re: [HACKERS] Support for JDBC setQueryTimeout, et al.