phoenix git commit: PHOENIX-1428 Queries with limit against tenant views is broken
Repository: phoenix Updated Branches: refs/heads/4.0 69c957865 - 668a976a0 PHOENIX-1428 Queries with limit against tenant views is broken Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/668a976a Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/668a976a Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/668a976a Branch: refs/heads/4.0 Commit: 668a976a02af6b428047741c4a81c4e832a60146 Parents: 69c9578 Author: James Taylor jtay...@salesforce.com Authored: Thu Nov 13 07:36:05 2014 -0800 Committer: James Taylor jtay...@salesforce.com Committed: Thu Nov 13 07:36:05 2014 -0800 -- .../apache/phoenix/end2end/TenantSpecificTablesDMLIT.java | 9 - .../src/main/java/org/apache/phoenix/execute/ScanPlan.java | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/668a976a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDMLIT.java -- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDMLIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDMLIT.java index cdc3c07..248de0f 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDMLIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDMLIT.java @@ -41,7 +41,14 @@ import org.junit.experimental.categories.Category; @Category(NeedsOwnMiniClusterTest.class) public class TenantSpecificTablesDMLIT extends BaseTenantSpecificTablesIT { - + + @Test + public void testSelectWithLimit() throws Exception { + Connection conn = nextConnection(PHOENIX_JDBC_TENANT_SPECIFIC_URL); +ResultSet rs = conn.createStatement().executeQuery(SELECT * FROM + TENANT_TABLE_NAME + LIMIT 100); + while(rs.next()) {} + } + @Test public void testBasicUpsertSelect() throws Exception { Connection conn = nextConnection(PHOENIX_JDBC_TENANT_SPECIFIC_URL); http://git-wip-us.apache.org/repos/asf/phoenix/blob/668a976a/phoenix-core/src/main/java/org/apache/phoenix/execute/ScanPlan.java -- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/execute/ScanPlan.java b/phoenix-core/src/main/java/org/apache/phoenix/execute/ScanPlan.java index 00cc90c..4ca0338 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/execute/ScanPlan.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/execute/ScanPlan.java @@ -138,7 +138,7 @@ public class ScanPlan extends BaseQueryPlan { if (gpsInfo == null) { // Use guidepost depth as minimum size ConnectionQueryServices services = context.getConnection().getQueryServices(); - HTableDescriptor desc = services.getTableDescriptor(table.getName().getBytes()); + HTableDescriptor desc = services.getTableDescriptor(table.getPhysicalName().getBytes()); int guidepostPerRegion = services.getProps().getInt(QueryServices.STATS_GUIDEPOST_PER_REGION_ATTRIB, QueryServicesOptions.DEFAULT_STATS_GUIDEPOST_PER_REGION); long guidepostWidth = services.getProps().getLong(QueryServices.STATS_GUIDEPOST_WIDTH_BYTES_ATTRIB,
phoenix git commit: PHOENIX-1428 Queries with limit against tenant views is broken
Repository: phoenix Updated Branches: refs/heads/3.0 2694568aa - 4e130d4d1 PHOENIX-1428 Queries with limit against tenant views is broken Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/4e130d4d Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/4e130d4d Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/4e130d4d Branch: refs/heads/3.0 Commit: 4e130d4d19f69ad42c936a6ccc4b5944dc916cb2 Parents: 2694568 Author: James Taylor jtay...@salesforce.com Authored: Thu Nov 13 07:36:05 2014 -0800 Committer: James Taylor jtay...@salesforce.com Committed: Thu Nov 13 07:39:42 2014 -0800 -- .../apache/phoenix/end2end/TenantSpecificTablesDMLIT.java | 9 - .../src/main/java/org/apache/phoenix/execute/ScanPlan.java | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/4e130d4d/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDMLIT.java -- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDMLIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDMLIT.java index 7fd3a82..c098a76 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDMLIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDMLIT.java @@ -41,7 +41,14 @@ import org.junit.experimental.categories.Category; @Category(NeedsOwnMiniClusterTest.class) public class TenantSpecificTablesDMLIT extends BaseTenantSpecificTablesIT { - + + @Test + public void testSelectWithLimit() throws Exception { + Connection conn = nextConnection(PHOENIX_JDBC_TENANT_SPECIFIC_URL); +ResultSet rs = conn.createStatement().executeQuery(SELECT * FROM + TENANT_TABLE_NAME + LIMIT 100); + while(rs.next()) {} + } + @Test public void testBasicUpsertSelect() throws Exception { Connection conn = nextConnection(PHOENIX_JDBC_TENANT_SPECIFIC_URL); http://git-wip-us.apache.org/repos/asf/phoenix/blob/4e130d4d/phoenix-core/src/main/java/org/apache/phoenix/execute/ScanPlan.java -- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/execute/ScanPlan.java b/phoenix-core/src/main/java/org/apache/phoenix/execute/ScanPlan.java index c35d81c..255cfa9 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/execute/ScanPlan.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/execute/ScanPlan.java @@ -141,7 +141,7 @@ public class ScanPlan extends BaseQueryPlan { if (gpsInfo == null) { // Use guidepost depth as minimum size ConnectionQueryServices services = context.getConnection().getQueryServices(); - HTableDescriptor desc = services.getTableDescriptor(table.getName().getBytes()); + HTableDescriptor desc = services.getTableDescriptor(table.getPhysicalName().getBytes()); int guidepostPerRegion = services.getProps().getInt(QueryServices.STATS_GUIDEPOST_PER_REGION_ATTRIB, QueryServicesOptions.DEFAULT_STATS_GUIDEPOST_PER_REGION); long guidepostWidth = services.getProps().getLong(QueryServices.STATS_GUIDEPOST_WIDTH_BYTES_ATTRIB,
phoenix git commit: PHOENIX-1428 Queries with limit against tenant views is broken
Repository: phoenix Updated Branches: refs/heads/3.2 2311a3a18 - 673a9e5dc PHOENIX-1428 Queries with limit against tenant views is broken Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/673a9e5d Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/673a9e5d Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/673a9e5d Branch: refs/heads/3.2 Commit: 673a9e5dc3a57f0e343548ad74de5ead5514f551 Parents: 2311a3a Author: James Taylor jtay...@salesforce.com Authored: Thu Nov 13 07:36:05 2014 -0800 Committer: James Taylor jtay...@salesforce.com Committed: Thu Nov 13 07:40:50 2014 -0800 -- .../apache/phoenix/end2end/TenantSpecificTablesDMLIT.java | 9 - .../src/main/java/org/apache/phoenix/execute/ScanPlan.java | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/673a9e5d/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDMLIT.java -- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDMLIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDMLIT.java index 7fd3a82..c098a76 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDMLIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDMLIT.java @@ -41,7 +41,14 @@ import org.junit.experimental.categories.Category; @Category(NeedsOwnMiniClusterTest.class) public class TenantSpecificTablesDMLIT extends BaseTenantSpecificTablesIT { - + + @Test + public void testSelectWithLimit() throws Exception { + Connection conn = nextConnection(PHOENIX_JDBC_TENANT_SPECIFIC_URL); +ResultSet rs = conn.createStatement().executeQuery(SELECT * FROM + TENANT_TABLE_NAME + LIMIT 100); + while(rs.next()) {} + } + @Test public void testBasicUpsertSelect() throws Exception { Connection conn = nextConnection(PHOENIX_JDBC_TENANT_SPECIFIC_URL); http://git-wip-us.apache.org/repos/asf/phoenix/blob/673a9e5d/phoenix-core/src/main/java/org/apache/phoenix/execute/ScanPlan.java -- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/execute/ScanPlan.java b/phoenix-core/src/main/java/org/apache/phoenix/execute/ScanPlan.java index c35d81c..255cfa9 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/execute/ScanPlan.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/execute/ScanPlan.java @@ -141,7 +141,7 @@ public class ScanPlan extends BaseQueryPlan { if (gpsInfo == null) { // Use guidepost depth as minimum size ConnectionQueryServices services = context.getConnection().getQueryServices(); - HTableDescriptor desc = services.getTableDescriptor(table.getName().getBytes()); + HTableDescriptor desc = services.getTableDescriptor(table.getPhysicalName().getBytes()); int guidepostPerRegion = services.getProps().getInt(QueryServices.STATS_GUIDEPOST_PER_REGION_ATTRIB, QueryServicesOptions.DEFAULT_STATS_GUIDEPOST_PER_REGION); long guidepostWidth = services.getProps().getLong(QueryServices.STATS_GUIDEPOST_WIDTH_BYTES_ATTRIB,
Git Push Summary
Repository: phoenix Updated Tags: refs/tags/v4.2.1-rc1 [deleted] aba3945a0
Git Push Summary
Repository: phoenix Updated Tags: refs/tags/v4.2.1-rc1 [created] e48234762
Apache-Phoenix | 4.0 | Build Successful
4.0 branch build status Successful Source repository https://git-wip-us.apache.org/repos/asf/incubator-phoenix.git Compiled Artifacts https://builds.apache.org/job/Phoenix-4.0/lastSuccessfulBuild/artifact/ Test Report https://builds.apache.org/job/Phoenix-4.0/lastCompletedBuild/testReport/ Changes [jtaylor] PHOENIX-1428 Queries with limit against tenant views is broken
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-1428 Queries with limit against tenant views is broken
Apache-Phoenix | Master | Build Successful
Master 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-master/lastSuccessfulBuild/artifact/ Last Complete Test Report https://builds.apache.org/job/Phoenix-master/lastCompletedBuild/testReport/ Changes [jtaylor] PHOENIX-1428 Queries with limit against tenant views is broken
phoenix git commit: Updated CHANGES
Repository: phoenix Updated Branches: refs/heads/3.2 673a9e5dc - b805aa64c Updated CHANGES Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/b805aa64 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/b805aa64 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/b805aa64 Branch: refs/heads/3.2 Commit: b805aa64c8e56f0bbcc4f91a8a45a9cc9e4f192b Parents: 673a9e5 Author: Mujtaba mujt...@apache.org Authored: Thu Nov 13 10:20:16 2014 -0800 Committer: Mujtaba mujt...@apache.org Committed: Thu Nov 13 10:20:16 2014 -0800 -- CHANGES | 12 1 file changed, 12 insertions(+) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/b805aa64/CHANGES -- diff --git a/CHANGES b/CHANGES index 3f5e67a..51d353a 100644 --- a/CHANGES +++ b/CHANGES @@ -14,6 +14,18 @@ Release Notes - Phoenix - Version 3.2.1 * [PHOENIX-1416] - Given a schema name, DatabaseMetadata.getTables and getColumns calls erroneously match tables without schema * [PHOENIX-1418] - Optionally display number of parallel chunks in explain plan * [PHOENIX-1419] - Update eclipse preferences file with correct header information +* [PHOENIX-1420] - DatabaseMetaData.getschemas returns incorrect column order +* [PHOENIX-1427] - Reduce work in StatsCollector +* [PHOENIX-1429] - Cancel queued threads when limit reached +* [PHOENIX-1432] - Run limit query that has only leading PK column filter serially +* [PHOENIX-1434] - Stats are not maintained correctly through splits +* [PHOENIX-1442] - Alter Index double normalize Index Table Name +* [PHOENIX-1445] - Add unit test for stats not being maintained correctly through splits +* [PHOENIX-1446] - Add/fix logging for LIMIT optimization +* [PHOENIX-1447] - Increase guidepost width default to take into account FAST_DIFF compression +* [PHOENIX-1448] - Fix resource leak when work rejected by thread executor +* [PHOENIX-1449] - Fix potential NPE in delete +* [PHOENIX-1451] - Queries with limit against tenant views is broken Release Notes - Phoenix - Version 3.2.0
Git Push Summary
Repository: phoenix Updated Tags: refs/tags/v3.2.1-rc1 [created] d262134a1
svn commit: r7138 - in /dev/phoenix/phoenix-3.2.1-rc1: ./ bin/ src/
Author: mujtaba Date: Thu Nov 13 18:33:50 2014 New Revision: 7138 Log: Phoenix 3.2.1-rc1 Added: dev/phoenix/phoenix-3.2.1-rc1/ dev/phoenix/phoenix-3.2.1-rc1/bin/ dev/phoenix/phoenix-3.2.1-rc1/bin/phoenix-3.2.1-bin.tar.gz (with props) dev/phoenix/phoenix-3.2.1-rc1/bin/phoenix-3.2.1-bin.tar.gz.asc dev/phoenix/phoenix-3.2.1-rc1/bin/phoenix-3.2.1-bin.tar.gz.md5 dev/phoenix/phoenix-3.2.1-rc1/bin/phoenix-3.2.1-bin.tar.gz.sha dev/phoenix/phoenix-3.2.1-rc1/src/ dev/phoenix/phoenix-3.2.1-rc1/src/phoenix-3.2.1-src.tar.gz (with props) dev/phoenix/phoenix-3.2.1-rc1/src/phoenix-3.2.1-src.tar.gz.asc dev/phoenix/phoenix-3.2.1-rc1/src/phoenix-3.2.1-src.tar.gz.md5 dev/phoenix/phoenix-3.2.1-rc1/src/phoenix-3.2.1-src.tar.gz.sha Added: dev/phoenix/phoenix-3.2.1-rc1/bin/phoenix-3.2.1-bin.tar.gz == Binary file - no diff available. Propchange: dev/phoenix/phoenix-3.2.1-rc1/bin/phoenix-3.2.1-bin.tar.gz -- svn:mime-type = application/octet-stream Added: dev/phoenix/phoenix-3.2.1-rc1/bin/phoenix-3.2.1-bin.tar.gz.asc == --- dev/phoenix/phoenix-3.2.1-rc1/bin/phoenix-3.2.1-bin.tar.gz.asc (added) +++ dev/phoenix/phoenix-3.2.1-rc1/bin/phoenix-3.2.1-bin.tar.gz.asc Thu Nov 13 18:33:50 2014 @@ -0,0 +1,17 @@ +-BEGIN PGP SIGNATURE- +Version: GnuPG v1.4.11 (GNU/Linux) + +iQIcBAABAgAGBQJUZPcGAAoJEDv8s5KUYReOeCYP/20T1wmTx7LzTrg4P3+osH4J +/Is89FKogGeueZp7ycog/dFYy99U4BrCCdFQx8kVlXzSB3XSQbwiIvzZo38Df0/c +0oLEHWP4holQs4VP1Msoavrr57nI99jJJkCs5SOVS0aYYyrIAkUfZuIy+o4rfZEo +XConajQM8+aRWbLmBQJd3ohZga1PD0H6fSyQw2up+ELc5tmstRvmiHc9rFeUFrdX +zBWyROdayHNoBa6iYXb2cmanvlGHnEALHPNij+mFJUuLxUBrh2rZQzS2R0Ip3o3b +7m3v/mKH62KCAd2faep32LT+lwXE7iPlyC8nlSHC3IgC2e3+fZGQevvsJW/hF5yB +AVDjyBY8vNP4ZCvutd9Pgz7DBi4bukrMCmDvs+Rin5XJNsF2+KjZTOps9nsTY7xf +X2aKy3+BJuBGmvd4ueSMhBUp3tHHH4YdcsnhjuD0Bf49AVwkUv3MawHTyqWzkB8O +4ZqPmrVLW9s3GKIMrh1FxuVlWkDtL4M5CzM5i2czl/R4Yj3/VQIs/L7WB0r3W3ro +q9yG2bd+xyCanW/NDCiv3EGNNoJsNc8LhwDTZCe9DN0tADQgvHVu3Bq/SGfYT/Pd +EUrpFBC6Gpbiv9PhxCuoq2bImaDE2R3ZD+cznfhy5U1LONxG6hmEXRNVQOHdFc5u +Uu1ignhsXOOYb+IFpUD1 +=JX6b +-END PGP SIGNATURE- Added: dev/phoenix/phoenix-3.2.1-rc1/bin/phoenix-3.2.1-bin.tar.gz.md5 == --- dev/phoenix/phoenix-3.2.1-rc1/bin/phoenix-3.2.1-bin.tar.gz.md5 (added) +++ dev/phoenix/phoenix-3.2.1-rc1/bin/phoenix-3.2.1-bin.tar.gz.md5 Thu Nov 13 18:33:50 2014 @@ -0,0 +1 @@ +364d382373c53305a644386e76a327d3 *phoenix-3.2.1-bin.tar.gz Added: dev/phoenix/phoenix-3.2.1-rc1/bin/phoenix-3.2.1-bin.tar.gz.sha == --- dev/phoenix/phoenix-3.2.1-rc1/bin/phoenix-3.2.1-bin.tar.gz.sha (added) +++ dev/phoenix/phoenix-3.2.1-rc1/bin/phoenix-3.2.1-bin.tar.gz.sha Thu Nov 13 18:33:50 2014 @@ -0,0 +1,2 @@ +d90b2e0b56df4a3edad6335d22d4f48d26d8c78c3d6001974860076e1518e459249d1952869bf4b717e3a433e9e4c9119b8eb3c7d47e23bb5b8b5182448a5e7b *phoenix-3.2.1-bin.tar.gz +d36dc0bf3036de8cd029741f092f75dcf0eb0193496f5181ee964b7d60d546d8 *phoenix-3.2.1-bin.tar.gz Added: dev/phoenix/phoenix-3.2.1-rc1/src/phoenix-3.2.1-src.tar.gz == Binary file - no diff available. Propchange: dev/phoenix/phoenix-3.2.1-rc1/src/phoenix-3.2.1-src.tar.gz -- svn:mime-type = application/octet-stream Added: dev/phoenix/phoenix-3.2.1-rc1/src/phoenix-3.2.1-src.tar.gz.asc == --- dev/phoenix/phoenix-3.2.1-rc1/src/phoenix-3.2.1-src.tar.gz.asc (added) +++ dev/phoenix/phoenix-3.2.1-rc1/src/phoenix-3.2.1-src.tar.gz.asc Thu Nov 13 18:33:50 2014 @@ -0,0 +1,17 @@ +-BEGIN PGP SIGNATURE- +Version: GnuPG v1.4.11 (GNU/Linux) + +iQIcBAABAgAGBQJUZPcuAAoJEDv8s5KUYReOyoUP/jThRFFN3KR/wTOkDda7+tLp +bUWb1Qcw1unSvP8nq0KoMIUV373iZjFlwzxnnVK6flr/dvi2dwRj4voZ5hC20Gl1 +BsKbSJFdw3iEhxEzNDd8W4bd23IrQq46GU419tYUgpj9/RDwx9mNcFwwEbTpybnz +dbch+pbaKkweBG05V69JplpxH1oLf4Mdvf2szlIgWKz2gT8DDRUeL4+tBcJ6ihg6 +Ua9GRv99+UZYxTr+DhkaPG4JBhXqgAT+GVhr4ybSAIuxTBXRuC4WgSfw6lXw+yYB +RBXCW5snDLD9FOaCDoLKjCwZim7YoQqAtAC2opFon5DhrWvPNcaRdbA6VWDNE/NO +7PPd2l3wEmUDfOBh4CmWUu/wTMfzpWmbsesyxaMVH6VaitPboF+7yL7QQoHVOMt0 +BdOkLqeqQHWMtg1FLbzuJPz/0Ax+TuN+AZG7mFiIjNGJv1KCQV/VyiMsGJRp8qTM +YmryMn0XdVl+FR/QCkDSKzxy3b5x6W34i8S41DDEuKrrOgwTdQV5CB0QG07Ry8DY +0CC42UzkHqtel4tSlvYayuF1vhvJX6RpbCoUzqWJEaQA2jz5Ua6d1qqFSr/ZZmFP +RPAEcV0dfZcGRjLxJlzzVnh0tBSoPk2W9D33r0csenvU/mChMdvGqnSHXHoB0dPO +vDpLomHAs/AmVnOtrjow +=CutO +-END PGP SIGNATURE- Added: dev/phoenix/phoenix-3.2.1-rc1/src/phoenix-3.2.1-src.tar.gz.md5
svn commit: r1639446 - /phoenix/phoenix-docs/src/docsrc/help/phoenix.csv
Author: greid Date: Thu Nov 13 18:58:55 2014 New Revision: 1639446 URL: http://svn.apache.org/r1639446 Log: PHOENIX-1256 Updated docs for REGEXP_SPLIT Modified: phoenix/phoenix-docs/src/docsrc/help/phoenix.csv Modified: phoenix/phoenix-docs/src/docsrc/help/phoenix.csv URL: http://svn.apache.org/viewvc/phoenix/phoenix-docs/src/docsrc/help/phoenix.csv?rev=1639446r1=1639445r2=1639446view=diff == --- phoenix/phoenix-docs/src/docsrc/help/phoenix.csv (original) +++ phoenix/phoenix-docs/src/docsrc/help/phoenix.csv Thu Nov 13 18:58:55 2014 @@ -1403,12 +1403,14 @@ REGEXP_REPLACE('abc123ABC', '[0-9]+', '# Functions (String),REGEXP_SPLIT, -REGEXP_SPLIT( stringTerm, patternString ) +REGEXP_SPLIT( stringTerm, patternTerm ) , -Returns a VARCHAR array by splitting the stringTerm based on the Java compatible regular -expression patternString. +Splits a string into a VARCHAR ARRAY using a regular expression. +If characters that have a special meaning in regular expressions are to be used +as a regular delimiter in the pattern string, they must be escaped with backslashes. , -REGEXP_SPLIT('one,two,three', ',') evaluates to ['one','two','three'] +REGEXP_SPLIT('ONE,TWO,THREE', ',') evaluates to ARRAY['ONE', 'TWO', 'THREE'] +REGEXP_SPLIT('ONE!#TWO#,!THREE', '[,!#]+') evaluates to ARRAY['ONE', 'TWO', 'THREE'] Functions (General),MD5,
phoenix git commit: PHOENIX-1440 Support csv quoting in bulk loader
Repository: phoenix Updated Branches: refs/heads/master 22e27e5ed - 9b285dae0 PHOENIX-1440 Support csv quoting in bulk loader Add support for quote and escape chars in map reduce bulk import. Original patch by Radu Marias, with very minor cleanup by Gabriel Reid. Signed-off-by: Gabriel Reid gr...@apache.org Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/9b285dae Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/9b285dae Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/9b285dae Branch: refs/heads/master Commit: 9b285dae032d1e61bb6a804b2357151d9d1905c5 Parents: 22e27e5 Author: Radu Marias radumar...@gmail.com Authored: Fri Nov 7 20:12:48 2014 +0200 Committer: Gabriel Reid gr...@apache.org Committed: Thu Nov 13 20:07:07 2014 +0100 -- .../phoenix/mapreduce/CsvBulkImportUtil.java| 10 -- .../phoenix/mapreduce/CsvBulkLoadTool.java | 31 ++--- .../phoenix/mapreduce/CsvToKeyValueMapper.java | 35 .../mapreduce/CsvBulkImportUtilTest.java| 15 + .../mapreduce/CsvToKeyValueMapperTest.java | 30 - 5 files changed, 85 insertions(+), 36 deletions(-) -- http://git-wip-us.apache.org/repos/asf/phoenix/blob/9b285dae/phoenix-core/src/main/java/org/apache/phoenix/mapreduce/CsvBulkImportUtil.java -- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/mapreduce/CsvBulkImportUtil.java b/phoenix-core/src/main/java/org/apache/phoenix/mapreduce/CsvBulkImportUtil.java index c27e95f..e62cbb8 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/mapreduce/CsvBulkImportUtil.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/mapreduce/CsvBulkImportUtil.java @@ -17,12 +17,12 @@ */ package org.apache.phoenix.mapreduce; +import java.util.List; + import com.google.common.base.Preconditions; import org.apache.hadoop.conf.Configuration; import org.apache.phoenix.util.ColumnInfo; -import java.util.List; - /** * Collection of utility methods for setting up bulk import jobs. */ @@ -34,11 +34,13 @@ public class CsvBulkImportUtil { * @param conf job configuration to be set up * @param tableName name of the table to be imported to, can include a schema name * @param fieldDelimiter field delimiter character for the CSV input + * @param quoteChar quote character for the CSV input + * @param escapeChar escape character for the CSV input * @param arrayDelimiter array delimiter character, can be null * @param columnInfoList list of columns to be imported * @param ignoreInvalidRows flag to ignore invalid input rows */ -public static void initCsvImportJob(Configuration conf, String tableName, char fieldDelimiter, +public static void initCsvImportJob(Configuration conf, String tableName, char fieldDelimiter, char quoteChar, char escapeChar, String arrayDelimiter, ListColumnInfo columnInfoList, boolean ignoreInvalidRows) { Preconditions.checkNotNull(tableName); @@ -46,6 +48,8 @@ public class CsvBulkImportUtil { Preconditions.checkArgument(!columnInfoList.isEmpty(), Column info list is empty); conf.set(CsvToKeyValueMapper.TABLE_NAME_CONFKEY, tableName); conf.set(CsvToKeyValueMapper.FIELD_DELIMITER_CONFKEY, String.valueOf(fieldDelimiter)); +conf.set(CsvToKeyValueMapper.QUOTE_CHAR_CONFKEY, String.valueOf(quoteChar)); +conf.set(CsvToKeyValueMapper.ESCAPE_CHAR_CONFKEY, String.valueOf(escapeChar)); if (arrayDelimiter != null) { conf.set(CsvToKeyValueMapper.ARRAY_DELIMITER_CONFKEY, arrayDelimiter); } http://git-wip-us.apache.org/repos/asf/phoenix/blob/9b285dae/phoenix-core/src/main/java/org/apache/phoenix/mapreduce/CsvBulkLoadTool.java -- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/mapreduce/CsvBulkLoadTool.java b/phoenix-core/src/main/java/org/apache/phoenix/mapreduce/CsvBulkLoadTool.java index e29405f..54e3f2c 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/mapreduce/CsvBulkLoadTool.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/mapreduce/CsvBulkLoadTool.java @@ -29,6 +29,9 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; +import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Splitter; +import com.google.common.collect.Lists; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.HelpFormatter; @@ -66,10 +69,6 @@ import org.apache.phoenix.util.StringUtil; import org.slf4j.Logger;
Apache-Phoenix | 4.0 | Build Successful
4.0 branch build status Successful Source repository https://git-wip-us.apache.org/repos/asf/incubator-phoenix.git Compiled Artifacts https://builds.apache.org/job/Phoenix-4.0/lastSuccessfulBuild/artifact/ Test Report https://builds.apache.org/job/Phoenix-4.0/lastCompletedBuild/testReport/ Changes [greid] PHOENIX-1440 Support csv quoting in bulk loader
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 [greid] PHOENIX-1440 Support csv quoting in bulk loader
Build failed in Jenkins: Phoenix | Master #486
See https://builds.apache.org/job/Phoenix-master/486/changes Changes: [greid] PHOENIX-1440 Support csv quoting in bulk loader -- [...truncated 351 lines...] Running org.apache.phoenix.end2end.UpsertValuesIT Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 18.601 sec - in org.apache.phoenix.end2end.UpsertValuesIT Running org.apache.phoenix.end2end.InMemoryOrderByIT Tests run: 77, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 61.607 sec - in org.apache.phoenix.end2end.NotQueryIT Running org.apache.phoenix.end2end.ToNumberFunctionIT Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.835 sec - in org.apache.phoenix.end2end.InMemoryOrderByIT Running org.apache.phoenix.end2end.SpooledOrderByIT Tests run: 50, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 29.253 sec - in org.apache.phoenix.end2end.SequenceIT Running org.apache.phoenix.end2end.CustomEntityDataIT Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.358 sec - in org.apache.phoenix.end2end.SpooledOrderByIT Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.165 sec - in org.apache.phoenix.end2end.CustomEntityDataIT Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.91 sec - in org.apache.phoenix.end2end.ToNumberFunctionIT Running org.apache.phoenix.end2end.ProductMetricsIT Running org.apache.phoenix.end2end.CompareDecimalToLongIT Running org.apache.phoenix.end2end.TruncateFunctionIT Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.919 sec - in org.apache.phoenix.end2end.TruncateFunctionIT Running org.apache.phoenix.end2end.DerivedTableIT Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.446 sec - in org.apache.phoenix.end2end.CompareDecimalToLongIT Running org.apache.phoenix.end2end.CaseStatementIT Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.254 sec - in org.apache.phoenix.end2end.DerivedTableIT Running org.apache.phoenix.end2end.salted.SaltedTableIT Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.068 sec - in org.apache.phoenix.end2end.salted.SaltedTableIT Running org.apache.phoenix.end2end.QueryIT Tests run: 91, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 78.699 sec - in org.apache.phoenix.end2end.GroupByIT Running org.apache.phoenix.end2end.RowValueConstructorIT Tests run: 61, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 30.069 sec - in org.apache.phoenix.end2end.ProductMetricsIT Running org.apache.phoenix.end2end.ReadIsolationLevelIT Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.97 sec - in org.apache.phoenix.end2end.ReadIsolationLevelIT Running org.apache.phoenix.end2end.OrderByIT Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.758 sec - in org.apache.phoenix.end2end.OrderByIT Running org.apache.phoenix.end2end.GroupByCaseIT Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.547 sec - in org.apache.phoenix.end2end.GroupByCaseIT Running org.apache.phoenix.end2end.ToCharFunctionIT Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.87 sec - in org.apache.phoenix.end2end.ToCharFunctionIT Running org.apache.phoenix.end2end.IsNullIT Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.827 sec - in org.apache.phoenix.end2end.IsNullIT Running org.apache.phoenix.end2end.ClientTimeArithmeticQueryIT Tests run: 63, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 48.85 sec - in org.apache.phoenix.end2end.CaseStatementIT Running org.apache.phoenix.end2end.VariableLengthPKIT Tests run: 119, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 88.514 sec - in org.apache.phoenix.end2end.ScanQueryIT Running org.apache.phoenix.end2end.ArrayIT Tests run: 36, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 36.711 sec - in org.apache.phoenix.end2end.RowValueConstructorIT Running org.apache.phoenix.end2end.PercentileIT Tests run: 17, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.69 sec - in org.apache.phoenix.end2end.PercentileIT Running org.apache.phoenix.end2end.CastAndCoerceIT Tests run: 50, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.666 sec - in org.apache.phoenix.end2end.VariableLengthPKIT Running org.apache.phoenix.end2end.ExtendedQueryExecIT Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.715 sec - in org.apache.phoenix.end2end.ExtendedQueryExecIT Running org.apache.phoenix.end2end.NativeHBaseTypesIT Tests run: 48, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.38 sec - in org.apache.phoenix.end2end.ArrayIT Running org.apache.phoenix.end2end.DynamicUpsertIT Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.707 sec - in org.apache.phoenix.end2end.NativeHBaseTypesIT Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.382 sec - in org.apache.phoenix.end2end.DynamicUpsertIT Running org.apache.phoenix.end2end.DynamicColumnIT Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time