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));
}