Bruce Momjian wrote:
>
> Hiroshi Inoue wrote:
> > Bruce Momjian wrote:
> > > > > They want the timeout for only the one statement, so they have to set it
> > > > > to non-zero before the statement, and to zero after the statement.
> > > >
> > > > Does setQueryTimeout() issue a corresponding SET QUERY_TIMEOUT
> > > > command immediately in the scenario ?
> > >
> > > Yes. If we don't make the SET rollback-able, we have to do all sorts of
> > > tricks in jdbc so aborted transactions get the proper SET value.
> >
> > In my scenario, setQueryTimeout() only saves the timeout
> > value and issues the corrsponding SET QUERY_TIMEOUT command
> > immediately before each query if necessary.
>
> Yes, we can do that,
Something like my scenario is needed because there could be
more than 1 statement objects with relatively different
query timeout at the same time in theory.
> but it requires an interface like odbc or jdbc. It
> is hard to use for libpq or psql.
We shouldn't expect too much on psql in the first place
because it isn't procedural. I don't expect too much on
libpq either because it's a low level interface. However
applications which use libpq could do like odbc or jdbc
does. Or libpq could also provide a function which encap-
sulates the query timeout handling if necessary.
regards,
Hiroshi Inoue