You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by sh...@apache.org on 2016/07/25 12:12:36 UTC
[04/50] [abbrv] kylin git commit: KYLIN-1817: support date type for
PreparedStatement
KYLIN-1817: support date type for PreparedStatement
Signed-off-by: Li Yang <li...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/56071064
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/56071064
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/56071064
Branch: refs/heads/1.5.x-HBase1.x
Commit: 56071064f085e72373446bde00143b4e1de7e454
Parents: 13ae661
Author: Yiming Liu <li...@gmail.com>
Authored: Mon Jul 4 21:51:01 2016 +0800
Committer: Li Yang <li...@apache.org>
Committed: Tue Jul 5 16:43:40 2016 +0800
----------------------------------------------------------------------
.../org/apache/kylin/jdbc/KylinPreparedStatement.java | 13 ++++++++-----
.../java/org/apache/kylin/jdbc/KylinResultSet.java | 2 +-
2 files changed, 9 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/56071064/jdbc/src/main/java/org/apache/kylin/jdbc/KylinPreparedStatement.java
----------------------------------------------------------------------
diff --git a/jdbc/src/main/java/org/apache/kylin/jdbc/KylinPreparedStatement.java b/jdbc/src/main/java/org/apache/kylin/jdbc/KylinPreparedStatement.java
index 1a1deda..167894c 100644
--- a/jdbc/src/main/java/org/apache/kylin/jdbc/KylinPreparedStatement.java
+++ b/jdbc/src/main/java/org/apache/kylin/jdbc/KylinPreparedStatement.java
@@ -25,12 +25,14 @@ import java.sql.RowId;
import java.sql.SQLException;
import java.sql.SQLXML;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import org.apache.calcite.avatica.AvaticaConnection;
import org.apache.calcite.avatica.AvaticaPreparedStatement;
import org.apache.calcite.avatica.Meta.Signature;
import org.apache.calcite.avatica.Meta.StatementHandle;
+import org.apache.calcite.avatica.remote.TypedValue;
public class KylinPreparedStatement extends AvaticaPreparedStatement {
@@ -40,12 +42,13 @@ public class KylinPreparedStatement extends AvaticaPreparedStatement {
this.handle.signature = signature;
}
- protected List<Object> getParameterValues2() {
- List<Object> values = new ArrayList<>(slots.length);
- for (int i = 0; i < slots.length; i++) {
- values.add(slots[i].value);
+ protected List<Object> getParameterJDBCValues() {
+ List<TypedValue> typeValues = getParameterValues();
+ List<Object> jdbcValues = new ArrayList<Object>(typeValues.size());
+ for(TypedValue typeValue: typeValues){
+ jdbcValues.add(typeValue.toJdbc(getCalendar()));
}
- return values;
+ return jdbcValues;
}
// ============================================================================
http://git-wip-us.apache.org/repos/asf/kylin/blob/56071064/jdbc/src/main/java/org/apache/kylin/jdbc/KylinResultSet.java
----------------------------------------------------------------------
diff --git a/jdbc/src/main/java/org/apache/kylin/jdbc/KylinResultSet.java b/jdbc/src/main/java/org/apache/kylin/jdbc/KylinResultSet.java
index a6117cc..1bf2555 100644
--- a/jdbc/src/main/java/org/apache/kylin/jdbc/KylinResultSet.java
+++ b/jdbc/src/main/java/org/apache/kylin/jdbc/KylinResultSet.java
@@ -53,7 +53,7 @@ public class KylinResultSet extends AvaticaResultSet {
if (!(statement instanceof KylinPreparedStatement)) {
params = null;
} else if (params != null && params.size() > 0) {
- paramValues = ((KylinPreparedStatement) statement).getParameterValues2();
+ paramValues = ((KylinPreparedStatement) statement).getParameterJDBCValues();
}
IRemoteClient client = ((KylinConnection) statement.connection).getRemoteClient();