You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by el...@apache.org on 2016/03/03 18:30:47 UTC

[3/7] calcite git commit: [CALCITE-1093] Reduce impact of ArrayList performance

[CALCITE-1093] Reduce impact of ArrayList performance


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

Branch: refs/heads/master
Commit: ea41b3412f099c8f1051f1b324b1ba03d644962a
Parents: 1a9be67
Author: Josh Elser <el...@apache.org>
Authored: Wed Mar 2 17:43:33 2016 -0500
Committer: Josh Elser <el...@apache.org>
Committed: Wed Mar 2 19:06:33 2016 -0500

----------------------------------------------------------------------
 .../org/apache/calcite/avatica/jdbc/JdbcMeta.java   | 16 ++++++++--------
 .../apache/calcite/avatica/remote/LocalService.java |  2 +-
 2 files changed, 9 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/calcite/blob/ea41b341/avatica-server/src/main/java/org/apache/calcite/avatica/jdbc/JdbcMeta.java
----------------------------------------------------------------------
diff --git a/avatica-server/src/main/java/org/apache/calcite/avatica/jdbc/JdbcMeta.java b/avatica-server/src/main/java/org/apache/calcite/avatica/jdbc/JdbcMeta.java
index becb19d..dfe7f99 100644
--- a/avatica-server/src/main/java/org/apache/calcite/avatica/jdbc/JdbcMeta.java
+++ b/avatica-server/src/main/java/org/apache/calcite/avatica/jdbc/JdbcMeta.java
@@ -788,7 +788,7 @@ public class JdbcMeta implements Meta {
       if (null == statementInfo) {
         throw new NoSuchStatementException(h);
       }
-      final List<MetaResultSet> resultSets = new ArrayList<>();
+      final List<MetaResultSet> resultSets;
       final PreparedStatement preparedStatement =
           (PreparedStatement) statementInfo.statement;
 
@@ -816,16 +816,16 @@ public class JdbcMeta implements Meta {
 
         if (statementInfo.getResultSet() == null) {
           frame = Frame.EMPTY;
-          resultSets.add(JdbcResultSet.empty(h.connectionId, h.id, signature2));
+          resultSets = Collections.<MetaResultSet>singletonList(
+              JdbcResultSet.empty(h.connectionId, h.id, signature2));
         } else {
-          resultSets.add(
-              JdbcResultSet.create(h.connectionId, h.id,
-                  statementInfo.getResultSet(), maxRowCount, signature2));
+          resultSets = Collections.<MetaResultSet>singletonList(
+              JdbcResultSet.create(h.connectionId, h.id, statementInfo.getResultSet(),
+                  maxRowCount, signature2));
         }
       } else {
-        resultSets.add(
-            JdbcResultSet.count(
-                h.connectionId, h.id, preparedStatement.getUpdateCount()));
+        resultSets = Collections.<MetaResultSet>singletonList(
+            JdbcResultSet.count(h.connectionId, h.id, preparedStatement.getUpdateCount()));
       }
 
       return new ExecuteResult(resultSets);

http://git-wip-us.apache.org/repos/asf/calcite/blob/ea41b341/avatica/src/main/java/org/apache/calcite/avatica/remote/LocalService.java
----------------------------------------------------------------------
diff --git a/avatica/src/main/java/org/apache/calcite/avatica/remote/LocalService.java b/avatica/src/main/java/org/apache/calcite/avatica/remote/LocalService.java
index e9c4367..11d15c9 100644
--- a/avatica/src/main/java/org/apache/calcite/avatica/remote/LocalService.java
+++ b/avatica/src/main/java/org/apache/calcite/avatica/remote/LocalService.java
@@ -233,7 +233,7 @@ public class LocalService implements Service {
       final Meta.ExecuteResult executeResult = meta.execute(request.statementHandle,
           request.parameterValues, request.maxRowCount);
 
-      final List<ResultSetResponse> results = new ArrayList<>();
+      final List<ResultSetResponse> results = new ArrayList<>(executeResult.resultSets.size());
       for (Meta.MetaResultSet metaResultSet : executeResult.resultSets) {
         results.add(toResponse(metaResultSet));
       }