Hiroshi Inoue wrote:
> 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.
Yes, if you want multiple timeouts, you clearly could go in that
direction. Right now, we are considering only single-statement timing
and no one has asked for multiple timers.
>
> > 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.
I certainly would like _something_ that works in psql/libpq, and the
simple SET QUERY_TIMEOUT does work for them. More sophisticated stuff
probably should be done in the application or interface.
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill,
Pennsylvania19026