LENS-621 : Fix seekToStart for closed resultsets in JDBCDriver
Project: http://git-wip-us.apache.org/repos/asf/incubator-lens/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-lens/commit/3eddcb5b Tree: http://git-wip-us.apache.org/repos/asf/incubator-lens/tree/3eddcb5b Diff: http://git-wip-us.apache.org/repos/asf/incubator-lens/diff/3eddcb5b Branch: refs/heads/current-release-line Commit: 3eddcb5b2f5025bfc032155c71171c33683db67d Parents: 77f6aac Author: Amareshwari Sriramadasu <[email protected]> Authored: Mon Jun 22 10:51:06 2015 +0530 Committer: Amareshwari Sriramadasu <[email protected]> Committed: Mon Jun 22 10:51:06 2015 +0530 ---------------------------------------------------------------------- .../src/main/java/org/apache/lens/client/LensClient.java | 6 ++---- .../main/java/org/apache/lens/client/LensClientResultSet.java | 2 +- .../main/java/org/apache/lens/driver/jdbc/JDBCResultSet.java | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/3eddcb5b/lens-client/src/main/java/org/apache/lens/client/LensClient.java ---------------------------------------------------------------------- diff --git a/lens-client/src/main/java/org/apache/lens/client/LensClient.java b/lens-client/src/main/java/org/apache/lens/client/LensClient.java index 51f586a..b15b024 100644 --- a/lens-client/src/main/java/org/apache/lens/client/LensClient.java +++ b/lens-client/src/main/java/org/apache/lens/client/LensClient.java @@ -144,8 +144,7 @@ public class LensClient { } LensClientResultSet result = null; if (statement.getStatus().isResultSetAvailable()) { - result = new LensClientResultSet(statement.getResultSet(), - statement.getResultSetMetaData()); + result = new LensClientResultSet(statement.getResultSetMetaData(), statement.getResultSet()); } return new LensClientResultSetWithStats(result, statement.getQuery()); } @@ -161,8 +160,7 @@ public class LensClient { } LensClientResultSet result = null; if (statement.getStatus().isResultSetAvailable()) { - result = new LensClientResultSet(statement.getResultSet(), - statement.getResultSetMetaData()); + result = new LensClientResultSet(statement.getResultSetMetaData(), statement.getResultSet()); } return new LensClientResultSetWithStats(result, statement.getQuery()); } http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/3eddcb5b/lens-client/src/main/java/org/apache/lens/client/LensClientResultSet.java ---------------------------------------------------------------------- diff --git a/lens-client/src/main/java/org/apache/lens/client/LensClientResultSet.java b/lens-client/src/main/java/org/apache/lens/client/LensClientResultSet.java index 79e8abd..674926f 100644 --- a/lens-client/src/main/java/org/apache/lens/client/LensClientResultSet.java +++ b/lens-client/src/main/java/org/apache/lens/client/LensClientResultSet.java @@ -38,7 +38,7 @@ public class LensClientResultSet { * @param result the result * @param resultSetMetaData the result set meta data */ - public LensClientResultSet(QueryResult result, QueryResultSetMetadata resultSetMetaData) { + public LensClientResultSet(QueryResultSetMetadata resultSetMetaData, QueryResult result) { this.result = result; this.resultSetMetadata = resultSetMetaData; } http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/3eddcb5b/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCResultSet.java ---------------------------------------------------------------------- diff --git a/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCResultSet.java b/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCResultSet.java index bbcc3f1..2687673 100644 --- a/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCResultSet.java +++ b/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCResultSet.java @@ -298,7 +298,7 @@ public class JDBCResultSet extends InMemoryResultSet { @Override public boolean seekToStart() throws LensException { try { - if (!resultSet.isBeforeFirst()) { + if (!resultSet.isClosed() && !resultSet.isBeforeFirst()) { resultSet.beforeFirst(); } return true;
