Re: BUG #4123: Statement.setQueryTimeout does not work with Postgres Java Driver
От | Kevin Grittner |
---|---|
Тема | Re: BUG #4123: Statement.setQueryTimeout does not work with Postgres Java Driver |
Дата | |
Msg-id | 481208E7.EE98.0025.0@wicourts.gov обсуждение исходный текст |
Ответ на | Re: BUG #4123: Statement.setQueryTimeout does not work with Postgres Java Driver (valgog <valgog@gmail.com>) |
Список | pgsql-bugs |
>>> On Fri, Apr 25, 2008 at 11:59 AM, in message <e9a628e9-fa81-44a8-a49b-7b9efc235875@s50g2000hsb.googlegroups.com>, valgog <valgog@gmail.com> wrote: > On Apr 24, 12:28 pm, bo...@ejurka.com (Kris Jurka) wrote: >> On Wed, 23 Apr 2008, valgog wrote: >> > Is it possible to implement the setStatementTimeout() as somethig >> > like: >> >> > s = c.prepareStatement("SELECT set_config('statement_timeout', >> > <neededTimeoutInMilliseconds>, false);" ); >> > s.executeQuery(); >> > c.commit(); >> >> Not really. This sets a global timeout for all queries while the JDBC API >> specifies that it is per-Statement. Also this only protects against long >> running queries. Recently there was some discussion on the JDBC list >> about soft vs hard timeouts and it seemed the conclusion was that people >> wanted setQueryTimeout to protect against things like the network >> connection dropping that statement_timeout can't do. >> >> In many cases statement_timeout is an adequate substitute for >> setQueryTimeout, but not in the general case that the JDBC driver must >> implement. > > Ok, understood... It's not too hard to create a monitor thread which issues a Statement.cancel after the appropriate interval. We have that option built into our framework; if you route all your SQL requests through some such layer you could do it there. I assume that the only reason it hasn't been implemented in the JDBC driver for PostgreSQL is that there seems to be a reluctance to create any threads in the driver, but rather to use the thread of the requester. Is that a hard and fast rule? -Kevin
В списке pgsql-bugs по дате отправления: