[3/6] phoenix git commit: PHOENIX-2314 Cannot prepare parameterized statement with a 'like' predicate
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: kliewkliewAuthored: 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
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: kliewkliewAuthored: 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
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: kliewkliewAuthored: 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()); + } }