Thread: setQueryTimeout
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
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
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
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
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
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