Thread: setQueryTimeout

setQueryTimeout

From
Toni Urpí
Date:
Hi,

  Does every know if the  method |void setQueryTimeout||(int seconds)|
of Statement is implemented in the Postgres JDBC driver?

The driver seems to recognize it since with a -1 value I obtain an
SQLException stating that "Query timeout must be a value greater than or
equals to 0". However,  with a positive number -says 1 second- and a
query that last more that 1 second, no SQLException is produced.

thank you

toni



Re: setQueryTimeout

From
Kris Jurka
Date:

On Mon, 14 Jan 2008, Toni Urpí wrote:

> Does every know if the  method |void setQueryTimeout||(int seconds)|  of
> Statement is implemented in the Postgres JDBC driver?
>

It is not implemented.

Kris Jurka

Re: setQueryTimeout

From
Guillaume Cottenceau
Date:
Kris Jurka <books 'at' ejurka.com> writes:

> On Mon, 14 Jan 2008, Toni Urpí wrote:
>
>> Does every know if the  method |void setQueryTimeout||(int seconds)|
>> of Statement is implemented in the Postgres JDBC driver?
>
> It is not implemented.

Would "throw new UnsupportedOperationException()" be good to tell
that fact to the users of the driver more directly?

--
Guillaume Cottenceau, MNC Mobile News Channel SA, an Alcatel-Lucent Company
Av. de la Gare 10, 1003 Lausanne, Switzerland - direct +41 21 317 50 36

Re: setQueryTimeout

From
Kris Jurka
Date:

On Mon, 14 Jan 2008, Guillaume Cottenceau wrote:

> Would "throw new UnsupportedOperationException()" be good to tell
> that fact to the users of the driver more directly?
>

That's unknown.  It's unclear how many applications might be calling
setQueryTimeout and not be prepared for an exception.  So while they're
slightly broken now, they could be completely broken with this change.  If
people feel strongly about it we could consider making the change in the
8.3dev driver, but I wouldn't backpatch it.

Kris Jurka

Re: setQueryTimeout

From
Guillaume Cottenceau
Date:
Kris Jurka <books 'at' ejurka.com> writes:

> On Mon, 14 Jan 2008, Guillaume Cottenceau wrote:
>
>> Would "throw new UnsupportedOperationException()" be good to tell
>> that fact to the users of the driver more directly?
>>
>
> That's unknown.  It's unclear how many applications might be calling
> setQueryTimeout and not be prepared for an exception.  So while
> they're slightly broken now, they could be completely broken with this
> change.  If people feel strongly about it we could consider making the
> change in the 8.3dev driver, but I wouldn't backpatch it.

Personnally, I think that developers will most likely expect the
behaviour to be correct if nothing bad (exception) happens.. I'd
say that all unsupported API should throw an appropriate
exception. Doing the change in 8.3dev makes perfect sense to not
break current users, and developers would be crazy to drop in the
8.3 in the future without testing their application again. /me
votes really in favor of that :)

--
Guillaume Cottenceau, MNC Mobile News Channel SA, an Alcatel-Lucent Company
Av. de la Gare 10, 1003 Lausanne, Switzerland - direct +41 21 317 50 36

Re: setQueryTimeout

From
Kris Jurka
Date:

On Mon, 14 Jan 2008, Guillaume Cottenceau wrote:

> Personnally, I think that developers will most likely expect the
> behaviour to be correct if nothing bad (exception) happens.. I'd say
> that all unsupported API should throw an appropriate exception. Doing
> the change in 8.3dev makes perfect sense to not break current users, and
> developers would be crazy to drop in the 8.3 in the future without
> testing their application again.
>

Done, setQueryTimeout will throw an exception if given a non-zero timeout.

Kris Jurka