db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel John Debrunner <...@debrunners.com>
Subject Bug with query timeout
Date Sat, 10 Sep 2005 00:13:16 GMT
I think I just noticed an bug with the new query timeout function, I
should have seen it during the review.

The timeout is being set on the class GenericPreparedStatement, but this
represents a statement plan and can be shared across multiple
connections (through the statement cache). Thus if two connections
execute the same statement with different timeouts, they will interfere
with each other with the timeout values.

I think the solution is to pass the timeout into the execute method of
org.apache.derby.iapi.sql.PreparedStatement, not store it as a field in
GenericPreparedStatement.


[ aside: Re-naming these classes to *Plan instead of *Statement might
might the code easier to understand as they are not directly related to
java.sql.PreparedStatement and do not behave like JDBC's PreparedStatement.

org.apache.derby.impl.sql.GenericPreparedStatement
org.apache.derby.iapi.sql.execute.ExecPreparedStatement
org.apache.derby.iapi.sql.PreparedStatement

end of aside ]

Dan.


Mime
View raw message