[3/6] phoenix git commit: PHOENIX-2314 Cannot prepare parameterized statement with a 'like' predicate

2018-05-25 Thread pboado
PHOENIX-2314 Cannot prepare parameterized statement with a 'like' predicate


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

Branch: refs/heads/4.x-cdh5.14
Commit: 5fb85b5fcd575552c4952e1d48164820e3a66c8d
Parents: df2a7e6
Author: kliewkliew 
Authored: Fri Sep 1 22:28:44 2017 +0100
Committer: Pedro Boado 
Committed: Fri May 25 09:24:04 2018 +0100

--
 .../phoenix/end2end/LikeExpressionIT.java   | 16 +++
 .../phoenix/compile/ExpressionCompiler.java |  2 +-
 .../phoenix/end2end/QueryServerBasicsIT.java| 28 
 3 files changed, 45 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/5fb85b5f/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
index c2198cc..0b061d5 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
@@ -414,4 +414,20 @@ public class LikeExpressionIT extends 
ParallelStatsDisabledIT {
 assertEquals(expectedCount, i);
 }
 }
+
+@Test
+public void testParameterizedLikeExpression() throws Exception {
+final Connection conn = DriverManager.getConnection(getUrl());
+final PreparedStatement select = conn.prepareStatement(
+"select k from " + tableName + " where k like ?");
+select.setString(1, "12%");
+ResultSet rs = select.executeQuery();
+assertTrue(rs.next());
+assertEquals("123n7-app-2-", rs.getString(1));
+assertFalse(rs.next());
+
+select.setString(1, null);
+rs = select.executeQuery();
+assertFalse(rs.next());
+}
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/5fb85b5f/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
index fb4c542..9daa744 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
@@ -498,7 +498,7 @@ public class ExpressionCompiler extends 
UnsupportedAllParseNodeVisitor 0
 // We can't use lhs IS NOT NULL b/c if lhs is NULL we need

http://git-wip-us.apache.org/repos/asf/phoenix/blob/5fb85b5f/phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerBasicsIT.java
--
diff --git 
a/phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerBasicsIT.java
 
b/phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerBasicsIT.java
index ca4cf0b..ceb0a78 100644
--- 
a/phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerBasicsIT.java
+++ 
b/phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerBasicsIT.java
@@ -315,4 +315,32 @@ public class QueryServerBasicsIT extends 
BaseHBaseManagedTimeIT {
   private int getArrayValueForOffset(int arrayOffset) {
   return arrayOffset * 2 + 1;
   }
+
+  @Test
+  public void testParameterizedLikeExpression() throws Exception {
+final Connection conn = DriverManager.getConnection(CONN_STRING);
+final String tableName = generateUniqueName();
+conn.createStatement().execute(
+"CREATE TABLE " + tableName + " (k VARCHAR NOT NULL PRIMARY KEY, i 
INTEGER)");
+conn.commit();
+
+final PreparedStatement upsert = conn.prepareStatement(
+"UPSERT INTO " + tableName + " VALUES (?, ?)");
+upsert.setString(1, "123n7-app-2-");
+upsert.setInt(2, 1);
+upsert.executeUpdate();
+conn.commit();
+
+final PreparedStatement select = conn.prepareStatement(
+"select k from " + tableName + " where k like ?");
+select.setString(1, "12%");
+ResultSet rs = select.executeQuery();
+assertTrue(rs.next());
+assertEquals("123n7-app-2-", rs.getString(1));
+assertFalse(rs.next());
+
+select.setString(1, null);
+rs = select.executeQuery();
+assertFalse(rs.next());
+  }
 }



[3/6] phoenix git commit: PHOENIX-2314 Cannot prepare parameterized statement with a 'like' predicate

2018-05-25 Thread pboado
PHOENIX-2314 Cannot prepare parameterized statement with a 'like' predicate


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

Branch: refs/heads/4.x-cdh5.13
Commit: 5fb85b5fcd575552c4952e1d48164820e3a66c8d
Parents: df2a7e6
Author: kliewkliew 
Authored: Fri Sep 1 22:28:44 2017 +0100
Committer: Pedro Boado 
Committed: Fri May 25 09:24:04 2018 +0100

--
 .../phoenix/end2end/LikeExpressionIT.java   | 16 +++
 .../phoenix/compile/ExpressionCompiler.java |  2 +-
 .../phoenix/end2end/QueryServerBasicsIT.java| 28 
 3 files changed, 45 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/5fb85b5f/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
index c2198cc..0b061d5 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
@@ -414,4 +414,20 @@ public class LikeExpressionIT extends 
ParallelStatsDisabledIT {
 assertEquals(expectedCount, i);
 }
 }
+
+@Test
+public void testParameterizedLikeExpression() throws Exception {
+final Connection conn = DriverManager.getConnection(getUrl());
+final PreparedStatement select = conn.prepareStatement(
+"select k from " + tableName + " where k like ?");
+select.setString(1, "12%");
+ResultSet rs = select.executeQuery();
+assertTrue(rs.next());
+assertEquals("123n7-app-2-", rs.getString(1));
+assertFalse(rs.next());
+
+select.setString(1, null);
+rs = select.executeQuery();
+assertFalse(rs.next());
+}
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/5fb85b5f/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
index fb4c542..9daa744 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
@@ -498,7 +498,7 @@ public class ExpressionCompiler extends 
UnsupportedAllParseNodeVisitor 0
 // We can't use lhs IS NOT NULL b/c if lhs is NULL we need

