[jira] [Commented] (PHOENIX-2304) NullPointerException when using an index and a char array

2015-10-19 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-2304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14963163#comment-14963163
 ] 

ASF GitHub Bot commented on PHOENIX-2304:
-

Github user navis commented on the pull request:

https://github.com/apache/phoenix/pull/121#issuecomment-149186165
  
Made two version of patches (a69735b and a20e123). 


> NullPointerException when using an index and a char array
> -
>
> Key: PHOENIX-2304
> URL: https://issues.apache.org/jira/browse/PHOENIX-2304
> Project: Phoenix
>  Issue Type: Bug
>Affects Versions: 4.5.2
>Reporter: Julian Jaffe
> Attachments: PHOENIX-2402.patch
>
>
> An NPE occurs when Phoenix attempts to retrieve a char array from an index. 
> Retrieving other columns in the table is unaffected. Example below: 
> {code:sql}
> 0: jdbc:phoenix:xx> CREATE TABLE IF NOT EXISTS TEST.TEST("testInt" 
> INTEGER, "testCharArray" CHAR(3)[], CONSTRAINT "test_pk" PRIMARY 
> KEY("testInt")) DEFAULT_COLUMN_FAMILY='T';
> No rows affected (2.223 seconds)
> 0: jdbc:phoenix:xx> UPSERT INTO TEST.TEST VALUES (5, ARRAY['aaa', 'bbb']);
> 1 row affected (0.165 seconds)
> 0: jdbc:phoenix:xx> SELECT "testCharArray" FROM TEST.TEST;
> +---+
> | testCharArray |
> +---+
> | ['aaa', 'bbb'] |
> +---+
> 1 row selected (0.183 seconds)
> 0: jdbc:phoenix:xx> CREATE INDEX IF NOT EXISTS TEST_INDEX ON TEST.TEST 
> ("testInt") INCLUDE ("testCharArray");
> 1 row affected (10.331 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST |
> +--+
> 1 row selected (0.173 seconds)
> 0: jdbc:phoenix:xx> SELECT "testCharArray" FROM TEST.TEST;
> +---+
> | testCharArray |
> +---+
> | ['aaa', 'bbb'] |
> +---+
> 1 row selected (0.475 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT /*+ INDEX(TEST.TEST TEST_INDEX)*/ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST_INDEX |
> +--+
> 1 row selected (0.186 seconds)
> 0: jdbc:phoenix:xx> SELECT /*+ INDEX(TEST.TEST TEST_INDEX)*/ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |  testCharArray   |
> +--+
> java.lang.NullPointerException
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.createPhoenixArray(PArrayDataType.java:1123)
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.toObject(PArrayDataType.java:338)
>   at 
> org.apache.phoenix.schema.types.PCharArray.toObject(PCharArray.java:64)
>   at 
> org.apache.phoenix.schema.types.PDataType.toObject(PDataType.java:984)
>   at 
> org.apache.phoenix.compile.ExpressionProjector.getValue(ExpressionProjector.java:75)
>   at 
> org.apache.phoenix.jdbc.PhoenixResultSet.getString(PhoenixResultSet.java:603)
>   at sqlline.Rows$Row.(Rows.java:183)
>   at sqlline.IncrementalRows.hasNext(IncrementalRows.java:63)
>   at sqlline.TableOutputFormat.print(TableOutputFormat.java:33)
>   at sqlline.SqlLine.print(SqlLine.java:1653)
>   at sqlline.Commands.execute(Commands.java:833)
>   at sqlline.Commands.sql(Commands.java:732)
>   at sqlline.SqlLine.dispatch(SqlLine.java:808)
>   at sqlline.SqlLine.begin(SqlLine.java:681)
>   at sqlline.SqlLine.start(SqlLine.java:398)
>   at sqlline.SqlLine.main(SqlLine.java:292)
> 0: jdbc:phoenix:xx> CREATE INDEX IF NOT EXISTS TEST2 ON TEST.TEST 
> ("testInt", "testCharArray");
> 1 row affected (2.098 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT /*+ INDEX(TEST.TEST TEST2) */ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST2 |
> | SERVER FILTER BY FIRST KEY ONLY  |
> +--+
> 2 rows selected (0.189 seconds)
> 0: jdbc:phoenix:xx> SELECT /*+ INDEX(TEST.TEST TEST2) */ "testCharArray" 
> FROM TEST.TEST;
> +--+
> |  testCharArray   |
> +--+
> java.lang.NullPointerException
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.createPhoenixArray(PArrayDataType.java:1123)
>   at 
> 

[jira] [Commented] (PHOENIX-2304) NullPointerException when using an index and a char array

2015-10-19 Thread James Taylor (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-2304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14963645#comment-14963645
 ] 

James Taylor commented on PHOENIX-2304:
---

Thanks for the patch, [~navis]. Looks like we're getting a number of 
integration test failures with it, though (when running mvn verify). For 
example:
{code}
Running org.apache.phoenix.end2end.CastAndCoerceIT
Tests run: 49, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 68.184 sec <<< 
FAILURE! - in org.apache.phoenix.end2end.CastAndCoerceIT
testCastOperatorInSelect[CREATE INDEX ATABLE_IDX ON aTable (a_integer DESC) 
INCLUDE (A_STRING, B_STRING, 
A_DATE)](org.apache.phoenix.end2end.CastAndCoerceIT)  Time elapsed: 5.572 sec  
<<< FAILURE!
java.lang.AssertionError: null
at org.junit.Assert.fail(Assert.java:86)
at org.junit.Assert.assertTrue(Assert.java:41)
at org.junit.Assert.assertTrue(Assert.java:52)
at 
org.apache.phoenix.end2end.CastAndCoerceIT.testCastOperatorInSelect(CastAndCoerceIT.java:67)

Running org.apache.phoenix.end2end.ColumnProjectionOptimizationIT
Tests run: 42, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 72.497 sec <<< 
FAILURE! - in org.apache.phoenix.end2end.AggregateQueryIT
testGroupByPlusOne[CREATE INDEX ATABLE_IDX ON aTable (a_integer DESC) INCLUDE ( 
   A_STRING, B_STRING, 
A_DATE)](org.apache.phoenix.end2end.AggregateQueryIT)  Time elapsed: 5.513 sec  
<<< FAILURE!
java.lang.AssertionError: null
at org.junit.Assert.fail(Assert.java:86)
at org.junit.Assert.assertTrue(Assert.java:41)
at org.junit.Assert.assertTrue(Assert.java:52)
at 
org.apache.phoenix.end2end.AggregateQueryIT.testGroupByPlusOne(AggregateQueryIT.java:108)

testSumOverNullIntegerColumn[CREATE INDEX ATABLE_IDX ON aTable (a_integer DESC) 
INCLUDE (A_STRING, B_STRING, 
A_DATE)](org.apache.phoenix.end2end.AggregateQueryIT)  Time elapsed: 1.079 sec  
<<< FAILURE!
java.lang.AssertionError: expected:<42> but was:<-972>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:834)
at org.junit.Assert.assertEquals(Assert.java:645)
at org.junit.Assert.assertEquals(Assert.java:631)
at 
org.apache.phoenix.end2end.AggregateQueryIT.testSumOverNullIntegerColumn(AggregateQueryIT.java:74)
{code}

> NullPointerException when using an index and a char array
> -
>
> Key: PHOENIX-2304
> URL: https://issues.apache.org/jira/browse/PHOENIX-2304
> Project: Phoenix
>  Issue Type: Bug
>Affects Versions: 4.5.2
>Reporter: Julian Jaffe
> Attachments: PHOENIX-2402.patch
>
>
> An NPE occurs when Phoenix attempts to retrieve a char array from an index. 
> Retrieving other columns in the table is unaffected. Example below: 
> {code:sql}
> 0: jdbc:phoenix:xx> CREATE TABLE IF NOT EXISTS TEST.TEST("testInt" 
> INTEGER, "testCharArray" CHAR(3)[], CONSTRAINT "test_pk" PRIMARY 
> KEY("testInt")) DEFAULT_COLUMN_FAMILY='T';
> No rows affected (2.223 seconds)
> 0: jdbc:phoenix:xx> UPSERT INTO TEST.TEST VALUES (5, ARRAY['aaa', 'bbb']);
> 1 row affected (0.165 seconds)
> 0: jdbc:phoenix:xx> SELECT "testCharArray" FROM TEST.TEST;
> +---+
> | testCharArray |
> +---+
> | ['aaa', 'bbb'] |
> +---+
> 1 row selected (0.183 seconds)
> 0: jdbc:phoenix:xx> CREATE INDEX IF NOT EXISTS TEST_INDEX ON TEST.TEST 
> ("testInt") INCLUDE ("testCharArray");
> 1 row affected (10.331 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST |
> +--+
> 1 row selected (0.173 seconds)
> 0: jdbc:phoenix:xx> SELECT "testCharArray" FROM TEST.TEST;
> +---+
> | testCharArray |
> +---+
> | ['aaa', 'bbb'] |
> +---+
> 1 row selected (0.475 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT /*+ INDEX(TEST.TEST TEST_INDEX)*/ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST_INDEX |
> +--+
> 1 row selected (0.186 seconds)
> 0: jdbc:phoenix:xx> SELECT /*+ INDEX(TEST.TEST TEST_INDEX)*/ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |  testCharArray   |
> +--+
> java.lang.NullPointerException
>   at 
> 

[jira] [Commented] (PHOENIX-2304) NullPointerException when using an index and a char array

2015-10-19 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-2304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14964119#comment-14964119
 ] 

Hudson commented on PHOENIX-2304:
-

SUCCESS: Integrated in Phoenix-master #933 (See 
[https://builds.apache.org/job/Phoenix-master/933/])
PHOENIX-2304 NullPointerException when using an index and a char array 
(jtaylor: rev 28007f804dd3d132d39169f532be050717c3526d)
* phoenix-core/src/test/java/org/apache/phoenix/parse/QueryParserTest.java
* phoenix-core/src/test/java/org/apache/phoenix/compile/QueryOptimizerTest.java
* phoenix-core/src/main/java/org/apache/phoenix/parse/ColumnDef.java
* phoenix-core/src/main/java/org/apache/phoenix/exception/SQLExceptionCode.java


> NullPointerException when using an index and a char array
> -
>
> Key: PHOENIX-2304
> URL: https://issues.apache.org/jira/browse/PHOENIX-2304
> Project: Phoenix
>  Issue Type: Bug
>Affects Versions: 4.5.2
>Reporter: Julian Jaffe
>Assignee: Navis
> Fix For: 4.6.0
>
> Attachments: PHOENIX-2304_v1.patch, PHOENIX-2304_v2.patch, 
> PHOENIX-2402.patch
>
>
> An NPE occurs when Phoenix attempts to retrieve a char array from an index. 
> Retrieving other columns in the table is unaffected. Example below: 
> {code:sql}
> 0: jdbc:phoenix:xx> CREATE TABLE IF NOT EXISTS TEST.TEST("testInt" 
> INTEGER, "testCharArray" CHAR(3)[], CONSTRAINT "test_pk" PRIMARY 
> KEY("testInt")) DEFAULT_COLUMN_FAMILY='T';
> No rows affected (2.223 seconds)
> 0: jdbc:phoenix:xx> UPSERT INTO TEST.TEST VALUES (5, ARRAY['aaa', 'bbb']);
> 1 row affected (0.165 seconds)
> 0: jdbc:phoenix:xx> SELECT "testCharArray" FROM TEST.TEST;
> +---+
> | testCharArray |
> +---+
> | ['aaa', 'bbb'] |
> +---+
> 1 row selected (0.183 seconds)
> 0: jdbc:phoenix:xx> CREATE INDEX IF NOT EXISTS TEST_INDEX ON TEST.TEST 
> ("testInt") INCLUDE ("testCharArray");
> 1 row affected (10.331 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST |
> +--+
> 1 row selected (0.173 seconds)
> 0: jdbc:phoenix:xx> SELECT "testCharArray" FROM TEST.TEST;
> +---+
> | testCharArray |
> +---+
> | ['aaa', 'bbb'] |
> +---+
> 1 row selected (0.475 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT /*+ INDEX(TEST.TEST TEST_INDEX)*/ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST_INDEX |
> +--+
> 1 row selected (0.186 seconds)
> 0: jdbc:phoenix:xx> SELECT /*+ INDEX(TEST.TEST TEST_INDEX)*/ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |  testCharArray   |
> +--+
> java.lang.NullPointerException
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.createPhoenixArray(PArrayDataType.java:1123)
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.toObject(PArrayDataType.java:338)
>   at 
> org.apache.phoenix.schema.types.PCharArray.toObject(PCharArray.java:64)
>   at 
> org.apache.phoenix.schema.types.PDataType.toObject(PDataType.java:984)
>   at 
> org.apache.phoenix.compile.ExpressionProjector.getValue(ExpressionProjector.java:75)
>   at 
> org.apache.phoenix.jdbc.PhoenixResultSet.getString(PhoenixResultSet.java:603)
>   at sqlline.Rows$Row.(Rows.java:183)
>   at sqlline.IncrementalRows.hasNext(IncrementalRows.java:63)
>   at sqlline.TableOutputFormat.print(TableOutputFormat.java:33)
>   at sqlline.SqlLine.print(SqlLine.java:1653)
>   at sqlline.Commands.execute(Commands.java:833)
>   at sqlline.Commands.sql(Commands.java:732)
>   at sqlline.SqlLine.dispatch(SqlLine.java:808)
>   at sqlline.SqlLine.begin(SqlLine.java:681)
>   at sqlline.SqlLine.start(SqlLine.java:398)
>   at sqlline.SqlLine.main(SqlLine.java:292)
> 0: jdbc:phoenix:xx> CREATE INDEX IF NOT EXISTS TEST2 ON TEST.TEST 
> ("testInt", "testCharArray");
> 1 row affected (2.098 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT /*+ INDEX(TEST.TEST TEST2) */ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST2 |
> | SERVER FILTER BY FIRST KEY ONLY  |
> 

[jira] [Commented] (PHOENIX-2304) NullPointerException when using an index and a char array

2015-10-19 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-2304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14964295#comment-14964295
 ] 

ASF GitHub Bot commented on PHOENIX-2304:
-

Github user navis closed the pull request at:

https://github.com/apache/phoenix/pull/121


> NullPointerException when using an index and a char array
> -
>
> Key: PHOENIX-2304
> URL: https://issues.apache.org/jira/browse/PHOENIX-2304
> Project: Phoenix
>  Issue Type: Bug
>Affects Versions: 4.5.2
>Reporter: Julian Jaffe
>Assignee: Navis
> Fix For: 4.6.0
>
> Attachments: PHOENIX-2304_v1.patch, PHOENIX-2304_v2.patch, 
> PHOENIX-2402.patch
>
>
> An NPE occurs when Phoenix attempts to retrieve a char array from an index. 
> Retrieving other columns in the table is unaffected. Example below: 
> {code:sql}
> 0: jdbc:phoenix:xx> CREATE TABLE IF NOT EXISTS TEST.TEST("testInt" 
> INTEGER, "testCharArray" CHAR(3)[], CONSTRAINT "test_pk" PRIMARY 
> KEY("testInt")) DEFAULT_COLUMN_FAMILY='T';
> No rows affected (2.223 seconds)
> 0: jdbc:phoenix:xx> UPSERT INTO TEST.TEST VALUES (5, ARRAY['aaa', 'bbb']);
> 1 row affected (0.165 seconds)
> 0: jdbc:phoenix:xx> SELECT "testCharArray" FROM TEST.TEST;
> +---+
> | testCharArray |
> +---+
> | ['aaa', 'bbb'] |
> +---+
> 1 row selected (0.183 seconds)
> 0: jdbc:phoenix:xx> CREATE INDEX IF NOT EXISTS TEST_INDEX ON TEST.TEST 
> ("testInt") INCLUDE ("testCharArray");
> 1 row affected (10.331 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST |
> +--+
> 1 row selected (0.173 seconds)
> 0: jdbc:phoenix:xx> SELECT "testCharArray" FROM TEST.TEST;
> +---+
> | testCharArray |
> +---+
> | ['aaa', 'bbb'] |
> +---+
> 1 row selected (0.475 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT /*+ INDEX(TEST.TEST TEST_INDEX)*/ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST_INDEX |
> +--+
> 1 row selected (0.186 seconds)
> 0: jdbc:phoenix:xx> SELECT /*+ INDEX(TEST.TEST TEST_INDEX)*/ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |  testCharArray   |
> +--+
> java.lang.NullPointerException
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.createPhoenixArray(PArrayDataType.java:1123)
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.toObject(PArrayDataType.java:338)
>   at 
> org.apache.phoenix.schema.types.PCharArray.toObject(PCharArray.java:64)
>   at 
> org.apache.phoenix.schema.types.PDataType.toObject(PDataType.java:984)
>   at 
> org.apache.phoenix.compile.ExpressionProjector.getValue(ExpressionProjector.java:75)
>   at 
> org.apache.phoenix.jdbc.PhoenixResultSet.getString(PhoenixResultSet.java:603)
>   at sqlline.Rows$Row.(Rows.java:183)
>   at sqlline.IncrementalRows.hasNext(IncrementalRows.java:63)
>   at sqlline.TableOutputFormat.print(TableOutputFormat.java:33)
>   at sqlline.SqlLine.print(SqlLine.java:1653)
>   at sqlline.Commands.execute(Commands.java:833)
>   at sqlline.Commands.sql(Commands.java:732)
>   at sqlline.SqlLine.dispatch(SqlLine.java:808)
>   at sqlline.SqlLine.begin(SqlLine.java:681)
>   at sqlline.SqlLine.start(SqlLine.java:398)
>   at sqlline.SqlLine.main(SqlLine.java:292)
> 0: jdbc:phoenix:xx> CREATE INDEX IF NOT EXISTS TEST2 ON TEST.TEST 
> ("testInt", "testCharArray");
> 1 row affected (2.098 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT /*+ INDEX(TEST.TEST TEST2) */ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST2 |
> | SERVER FILTER BY FIRST KEY ONLY  |
> +--+
> 2 rows selected (0.189 seconds)
> 0: jdbc:phoenix:xx> SELECT /*+ INDEX(TEST.TEST TEST2) */ "testCharArray" 
> FROM TEST.TEST;
> +--+
> |  testCharArray   |
> +--+
> java.lang.NullPointerException
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.createPhoenixArray(PArrayDataType.java:1123)
>  

[jira] [Commented] (PHOENIX-2304) NullPointerException when using an index and a char array

2015-10-18 Thread Navis (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-2304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14962717#comment-14962717
 ] 

Navis commented on PHOENIX-2304:


Wow, didn't expected so many comments. I'm new to phoenix and seemed to need 
more time to accustomed to (investigate details on types, making test, etc). 
I'll gladly do that but if it's urgent to be included 4.6.0 release, I'm ok 
whoever take the job. Thanks.

> NullPointerException when using an index and a char array
> -
>
> Key: PHOENIX-2304
> URL: https://issues.apache.org/jira/browse/PHOENIX-2304
> Project: Phoenix
>  Issue Type: Bug
>Affects Versions: 4.5.2
>Reporter: Julian Jaffe
> Attachments: PHOENIX-2402.patch
>
>
> An NPE occurs when Phoenix attempts to retrieve a char array from an index. 
> Retrieving other columns in the table is unaffected. Example below: 
> {code:sql}
> 0: jdbc:phoenix:xx> CREATE TABLE IF NOT EXISTS TEST.TEST("testInt" 
> INTEGER, "testCharArray" CHAR(3)[], CONSTRAINT "test_pk" PRIMARY 
> KEY("testInt")) DEFAULT_COLUMN_FAMILY='T';
> No rows affected (2.223 seconds)
> 0: jdbc:phoenix:xx> UPSERT INTO TEST.TEST VALUES (5, ARRAY['aaa', 'bbb']);
> 1 row affected (0.165 seconds)
> 0: jdbc:phoenix:xx> SELECT "testCharArray" FROM TEST.TEST;
> +---+
> | testCharArray |
> +---+
> | ['aaa', 'bbb'] |
> +---+
> 1 row selected (0.183 seconds)
> 0: jdbc:phoenix:xx> CREATE INDEX IF NOT EXISTS TEST_INDEX ON TEST.TEST 
> ("testInt") INCLUDE ("testCharArray");
> 1 row affected (10.331 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST |
> +--+
> 1 row selected (0.173 seconds)
> 0: jdbc:phoenix:xx> SELECT "testCharArray" FROM TEST.TEST;
> +---+
> | testCharArray |
> +---+
> | ['aaa', 'bbb'] |
> +---+
> 1 row selected (0.475 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT /*+ INDEX(TEST.TEST TEST_INDEX)*/ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST_INDEX |
> +--+
> 1 row selected (0.186 seconds)
> 0: jdbc:phoenix:xx> SELECT /*+ INDEX(TEST.TEST TEST_INDEX)*/ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |  testCharArray   |
> +--+
> java.lang.NullPointerException
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.createPhoenixArray(PArrayDataType.java:1123)
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.toObject(PArrayDataType.java:338)
>   at 
> org.apache.phoenix.schema.types.PCharArray.toObject(PCharArray.java:64)
>   at 
> org.apache.phoenix.schema.types.PDataType.toObject(PDataType.java:984)
>   at 
> org.apache.phoenix.compile.ExpressionProjector.getValue(ExpressionProjector.java:75)
>   at 
> org.apache.phoenix.jdbc.PhoenixResultSet.getString(PhoenixResultSet.java:603)
>   at sqlline.Rows$Row.(Rows.java:183)
>   at sqlline.IncrementalRows.hasNext(IncrementalRows.java:63)
>   at sqlline.TableOutputFormat.print(TableOutputFormat.java:33)
>   at sqlline.SqlLine.print(SqlLine.java:1653)
>   at sqlline.Commands.execute(Commands.java:833)
>   at sqlline.Commands.sql(Commands.java:732)
>   at sqlline.SqlLine.dispatch(SqlLine.java:808)
>   at sqlline.SqlLine.begin(SqlLine.java:681)
>   at sqlline.SqlLine.start(SqlLine.java:398)
>   at sqlline.SqlLine.main(SqlLine.java:292)
> 0: jdbc:phoenix:xx> CREATE INDEX IF NOT EXISTS TEST2 ON TEST.TEST 
> ("testInt", "testCharArray");
> 1 row affected (2.098 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT /*+ INDEX(TEST.TEST TEST2) */ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST2 |
> | SERVER FILTER BY FIRST KEY ONLY  |
> +--+
> 2 rows selected (0.189 seconds)
> 0: jdbc:phoenix:xx> SELECT /*+ INDEX(TEST.TEST TEST2) */ "testCharArray" 
> FROM TEST.TEST;
> +--+
> |  testCharArray   |
> +--+
> java.lang.NullPointerException
>   at 
> 

[jira] [Commented] (PHOENIX-2304) NullPointerException when using an index and a char array

2015-10-16 Thread Julian Jaffe (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-2304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14961012#comment-14961012
 ] 

Julian Jaffe commented on PHOENIX-2304:
---

BINARY type does require the same fix, but that's all this bug needs.

> NullPointerException when using an index and a char array
> -
>
> Key: PHOENIX-2304
> URL: https://issues.apache.org/jira/browse/PHOENIX-2304
> Project: Phoenix
>  Issue Type: Bug
>Affects Versions: 4.5.2
>Reporter: Julian Jaffe
>
> An NPE occurs when Phoenix attempts to retrieve a char array from an index. 
> Retrieving other columns in the table is unaffected. Example below: 
> {code:sql}
> 0: jdbc:phoenix:xx> CREATE TABLE IF NOT EXISTS TEST.TEST("testInt" 
> INTEGER, "testCharArray" CHAR(3)[], CONSTRAINT "test_pk" PRIMARY 
> KEY("testInt")) DEFAULT_COLUMN_FAMILY='T';
> No rows affected (2.223 seconds)
> 0: jdbc:phoenix:xx> UPSERT INTO TEST.TEST VALUES (5, ARRAY['aaa', 'bbb']);
> 1 row affected (0.165 seconds)
> 0: jdbc:phoenix:xx> SELECT "testCharArray" FROM TEST.TEST;
> +---+
> | testCharArray |
> +---+
> | ['aaa', 'bbb'] |
> +---+
> 1 row selected (0.183 seconds)
> 0: jdbc:phoenix:xx> CREATE INDEX IF NOT EXISTS TEST_INDEX ON TEST.TEST 
> ("testInt") INCLUDE ("testCharArray");
> 1 row affected (10.331 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST |
> +--+
> 1 row selected (0.173 seconds)
> 0: jdbc:phoenix:xx> SELECT "testCharArray" FROM TEST.TEST;
> +---+
> | testCharArray |
> +---+
> | ['aaa', 'bbb'] |
> +---+
> 1 row selected (0.475 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT /*+ INDEX(TEST.TEST TEST_INDEX)*/ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST_INDEX |
> +--+
> 1 row selected (0.186 seconds)
> 0: jdbc:phoenix:xx> SELECT /*+ INDEX(TEST.TEST TEST_INDEX)*/ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |  testCharArray   |
> +--+
> java.lang.NullPointerException
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.createPhoenixArray(PArrayDataType.java:1123)
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.toObject(PArrayDataType.java:338)
>   at 
> org.apache.phoenix.schema.types.PCharArray.toObject(PCharArray.java:64)
>   at 
> org.apache.phoenix.schema.types.PDataType.toObject(PDataType.java:984)
>   at 
> org.apache.phoenix.compile.ExpressionProjector.getValue(ExpressionProjector.java:75)
>   at 
> org.apache.phoenix.jdbc.PhoenixResultSet.getString(PhoenixResultSet.java:603)
>   at sqlline.Rows$Row.(Rows.java:183)
>   at sqlline.IncrementalRows.hasNext(IncrementalRows.java:63)
>   at sqlline.TableOutputFormat.print(TableOutputFormat.java:33)
>   at sqlline.SqlLine.print(SqlLine.java:1653)
>   at sqlline.Commands.execute(Commands.java:833)
>   at sqlline.Commands.sql(Commands.java:732)
>   at sqlline.SqlLine.dispatch(SqlLine.java:808)
>   at sqlline.SqlLine.begin(SqlLine.java:681)
>   at sqlline.SqlLine.start(SqlLine.java:398)
>   at sqlline.SqlLine.main(SqlLine.java:292)
> 0: jdbc:phoenix:xx> CREATE INDEX IF NOT EXISTS TEST2 ON TEST.TEST 
> ("testInt", "testCharArray");
> 1 row affected (2.098 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT /*+ INDEX(TEST.TEST TEST2) */ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST2 |
> | SERVER FILTER BY FIRST KEY ONLY  |
> +--+
> 2 rows selected (0.189 seconds)
> 0: jdbc:phoenix:xx> SELECT /*+ INDEX(TEST.TEST TEST2) */ "testCharArray" 
> FROM TEST.TEST;
> +--+
> |  testCharArray   |
> +--+
> java.lang.NullPointerException
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.createPhoenixArray(PArrayDataType.java:1123)
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.toObject(PArrayDataType.java:338)
>   at 
> org.apache.phoenix.schema.types.PCharArray.toObject(PCharArray.java:64)
>   

[jira] [Commented] (PHOENIX-2304) NullPointerException when using an index and a char array

2015-10-16 Thread James Taylor (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-2304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14961052#comment-14961052
 ] 

James Taylor commented on PHOENIX-2304:
---

Thanks, [~jja...@marinsoftware.com]. So just three things are needed:
- Change the check to if (this.dataType.isFixedWidth()) be more general so it 
covers CHAR, BINARY, or any future fixed width type.
- Modify the error messages so that they aren't specific to a particular type, 
but more general about a fixed width types.
- Add a couple of simple unit tests.

If you can get to this today, then it might make it into our 4.6.0 release.

> NullPointerException when using an index and a char array
> -
>
> Key: PHOENIX-2304
> URL: https://issues.apache.org/jira/browse/PHOENIX-2304
> Project: Phoenix
>  Issue Type: Bug
>Affects Versions: 4.5.2
>Reporter: Julian Jaffe
>
> An NPE occurs when Phoenix attempts to retrieve a char array from an index. 
> Retrieving other columns in the table is unaffected. Example below: 
> {code:sql}
> 0: jdbc:phoenix:xx> CREATE TABLE IF NOT EXISTS TEST.TEST("testInt" 
> INTEGER, "testCharArray" CHAR(3)[], CONSTRAINT "test_pk" PRIMARY 
> KEY("testInt")) DEFAULT_COLUMN_FAMILY='T';
> No rows affected (2.223 seconds)
> 0: jdbc:phoenix:xx> UPSERT INTO TEST.TEST VALUES (5, ARRAY['aaa', 'bbb']);
> 1 row affected (0.165 seconds)
> 0: jdbc:phoenix:xx> SELECT "testCharArray" FROM TEST.TEST;
> +---+
> | testCharArray |
> +---+
> | ['aaa', 'bbb'] |
> +---+
> 1 row selected (0.183 seconds)
> 0: jdbc:phoenix:xx> CREATE INDEX IF NOT EXISTS TEST_INDEX ON TEST.TEST 
> ("testInt") INCLUDE ("testCharArray");
> 1 row affected (10.331 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST |
> +--+
> 1 row selected (0.173 seconds)
> 0: jdbc:phoenix:xx> SELECT "testCharArray" FROM TEST.TEST;
> +---+
> | testCharArray |
> +---+
> | ['aaa', 'bbb'] |
> +---+
> 1 row selected (0.475 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT /*+ INDEX(TEST.TEST TEST_INDEX)*/ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST_INDEX |
> +--+
> 1 row selected (0.186 seconds)
> 0: jdbc:phoenix:xx> SELECT /*+ INDEX(TEST.TEST TEST_INDEX)*/ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |  testCharArray   |
> +--+
> java.lang.NullPointerException
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.createPhoenixArray(PArrayDataType.java:1123)
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.toObject(PArrayDataType.java:338)
>   at 
> org.apache.phoenix.schema.types.PCharArray.toObject(PCharArray.java:64)
>   at 
> org.apache.phoenix.schema.types.PDataType.toObject(PDataType.java:984)
>   at 
> org.apache.phoenix.compile.ExpressionProjector.getValue(ExpressionProjector.java:75)
>   at 
> org.apache.phoenix.jdbc.PhoenixResultSet.getString(PhoenixResultSet.java:603)
>   at sqlline.Rows$Row.(Rows.java:183)
>   at sqlline.IncrementalRows.hasNext(IncrementalRows.java:63)
>   at sqlline.TableOutputFormat.print(TableOutputFormat.java:33)
>   at sqlline.SqlLine.print(SqlLine.java:1653)
>   at sqlline.Commands.execute(Commands.java:833)
>   at sqlline.Commands.sql(Commands.java:732)
>   at sqlline.SqlLine.dispatch(SqlLine.java:808)
>   at sqlline.SqlLine.begin(SqlLine.java:681)
>   at sqlline.SqlLine.start(SqlLine.java:398)
>   at sqlline.SqlLine.main(SqlLine.java:292)
> 0: jdbc:phoenix:xx> CREATE INDEX IF NOT EXISTS TEST2 ON TEST.TEST 
> ("testInt", "testCharArray");
> 1 row affected (2.098 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT /*+ INDEX(TEST.TEST TEST2) */ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST2 |
> | SERVER FILTER BY FIRST KEY ONLY  |
> +--+
> 2 rows selected (0.189 seconds)
> 0: jdbc:phoenix:xx> SELECT /*+ INDEX(TEST.TEST TEST2) */ "testCharArray" 
> FROM TEST.TEST;
> +--+
> |  testCharArray   |
> 

[jira] [Commented] (PHOENIX-2304) NullPointerException when using an index and a char array

2015-10-16 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-2304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14960984#comment-14960984
 ] 

ASF GitHub Bot commented on PHOENIX-2304:
-

Github user JamesRTaylor commented on the pull request:

https://github.com/apache/phoenix/pull/121#issuecomment-148763881
  
Thanks for the pull request, @navis. Would you mind including a unit test 
as well? 


> NullPointerException when using an index and a char array
> -
>
> Key: PHOENIX-2304
> URL: https://issues.apache.org/jira/browse/PHOENIX-2304
> Project: Phoenix
>  Issue Type: Bug
>Affects Versions: 4.5.2
>Reporter: Julian Jaffe
>
> An NPE occurs when Phoenix attempts to retrieve a char array from an index. 
> Retrieving other columns in the table is unaffected. Example below: 
> {code:sql}
> 0: jdbc:phoenix:xx> CREATE TABLE IF NOT EXISTS TEST.TEST("testInt" 
> INTEGER, "testCharArray" CHAR(3)[], CONSTRAINT "test_pk" PRIMARY 
> KEY("testInt")) DEFAULT_COLUMN_FAMILY='T';
> No rows affected (2.223 seconds)
> 0: jdbc:phoenix:xx> UPSERT INTO TEST.TEST VALUES (5, ARRAY['aaa', 'bbb']);
> 1 row affected (0.165 seconds)
> 0: jdbc:phoenix:xx> SELECT "testCharArray" FROM TEST.TEST;
> +---+
> | testCharArray |
> +---+
> | ['aaa', 'bbb'] |
> +---+
> 1 row selected (0.183 seconds)
> 0: jdbc:phoenix:xx> CREATE INDEX IF NOT EXISTS TEST_INDEX ON TEST.TEST 
> ("testInt") INCLUDE ("testCharArray");
> 1 row affected (10.331 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST |
> +--+
> 1 row selected (0.173 seconds)
> 0: jdbc:phoenix:xx> SELECT "testCharArray" FROM TEST.TEST;
> +---+
> | testCharArray |
> +---+
> | ['aaa', 'bbb'] |
> +---+
> 1 row selected (0.475 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT /*+ INDEX(TEST.TEST TEST_INDEX)*/ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST_INDEX |
> +--+
> 1 row selected (0.186 seconds)
> 0: jdbc:phoenix:xx> SELECT /*+ INDEX(TEST.TEST TEST_INDEX)*/ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |  testCharArray   |
> +--+
> java.lang.NullPointerException
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.createPhoenixArray(PArrayDataType.java:1123)
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.toObject(PArrayDataType.java:338)
>   at 
> org.apache.phoenix.schema.types.PCharArray.toObject(PCharArray.java:64)
>   at 
> org.apache.phoenix.schema.types.PDataType.toObject(PDataType.java:984)
>   at 
> org.apache.phoenix.compile.ExpressionProjector.getValue(ExpressionProjector.java:75)
>   at 
> org.apache.phoenix.jdbc.PhoenixResultSet.getString(PhoenixResultSet.java:603)
>   at sqlline.Rows$Row.(Rows.java:183)
>   at sqlline.IncrementalRows.hasNext(IncrementalRows.java:63)
>   at sqlline.TableOutputFormat.print(TableOutputFormat.java:33)
>   at sqlline.SqlLine.print(SqlLine.java:1653)
>   at sqlline.Commands.execute(Commands.java:833)
>   at sqlline.Commands.sql(Commands.java:732)
>   at sqlline.SqlLine.dispatch(SqlLine.java:808)
>   at sqlline.SqlLine.begin(SqlLine.java:681)
>   at sqlline.SqlLine.start(SqlLine.java:398)
>   at sqlline.SqlLine.main(SqlLine.java:292)
> 0: jdbc:phoenix:xx> CREATE INDEX IF NOT EXISTS TEST2 ON TEST.TEST 
> ("testInt", "testCharArray");
> 1 row affected (2.098 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT /*+ INDEX(TEST.TEST TEST2) */ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST2 |
> | SERVER FILTER BY FIRST KEY ONLY  |
> +--+
> 2 rows selected (0.189 seconds)
> 0: jdbc:phoenix:xx> SELECT /*+ INDEX(TEST.TEST TEST2) */ "testCharArray" 
> FROM TEST.TEST;
> +--+
> |  testCharArray   |
> +--+
> java.lang.NullPointerException
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.createPhoenixArray(PArrayDataType.java:1123)
>   at 
> 

[jira] [Commented] (PHOENIX-2304) NullPointerException when using an index and a char array

2015-10-16 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/PHOENIX-2304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14960988#comment-14960988
 ] 

ASF GitHub Bot commented on PHOENIX-2304:
-

Github user JamesRTaylor commented on a diff in the pull request:

https://github.com/apache/phoenix/pull/121#discussion_r42262797
  
--- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/parse/ColumnDef.java ---
@@ -78,7 +79,7 @@
  }
  
  this.isNull = isNull;
- if (this.dataType == PChar.INSTANCE) {
+ if (this.dataType == PChar.INSTANCE || this.dataType == 
PCharArray.INSTANCE) {
--- End diff --

I'd be curious if BINARY type would require the same fix. A more general 
check would be:
if (this.dataType.isFixedWidth()) {

along with generalizing the error messages.


> NullPointerException when using an index and a char array
> -
>
> Key: PHOENIX-2304
> URL: https://issues.apache.org/jira/browse/PHOENIX-2304
> Project: Phoenix
>  Issue Type: Bug
>Affects Versions: 4.5.2
>Reporter: Julian Jaffe
>
> An NPE occurs when Phoenix attempts to retrieve a char array from an index. 
> Retrieving other columns in the table is unaffected. Example below: 
> {code:sql}
> 0: jdbc:phoenix:xx> CREATE TABLE IF NOT EXISTS TEST.TEST("testInt" 
> INTEGER, "testCharArray" CHAR(3)[], CONSTRAINT "test_pk" PRIMARY 
> KEY("testInt")) DEFAULT_COLUMN_FAMILY='T';
> No rows affected (2.223 seconds)
> 0: jdbc:phoenix:xx> UPSERT INTO TEST.TEST VALUES (5, ARRAY['aaa', 'bbb']);
> 1 row affected (0.165 seconds)
> 0: jdbc:phoenix:xx> SELECT "testCharArray" FROM TEST.TEST;
> +---+
> | testCharArray |
> +---+
> | ['aaa', 'bbb'] |
> +---+
> 1 row selected (0.183 seconds)
> 0: jdbc:phoenix:xx> CREATE INDEX IF NOT EXISTS TEST_INDEX ON TEST.TEST 
> ("testInt") INCLUDE ("testCharArray");
> 1 row affected (10.331 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST |
> +--+
> 1 row selected (0.173 seconds)
> 0: jdbc:phoenix:xx> SELECT "testCharArray" FROM TEST.TEST;
> +---+
> | testCharArray |
> +---+
> | ['aaa', 'bbb'] |
> +---+
> 1 row selected (0.475 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT /*+ INDEX(TEST.TEST TEST_INDEX)*/ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST_INDEX |
> +--+
> 1 row selected (0.186 seconds)
> 0: jdbc:phoenix:xx> SELECT /*+ INDEX(TEST.TEST TEST_INDEX)*/ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |  testCharArray   |
> +--+
> java.lang.NullPointerException
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.createPhoenixArray(PArrayDataType.java:1123)
>   at 
> org.apache.phoenix.schema.types.PArrayDataType.toObject(PArrayDataType.java:338)
>   at 
> org.apache.phoenix.schema.types.PCharArray.toObject(PCharArray.java:64)
>   at 
> org.apache.phoenix.schema.types.PDataType.toObject(PDataType.java:984)
>   at 
> org.apache.phoenix.compile.ExpressionProjector.getValue(ExpressionProjector.java:75)
>   at 
> org.apache.phoenix.jdbc.PhoenixResultSet.getString(PhoenixResultSet.java:603)
>   at sqlline.Rows$Row.(Rows.java:183)
>   at sqlline.IncrementalRows.hasNext(IncrementalRows.java:63)
>   at sqlline.TableOutputFormat.print(TableOutputFormat.java:33)
>   at sqlline.SqlLine.print(SqlLine.java:1653)
>   at sqlline.Commands.execute(Commands.java:833)
>   at sqlline.Commands.sql(Commands.java:732)
>   at sqlline.SqlLine.dispatch(SqlLine.java:808)
>   at sqlline.SqlLine.begin(SqlLine.java:681)
>   at sqlline.SqlLine.start(SqlLine.java:398)
>   at sqlline.SqlLine.main(SqlLine.java:292)
> 0: jdbc:phoenix:xx> CREATE INDEX IF NOT EXISTS TEST2 ON TEST.TEST 
> ("testInt", "testCharArray");
> 1 row affected (2.098 seconds)
> 0: jdbc:phoenix:xx> EXPLAIN SELECT /*+ INDEX(TEST.TEST TEST2) */ 
> "testCharArray" FROM TEST.TEST;
> +--+
> |   PLAN   |
> +--+
> | CLIENT 1-CHUNK PARALLEL 1-WAY FULL SCAN OVER TEST.TEST2 |
> | SERVER FILTER BY FIRST KEY ONLY  |
>