Github user laurentgo commented on a diff in the pull request:
https://github.com/apache/drill/pull/858#discussion_r149273958
--- Diff:
exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillPreparedStatementImpl.java
---
@@ -201,31 +252,57 @@ public int getQueryTimeout() throws SQLException {
@Override
public void setQueryTimeout(int seconds) throws SQLException {
- throwIfClosed();
- super.setQueryTimeout(seconds);
+ throwIfTimedOutOrClosed();
+ if ( seconds < 0 ) {
+ throw new InvalidParameterSqlException(
+ "Invalid (negative) \"seconds\" parameter to
setQueryTimeout(...)"
+ + " (" + seconds + ")" );
+ }
+ else {
+ if ( 0 < seconds ) {
+ timeoutTrigger = new TimeoutTrigger(this, seconds);
--- End diff --
it might be nice to cancel the previous trigger too, assuming that changing
the timeout after the query was started should have any effect (I would say no,
but JDBC API is not clear here).
---