KYLIN-2877 fix unclosed prepared statement

Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/ae430ed8
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/ae430ed8
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/ae430ed8

Branch: refs/heads/pr70
Commit: ae430ed8745ea36679113f27d745f6cca7898ac0
Parents: ff14042
Author: Li Yang <liy...@apache.org>
Authored: Sat Sep 23 08:30:17 2017 +0800
Committer: Li Yang <liy...@apache.org>
Committed: Sat Sep 23 08:30:17 2017 +0800

----------------------------------------------------------------------
 .../java/org/apache/kylin/rest/service/QueryService.java    | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/ae430ed8/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java
----------------------------------------------------------------------
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java 
b/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java
index 8a3e6b3..a858fbd 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java
@@ -811,12 +811,13 @@ public class QueryService extends BasicService {
 
             if (isPrepareStatementWithParams(sqlRequest)) {
 
-                PreparedStatement preparedState = 
conn.prepareStatement(correctedSql);
-                processStatementAttr(preparedState, sqlRequest);
+                stat = conn.prepareStatement(correctedSql); // to be closed in 
the finally
+                PreparedStatement prepared = (PreparedStatement) stat;
+                processStatementAttr(prepared, sqlRequest);
                 for (int i = 0; i < ((PrepareSqlRequest) 
sqlRequest).getParams().length; i++) {
-                    setParam(preparedState, i + 1, ((PrepareSqlRequest) 
sqlRequest).getParams()[i]);
+                    setParam(prepared, i + 1, ((PrepareSqlRequest) 
sqlRequest).getParams()[i]);
                 }
-                resultSet = preparedState.executeQuery();
+                resultSet = prepared.executeQuery();
             } else {
                 stat = conn.createStatement();
                 processStatementAttr(stat, sqlRequest);

Reply via email to