You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2016/05/12 13:32:11 UTC
kylin git commit: KYLIN-1685,
error happens while execute a sql contains '?' using Statement
Repository: kylin
Updated Branches:
refs/heads/1.3.x 404fe1ef9 -> 5705a1809
KYLIN-1685,error happens while execute a sql contains '?' using Statement
Signed-off-by: fengyu <hz...@corp.netease.com>
Signed-off-by: lidongsjtu <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/5705a180
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/5705a180
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/5705a180
Branch: refs/heads/1.3.x
Commit: 5705a18090d9d114f6c30bdbb31fe58f1f95b1d4
Parents: 404fe1e
Author: fengyu <hz...@corp.netease.com>
Authored: Thu May 12 17:42:26 2016 +0800
Committer: lidongsjtu <li...@apache.org>
Committed: Thu May 12 21:29:24 2016 +0800
----------------------------------------------------------------------
.../org/apache/kylin/jdbc/KylinResultSet.java | 3 +++
.../java/org/apache/kylin/jdbc/DriverTest.java | 19 +++++++++++++++++++
2 files changed, 22 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/5705a180/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 9db53f4..09ce804 100644
--- a/jdbc/src/main/java/org/apache/kylin/jdbc/KylinResultSet.java
+++ b/jdbc/src/main/java/org/apache/kylin/jdbc/KylinResultSet.java
@@ -50,6 +50,9 @@ public class KylinResultSet extends AvaticaResultSet {
String sql = signature.sql;
List<AvaticaParameter> params = signature.parameters;
List<Object> paramValues = null;
+ if(statement instanceof KylinStatement) {
+ params = null;
+ }
if (params != null && params.size() > 0) {
paramValues = ((KylinPreparedStatement) statement).getParameterValues2();
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/5705a180/jdbc/src/test/java/org/apache/kylin/jdbc/DriverTest.java
----------------------------------------------------------------------
diff --git a/jdbc/src/test/java/org/apache/kylin/jdbc/DriverTest.java b/jdbc/src/test/java/org/apache/kylin/jdbc/DriverTest.java
index eec7f91..4a16151 100644
--- a/jdbc/src/test/java/org/apache/kylin/jdbc/DriverTest.java
+++ b/jdbc/src/test/java/org/apache/kylin/jdbc/DriverTest.java
@@ -66,6 +66,25 @@ public class DriverTest {
assertEquals("tool", resultSet.getString(3));
}
}
+
+ @Test
+ public void testStatementWithQuestionMask() throws SQLException {
+ Driver driver = new DummyDriver();
+
+ Connection conn = driver.connect("jdbc:kylin://test_url/test_db", null);
+ Statement state = conn.createStatement();
+ ResultSet resultSet = state.executeQuery("select * from test_table where url not in ('http://a.b.com/?a=b')");
+ ResultSetMetaData metadata = resultSet.getMetaData();
+ assertEquals(12, metadata.getColumnType(1));
+ assertEquals("varchar", metadata.getColumnTypeName(1));
+ assertEquals(1, metadata.isNullable(1));
+
+ while (resultSet.next()) {
+ assertEquals("foo", resultSet.getString(1));
+ assertEquals("bar", resultSet.getString(2));
+ assertEquals("tool", resultSet.getString(3));
+ }
+ }
@Test
public void testPreparedStatementWithMockData() throws SQLException {