http://git-wip-us.apache.org/repos/asf/phoenix/blob/5fb85b5f/phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerBasicsIT.java
--
diff --git 
a/phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerBasicsIT.java
 
b/phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerBasicsIT.java
index ca4cf0b..ceb0a78 100644
--- 
a/phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerBasicsIT.java
+++ 
b/phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerBasicsIT.java
@@ -315,4 +315,32 @@ public class QueryServerBasicsIT extends 
BaseHBaseManagedTimeIT {
   private int getArrayValueForOffset(int arrayOffset) {
   return arrayOffset * 2 + 1;
   }
+
+  @Test
+  public void testParameterizedLikeExpression() throws Exception {
+final Connection conn = DriverManager.getConnection(CONN_STRING);
+final String tableName = generateUniqueName();
+conn.createStatement().execute(
+"CREATE TABLE " + tableName + " (k VARCHAR NOT NULL PRIMARY KEY, i 
INTEGER)");
+conn.commit();
+
+final PreparedStatement upsert = conn.prepareStatement(
+"UPSERT INTO " + tableName + " VALUES (?, ?)");
+upsert.setString(1, "123n7-app-2-");
+upsert.setInt(2, 1);
+upsert.executeUpdate();
+conn.commit();
+
+final PreparedStatement select = conn.prepareStatement(
+"select k from " + tableName + " where k like ?");
+select.setString(1, "12%");
+ResultSet rs = select.executeQuery();
+assertTrue(rs.next());
+assertEquals("123n7-app-2-", rs.getString(1));
+assertFalse(rs.next());
+
+select.setString(1, null);
+rs = select.executeQuery();
+assertFalse(rs.next());
+  }
 }



[3/6] phoenix git commit: PHOENIX-2314 Cannot prepare parameterized statement with a 'like' predicate

2018-05-25 Thread pboado
PHOENIX-2314 Cannot prepare parameterized statement with a 'like' predicate


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

Branch: refs/heads/4.x-cdh5.12
Commit: 5fb85b5fcd575552c4952e1d48164820e3a66c8d
Parents: df2a7e6
Author: kliewkliew 
Authored: Fri Sep 1 22:28:44 2017 +0100
Committer: Pedro Boado 
Committed: Fri May 25 09:24:04 2018 +0100

--
 .../phoenix/end2end/LikeExpressionIT.java   | 16 +++
 .../phoenix/compile/ExpressionCompiler.java |  2 +-
 .../phoenix/end2end/QueryServerBasicsIT.java| 28 
 3 files changed, 45 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/5fb85b5f/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
index c2198cc..0b061d5 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
@@ -414,4 +414,20 @@ public class LikeExpressionIT extends 
ParallelStatsDisabledIT {
 assertEquals(expectedCount, i);
 }
 }
+
+@Test
+public void testParameterizedLikeExpression() throws Exception {
+final Connection conn = DriverManager.getConnection(getUrl());
+final PreparedStatement select = conn.prepareStatement(
+"select k from " + tableName + " where k like ?");
+select.setString(1, "12%");
+ResultSet rs = select.executeQuery();
+assertTrue(rs.next());
+assertEquals("123n7-app-2-", rs.getString(1));
+assertFalse(rs.next());
+
+select.setString(1, null);
+rs = select.executeQuery();
+assertFalse(rs.next());
+}
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/5fb85b5f/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
index fb4c542..9daa744 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
@@ -498,7 +498,7 @@ public class ExpressionCompiler extends 
UnsupportedAllParseNodeVisitor 0
 // We can't use lhs IS NOT NULL b/c if lhs is NULL we need

http://git-wip-us.apache.org/repos/asf/phoenix/blob/5fb85b5f/phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerBasicsIT.java
--
diff --git 
a/phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerBasicsIT.java
 
b/phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerBasicsIT.java
index ca4cf0b..ceb0a78 100644
--- 
a/phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerBasicsIT.java
+++ 
b/phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerBasicsIT.java
@@ -315,4 +315,32 @@ public class QueryServerBasicsIT extends 
BaseHBaseManagedTimeIT {
   private int getArrayValueForOffset(int arrayOffset) {
   return arrayOffset * 2 + 1;
   }
+
+  @Test
+  public void testParameterizedLikeExpression() throws Exception {
+final Connection conn = DriverManager.getConnection(CONN_STRING);
+final String tableName = generateUniqueName();
+conn.createStatement().execute(
+"CREATE TABLE " + tableName + " (k VARCHAR NOT NULL PRIMARY KEY, i 
INTEGER)");
+conn.commit();
+
+final PreparedStatement upsert = conn.prepareStatement(
+"UPSERT INTO " + tableName + " VALUES (?, ?)");
+upsert.setString(1, "123n7-app-2-");
+upsert.setInt(2, 1);
+upsert.executeUpdate();
+conn.commit();
+
+final PreparedStatement select = conn.prepareStatement(
+"select k from " + tableName + " where k like ?");
+select.setString(1, "12%");
+ResultSet rs = select.executeQuery();
+assertTrue(rs.next());
+assertEquals("123n7-app-2-", rs.getString(1));
+assertFalse(rs.next());
+
+select.setString(1, null);
+rs = select.executeQuery();
+assertFalse(rs.next());
+  }
 }