git commit: PHOENIX-1288 Fix selecting multiple array indexes
Repository: phoenix Updated Branches: refs/heads/3.0 ca776fe89 - 48a4bd670 PHOENIX-1288 Fix selecting multiple array indexes Don't attempt to remove the same KeyValue multiple times when transforming multiple array index references into a single filtered KeyValue. Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/48a4bd67 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/48a4bd67 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/48a4bd67 Branch: refs/heads/3.0 Commit: 48a4bd6709e49d8e629e766b2469bb96b0699c37 Parents: ca776fe Author: Gabriel Reid gabri...@ngdata.com Authored: Wed Sep 24 21:04:46 2014 +0200 Committer: Gabriel Reid gabri...@ngdata.com Committed: Wed Sep 24 21:04:46 2014 +0200 -- .../org/apache/phoenix/end2end/ArrayIT.java | 99 ++-- .../phoenix/coprocessor/ScanRegionObserver.java | 58 ++-- 2 files changed, 79 insertions(+), 78 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/48a4bd67/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java -- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java index a7fe827..21cfcdd 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java @@ -292,7 +292,7 @@ public class ArrayIT extends BaseClientManagedTimeIT { conn.close(); } } - + @Test public void testUpsertValuesWithArray() throws Exception { long ts = nextTimestamp(); @@ -373,7 +373,7 @@ public class ArrayIT extends BaseClientManagedTimeIT { } } } - + @Test public void testArraySelectWithORCondition() throws Exception { long ts = nextTimestamp(); @@ -552,7 +552,7 @@ public class ArrayIT extends BaseClientManagedTimeIT { } } } - + @Test public void testSelectWithArrayWithColumnRef() throws Exception { long ts = nextTimestamp(); @@ -583,7 +583,7 @@ public class ArrayIT extends BaseClientManagedTimeIT { conn.close(); } } - + @Test public void testSelectWithArrayWithColumnRefWithVarLengthArray() throws Exception { long ts = nextTimestamp(); @@ -648,7 +648,7 @@ public class ArrayIT extends BaseClientManagedTimeIT { conn.close(); } } - + @Test public void testUpsertSelectWithColumnRef() throws Exception { long ts = nextTimestamp(); @@ -790,7 +790,7 @@ public class ArrayIT extends BaseClientManagedTimeIT { conn = DriverManager.getConnection(getUrl(), props); conn.createStatement().execute(CREATE TABLE t ( k VARCHAR PRIMARY KEY, a bigint ARRAY[])); conn.close(); - + props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 30)); conn = DriverManager.getConnection(getUrl(), props); stmt = conn.prepareStatement(UPSERT INTO t VALUES(?,?)); @@ -883,21 +883,21 @@ public class ArrayIT extends BaseClientManagedTimeIT { Connection conn; PreparedStatement stmt; ResultSet rs; - + long ts = nextTimestamp(); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 10)); conn = DriverManager.getConnection(getUrl(), props); conn.createStatement().execute(CREATE TABLE t ( k VARCHAR PRIMARY KEY, a CHAR(5) ARRAY)); conn.close(); - + props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 20)); conn = DriverManager.getConnection(getUrl(), props); rs = conn.getMetaData().getColumns(null, null, T, A); assertTrue(rs.next()); assertEquals(5, rs.getInt(COLUMN_SIZE)); conn.close(); - + props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 30)); conn = DriverManager.getConnection(getUrl(), props); stmt = conn.prepareStatement(UPSERT INTO t VALUES(?,?)); @@ -908,7 +908,7 @@ public class ArrayIT extends BaseClientManagedTimeIT { stmt.execute(); conn.commit(); conn.close(); - + props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 40)); conn = DriverManager.getConnection(getUrl(), props); rs = conn.createStatement().executeQuery(SELECT k, a[2] FROM t); @@ -917,7 +917,7 @@ public class ArrayIT extends BaseClientManagedTimeIT { assertEquals(2,rs.getString(2)); conn.close(); } - +
git commit: PHOENIX-1288 Fix selecting multiple array indexes
Repository: phoenix Updated Branches: refs/heads/4.0 954133c32 - 94f637f8f PHOENIX-1288 Fix selecting multiple array indexes Don't attempt to remove the same Cell multiple times when transforming multiple array index references into a single filtered Cell. Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/94f637f8 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/94f637f8 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/94f637f8 Branch: refs/heads/4.0 Commit: 94f637f8f215d0a79c66101f0611e51080a18008 Parents: 954133c Author: Gabriel Reid gabri...@ngdata.com Authored: Wed Sep 24 08:56:17 2014 +0200 Committer: Gabriel Reid gabri...@ngdata.com Committed: Wed Sep 24 20:51:42 2014 +0200 -- .../org/apache/phoenix/end2end/ArrayIT.java | 101 ++- .../phoenix/coprocessor/ScanRegionObserver.java | 62 ++-- 2 files changed, 82 insertions(+), 81 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/94f637f8/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java -- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java index 7863f5b..ab2ad48 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java @@ -132,7 +132,7 @@ public class ArrayIT extends BaseClientManagedTimeIT { conn.close(); } } - + @Test public void testScanByArrayValue() throws Exception { long ts = nextTimestamp(); @@ -371,7 +371,7 @@ public class ArrayIT extends BaseClientManagedTimeIT { conn.close(); } } - + @Test public void testUpsertValuesWithArray() throws Exception { long ts = nextTimestamp(); @@ -452,7 +452,7 @@ public class ArrayIT extends BaseClientManagedTimeIT { } } } - + @Test public void testArraySelectWithORCondition() throws Exception { long ts = nextTimestamp(); @@ -631,7 +631,7 @@ public class ArrayIT extends BaseClientManagedTimeIT { } } } - + @Test public void testSelectWithArrayWithColumnRef() throws Exception { long ts = nextTimestamp(); @@ -662,7 +662,7 @@ public class ArrayIT extends BaseClientManagedTimeIT { conn.close(); } } - + @Test public void testSelectWithArrayWithColumnRefWithVarLengthArray() throws Exception { long ts = nextTimestamp(); @@ -727,7 +727,7 @@ public class ArrayIT extends BaseClientManagedTimeIT { conn.close(); } } - + @Test public void testUpsertSelectWithColumnRef() throws Exception { long ts = nextTimestamp(); @@ -869,7 +869,7 @@ public class ArrayIT extends BaseClientManagedTimeIT { conn = DriverManager.getConnection(getUrl(), props); conn.createStatement().execute(CREATE TABLE t ( k VARCHAR PRIMARY KEY, a bigint ARRAY[])); conn.close(); - + props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 30)); conn = DriverManager.getConnection(getUrl(), props); stmt = conn.prepareStatement(UPSERT INTO t VALUES(?,?)); @@ -962,21 +962,21 @@ public class ArrayIT extends BaseClientManagedTimeIT { Connection conn; PreparedStatement stmt; ResultSet rs; - + long ts = nextTimestamp(); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 10)); conn = DriverManager.getConnection(getUrl(), props); conn.createStatement().execute(CREATE TABLE t ( k VARCHAR PRIMARY KEY, a CHAR(5) ARRAY)); conn.close(); - + props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 20)); conn = DriverManager.getConnection(getUrl(), props); rs = conn.getMetaData().getColumns(null, null, T, A); assertTrue(rs.next()); assertEquals(5, rs.getInt(COLUMN_SIZE)); conn.close(); - + props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 30)); conn = DriverManager.getConnection(getUrl(), props); stmt = conn.prepareStatement(UPSERT INTO t VALUES(?,?)); @@ -987,7 +987,7 @@ public class ArrayIT extends BaseClientManagedTimeIT { stmt.execute(); conn.commit(); conn.close(); - + props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 40)); conn =
Jenkins build is back to normal : Phoenix | Master | Hadoop1 #380
See https://builds.apache.org/job/Phoenix-master-hadoop1/380/changes
Jenkins build is back to normal : Phoenix | 3.0 | Hadoop1 #223
See https://builds.apache.org/job/Phoenix-3.0-hadoop1/223/
[2/2] git commit: Merge branch '4.0' of https://git-wip-us.apache.org/repos/asf/phoenix into 4.0
Merge branch '4.0' of https://git-wip-us.apache.org/repos/asf/phoenix into 4.0 Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/1110aedd Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/1110aedd Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/1110aedd Branch: refs/heads/4.0 Commit: 1110aeddf896248961e43f99e5ee2190929b7145 Parents: a66271d 94f637f Author: James Taylor jtay...@salesforce.com Authored: Wed Sep 24 18:45:50 2014 -0700 Committer: James Taylor jtay...@salesforce.com Committed: Wed Sep 24 18:45:50 2014 -0700 -- bin/hadoop-metrics2-hbase.properties| 20 ++ bin/hadoop-metrics2-phoenix.properties | 53 +++ phoenix-assembly/pom.xml| 4 +- phoenix-assembly/src/build/hadoop-one-all.xml | 53 --- phoenix-assembly/src/build/hadoop-two-all.xml | 64 .../src/build/package-to-tar-all.xml| 38 +++ phoenix-core/pom.xml| 280 +--- .../org/apache/phoenix/end2end/ArrayIT.java | 101 +++--- .../phoenix/coprocessor/ScanRegionObserver.java | 62 ++-- .../phoenix/filter/ColumnProjectionFilter.java | 21 +- phoenix-flume/pom.xml | 276 +--- phoenix-hadoop1-compat/pom.xml | 40 --- .../bin/hadoop-metrics2-hbase.properties| 20 -- .../bin/hadoop-metrics2-phoenix.properties | 53 --- phoenix-pig/pom.xml | 292 +--- pom.xml | 329 ++- 16 files changed, 568 insertions(+), 1138 deletions(-) --
[1/2] git commit: PHOENIX-1273 Phoenix should provide ILIKE keyword (Jean-Marc Spaggiari)
Repository: phoenix Updated Branches: refs/heads/4.0 94f637f8f - 1110aeddf PHOENIX-1273 Phoenix should provide ILIKE keyword (Jean-Marc Spaggiari) Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/a66271de Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/a66271de Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/a66271de Branch: refs/heads/4.0 Commit: a66271de9f0639b24da220998159acdfa9a36430 Parents: 15939f2 Author: James Taylor jtay...@salesforce.com Authored: Wed Sep 24 18:45:26 2014 -0700 Committer: James Taylor jtay...@salesforce.com Committed: Wed Sep 24 18:45:26 2014 -0700 -- .../phoenix/end2end/VariableLengthPKIT.java | 137 +++ phoenix-core/src/main/antlr3/PhoenixSQL.g | 5 +- .../phoenix/compile/ExpressionCompiler.java | 31 +++-- .../apache/phoenix/compile/WhereOptimizer.java | 5 +- .../phoenix/expression/LikeExpression.java | 65 ++--- .../org/apache/phoenix/parse/LikeParseNode.java | 13 +- .../apache/phoenix/parse/ParseNodeFactory.java | 71 +- .../apache/phoenix/parse/ParseNodeRewriter.java | 78 +-- .../phoenix/expression/ILikeExpressionTest.java | 62 + .../phoenix/expression/LikeExpressionTest.java | 39 -- .../java/org/apache/phoenix/util/TestUtil.java | 9 +- 11 files changed, 392 insertions(+), 123 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/a66271de/phoenix-core/src/it/java/org/apache/phoenix/end2end/VariableLengthPKIT.java -- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/VariableLengthPKIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/VariableLengthPKIT.java index 5fe71a8..6800379 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/VariableLengthPKIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/VariableLengthPKIT.java @@ -1592,6 +1592,143 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { rs = statement.executeQuery(); assertFalse(rs.next()); +// Test 5 +statement = conn.prepareStatement(SELECT INST FROM PTSDB WHERE 'abcdef' LIKE '%bCd%'); +rs = statement.executeQuery(); +assertFalse(rs.next()); + +} finally { +conn.close(); +} +} + +@Test +public void testILikeOnColumn() throws Exception { +long ts = nextTimestamp(); +ensureTableCreated(getUrl(),PTSDB_NAME,null, ts-2); + +// Insert all rows at ts +String url = getUrl() + ; + PhoenixRuntime.CURRENT_SCN_ATTRIB + = + ts; +Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); +Connection conn = DriverManager.getConnection(url, props); +PreparedStatement stmt = conn.prepareStatement(upsert into PTSDB(INST, HOST, DATE, VAL, PATTERN VARCHAR) VALUES (?, ?, ?, 0.5, 'x_Z%')); +stmt.setDate(3, D1); + +stmt.setString(1, a); +stmt.setString(2, a); +stmt.execute(); + +stmt.setString(1, x); +stmt.setString(2, a); +stmt.execute(); + +stmt.setString(1, xy); +stmt.setString(2, b); +stmt.execute(); + +stmt.setString(1, xyz); +stmt.setString(2, c); +stmt.execute(); + +stmt.setString(1, xyza); +stmt.setString(2, d); +stmt.execute(); + +stmt.setString(1, xyzab); +stmt.setString(2, e); +stmt.execute(); + +stmt.setString(1, z); +stmt.setString(2, e); +stmt.execute(); + +conn.commit(); +conn.close(); + +url = getUrl() + ; + PhoenixRuntime.CURRENT_SCN_ATTRIB + = + (ts + 5); // Run query at timestamp 5 +conn = DriverManager.getConnection(url, props); +PreparedStatement statement; +ResultSet rs; +try { +// Test 1 +statement = conn.prepareStatement(SELECT INST FROM PTSDB WHERE INST ILIKE 'x%'); +rs = statement.executeQuery(); + +assertTrue(rs.next()); +assertEquals(x, rs.getString(1)); + +assertTrue(rs.next()); +assertEquals(xy, rs.getString(1)); + +assertTrue(rs.next()); +assertEquals(xyz, rs.getString(1)); + +assertTrue(rs.next()); +assertEquals(xyza, rs.getString(1)); + +assertTrue(rs.next()); +assertEquals(xyzab, rs.getString(1)); + +assertFalse(rs.next()); + +// Test 2 +statement = conn.prepareStatement(SELECT INST FROM PTSDB WHERE INST ILIKE 'xy_a%'); +rs = statement.executeQuery(); + +assertTrue(rs.next()); +assertEquals(xyza,
git commit: PHOENIX-1273 Phoenix should provide ILIKE keyword (Jean-Marc Spaggiari)
Repository: phoenix Updated Branches: refs/heads/master 70319eabe - 6908c90b5 PHOENIX-1273 Phoenix should provide ILIKE keyword (Jean-Marc Spaggiari) Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/6908c90b Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/6908c90b Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/6908c90b Branch: refs/heads/master Commit: 6908c90b5bfc5b5cc4a98d4dd32557a075d87a45 Parents: 70319ea Author: James Taylor jtay...@salesforce.com Authored: Wed Sep 24 18:45:26 2014 -0700 Committer: James Taylor jtay...@salesforce.com Committed: Wed Sep 24 18:47:21 2014 -0700 -- .../phoenix/end2end/VariableLengthPKIT.java | 137 +++ phoenix-core/src/main/antlr3/PhoenixSQL.g | 5 +- .../phoenix/compile/ExpressionCompiler.java | 31 +++-- .../apache/phoenix/compile/WhereOptimizer.java | 5 +- .../phoenix/expression/LikeExpression.java | 65 ++--- .../org/apache/phoenix/parse/LikeParseNode.java | 13 +- .../apache/phoenix/parse/ParseNodeFactory.java | 71 +- .../apache/phoenix/parse/ParseNodeRewriter.java | 78 +-- .../phoenix/expression/ILikeExpressionTest.java | 62 + .../phoenix/expression/LikeExpressionTest.java | 39 -- .../java/org/apache/phoenix/util/TestUtil.java | 9 +- 11 files changed, 392 insertions(+), 123 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/6908c90b/phoenix-core/src/it/java/org/apache/phoenix/end2end/VariableLengthPKIT.java -- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/VariableLengthPKIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/VariableLengthPKIT.java index 5fe71a8..6800379 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/VariableLengthPKIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/VariableLengthPKIT.java @@ -1592,6 +1592,143 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { rs = statement.executeQuery(); assertFalse(rs.next()); +// Test 5 +statement = conn.prepareStatement(SELECT INST FROM PTSDB WHERE 'abcdef' LIKE '%bCd%'); +rs = statement.executeQuery(); +assertFalse(rs.next()); + +} finally { +conn.close(); +} +} + +@Test +public void testILikeOnColumn() throws Exception { +long ts = nextTimestamp(); +ensureTableCreated(getUrl(),PTSDB_NAME,null, ts-2); + +// Insert all rows at ts +String url = getUrl() + ; + PhoenixRuntime.CURRENT_SCN_ATTRIB + = + ts; +Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); +Connection conn = DriverManager.getConnection(url, props); +PreparedStatement stmt = conn.prepareStatement(upsert into PTSDB(INST, HOST, DATE, VAL, PATTERN VARCHAR) VALUES (?, ?, ?, 0.5, 'x_Z%')); +stmt.setDate(3, D1); + +stmt.setString(1, a); +stmt.setString(2, a); +stmt.execute(); + +stmt.setString(1, x); +stmt.setString(2, a); +stmt.execute(); + +stmt.setString(1, xy); +stmt.setString(2, b); +stmt.execute(); + +stmt.setString(1, xyz); +stmt.setString(2, c); +stmt.execute(); + +stmt.setString(1, xyza); +stmt.setString(2, d); +stmt.execute(); + +stmt.setString(1, xyzab); +stmt.setString(2, e); +stmt.execute(); + +stmt.setString(1, z); +stmt.setString(2, e); +stmt.execute(); + +conn.commit(); +conn.close(); + +url = getUrl() + ; + PhoenixRuntime.CURRENT_SCN_ATTRIB + = + (ts + 5); // Run query at timestamp 5 +conn = DriverManager.getConnection(url, props); +PreparedStatement statement; +ResultSet rs; +try { +// Test 1 +statement = conn.prepareStatement(SELECT INST FROM PTSDB WHERE INST ILIKE 'x%'); +rs = statement.executeQuery(); + +assertTrue(rs.next()); +assertEquals(x, rs.getString(1)); + +assertTrue(rs.next()); +assertEquals(xy, rs.getString(1)); + +assertTrue(rs.next()); +assertEquals(xyz, rs.getString(1)); + +assertTrue(rs.next()); +assertEquals(xyza, rs.getString(1)); + +assertTrue(rs.next()); +assertEquals(xyzab, rs.getString(1)); + +assertFalse(rs.next()); + +// Test 2 +statement = conn.prepareStatement(SELECT INST FROM PTSDB WHERE INST ILIKE 'xy_a%'); +rs = statement.executeQuery(); + +assertTrue(rs.next()); +
Apache-Phoenix | Master | Hadoop1 | Build Successful
Master branch build status Successful Source repository https://git-wip-us.apache.org/repos/asf/incubator-phoenix.git Last Successful Compiled Artifacts https://builds.apache.org/job/Phoenix-master-hadoop1/lastSuccessfulBuild/artifact/ Last Complete Test Report https://builds.apache.org/job/Phoenix-master-hadoop1/lastCompletedBuild/testReport/ Changes [jtaylor] PHOENIX-1273 Phoenix should provide ILIKE keyword (Jean-Marc Spaggiari)
Jenkins build is back to normal : Phoenix | 4.0 | Hadoop1 #331
See https://builds.apache.org/job/Phoenix-4.0-hadoop1/331/changes
Apache-Phoenix | 3.0 | Hadoop1 | Build Successful
3.0 branch build status Successful Source repository https://git-wip-us.apache.org/repos/asf/phoenix.git Last Successful Compiled Artifacts https://builds.apache.org/job/Phoenix-3.0-hadoop1/lastSuccessfulBuild/artifact/ Last Complete Test Report https://builds.apache.org/job/Phoenix-3.0-hadoop1/lastCompletedBuild/testReport/ Changes [jtaylor] PHOENIX-1273 Phoenix should provide ILIKE keyword (Jean-Marc Spaggiari)