You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Kevin Liew (JIRA)" <ji...@apache.org> on 2016/01/30 01:40:39 UTC

[jira] [Updated] (PHOENIX-2644) Error on comparing a Null cell across tables

     [ https://issues.apache.org/jira/browse/PHOENIX-2644?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kevin Liew updated PHOENIX-2644:
--------------------------------
    Description: 
1. Create two tables
{code}
DROP TABLE IF EXISTS AT1;
CREATE TABLE IF NOT EXISTS AT1(
	pk INTEGER PRIMARY KEY,
	NUM_COL1 DECIMAL(18, 4),
	COL2 VARCHAR(32768),
	COL3 CHAR(254),
	LOG_COL4 BOOLEAN,
	DATE_COL5 DATE);

DROP TABLE IF EXISTS AT2;
CREATE TABLE IF NOT EXISTS AT2(
	pk INTEGER PRIMARY KEY,
	NUM_COL1 DECIMAL(18, 4),
	COL2 VARCHAR(32768),
	COL3 CHAR(254),
	LOG_COL4 BOOLEAN,
	DATE_COL5 DATE);
{code}

2. Upsert rows in each table, with at least one row in one table having a Null value for COL2.

3. 
Request:
{code}select * from addr where emp.first_name = addr.first_name{code}

Result:
{code}
Error: Error -1 (00000) : Error while executing SQL "select * from at1 where at1.col2 = at2.col2": Remote driver error: RuntimeException: org.apache.phoenix.schema.ColumnFamilyNotFoundException: ERROR 1001 (42I01): Undefined column family. familyName=AT2 -> ColumnFamilyNotFoundException: ERROR 1001 (42I01): Undefined column family. familyName=AT2 (state=00000,code=-1)
org.apache.calcite.avatica.AvaticaSqlException: Error -1 (00000) : Error while executing SQL "select * from at1 where at1.col2 = at2.col2": Remote driver error: RuntimeException: org.apache.phoenix.schema.ColumnFamilyNotFoundException: ERROR 1001 (42I01): Undefined column family. familyName=AT2 -> ColumnFamilyNotFoundException: ERROR 1001 (42I01): Undefined column family. familyName=AT2
	at org.apache.calcite.avatica.Helper.createException(Helper.java:54)
	at org.apache.calcite.avatica.Helper.createException(Helper.java:41)
	at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:143)
	at org.apache.calcite.avatica.AvaticaStatement.execute(AvaticaStatement.java:177)
	at sqlline.Commands.execute(Commands.java:822)
	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)
java.lang.RuntimeException: org.apache.phoenix.schema.ColumnFamilyNotFoundException: ERROR 1001 (42I01): Undefined column family. familyName=AT2
	at org.apache.calcite.avatica.jdbc.JdbcMeta.propagate(JdbcMeta.java:651)
	at org.apache.calcite.avatica.jdbc.JdbcMeta.prepareAndExecute(JdbcMeta.java:715)
	at org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:187)
	at org.apache.calcite.avatica.remote.Service$PrepareAndExecuteRequest.accept(Service.java:868)
	at org.apache.calcite.avatica.remote.Service$PrepareAndExecuteRequest.accept(Service.java:842)
	at org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:102)
	at org.apache.calcite.avatica.remote.JsonHandler.apply(JsonHandler.java:43)
	at org.apache.calcite.avatica.server.AvaticaJsonHandler.handle(AvaticaJsonHandler.java:73)
	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
	at org.eclipse.jetty.server.Server.handle(Server.java:497)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:245)
	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.phoenix.schema.ColumnFamilyNotFoundException: ERROR 1001 (42I01): Undefined column family. familyName=AT2
	at org.apache.phoenix.schema.PTableImpl.getColumnFamily(PTableImpl.java:817)
	at org.apache.phoenix.compile.FromCompiler$SingleTableColumnResolver.resolveColumn(FromCompiler.java:362)
	at org.apache.phoenix.compile.ExpressionCompiler.resolveColumn(ExpressionCompiler.java:366)
	at org.apache.phoenix.compile.WhereCompiler$WhereExpressionCompiler.resolveColumn(WhereCompiler.java:181)
	at org.apache.phoenix.compile.WhereCompiler$WhereExpressionCompiler.visit(WhereCompiler.java:169)
	at org.apache.phoenix.compile.WhereCompiler$WhereExpressionCompiler.visit(WhereCompiler.java:156)
	at org.apache.phoenix.parse.ColumnParseNode.accept(ColumnParseNode.java:56)
	at org.apache.phoenix.parse.CompoundParseNode.acceptChildren(CompoundParseNode.java:64)
	at org.apache.phoenix.parse.ComparisonParseNode.accept(ComparisonParseNode.java:45)
	at org.apache.phoenix.compile.WhereCompiler.compile(WhereCompiler.java:130)
	at org.apache.phoenix.compile.WhereCompiler.compile(WhereCompiler.java:100)
	at org.apache.phoenix.compile.QueryCompiler.compileSingleFlatQuery(QueryCompiler.java:543)
	at org.apache.phoenix.compile.QueryCompiler.compileSingleQuery(QueryCompiler.java:495)
	at org.apache.phoenix.compile.QueryCompiler.compileSelect(QueryCompiler.java:201)
	at org.apache.phoenix.compile.QueryCompiler.compile(QueryCompiler.java:158)
	at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.compilePlan(PhoenixStatement.java:399)
	at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.compilePlan(PhoenixStatement.java:373)
	at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:266)
	at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:261)
	at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
	at org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:260)
	at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1349)
	at org.apache.calcite.avatica.jdbc.JdbcMeta.prepareAndExecute(JdbcMeta.java:695)
	... 15 more
{code}

Request:
{code}select e.first_name from emp e, addr a where e.first_name in (a.first_name){code}

Response:
{code}
java.sql.SQLException: ERROR 214 (22008): Values in IN must evaluate to a constant.
	at org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java:419)
	at org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:145)
	at org.apache.phoenix.parse.InListParseNode.<init>(InListParseNode.java:46)
	at org.apache.phoenix.parse.ParseNodeFactory.inList(ParseNodeFactory.java:456)
	at org.apache.phoenix.parse.PhoenixSQLParser.boolean_expression(PhoenixSQLParser.java:7257)
	at org.apache.phoenix.parse.PhoenixSQLParser.not_expression(PhoenixSQLParser.java:6438)
	at org.apache.phoenix.parse.PhoenixSQLParser.and_expression(PhoenixSQLParser.java:6283)
	at org.apache.phoenix.parse.PhoenixSQLParser.or_expression(PhoenixSQLParser.java:6220)
	at org.apache.phoenix.parse.PhoenixSQLParser.expression(PhoenixSQLParser.java:6185)
	at org.apache.phoenix.parse.PhoenixSQLParser.single_select(PhoenixSQLParser.java:4388)
	at org.apache.phoenix.parse.PhoenixSQLParser.unioned_selects(PhoenixSQLParser.java:4470)
	at org.apache.phoenix.parse.PhoenixSQLParser.select_node(PhoenixSQLParser.java:4535)
	at org.apache.phoenix.parse.PhoenixSQLParser.oneStatement(PhoenixSQLParser.java:766)
	at org.apache.phoenix.parse.PhoenixSQLParser.statement(PhoenixSQLParser.java:500)
	at org.apache.phoenix.parse.SQLParser.parseStatement(SQLParser.java:108)
	at org.apache.phoenix.jdbc.PhoenixStatement$PhoenixStatementParser.parseStatement(PhoenixStatement.java:1185)
	at org.apache.phoenix.jdbc.PhoenixStatement.parseStatement(PhoenixStatement.java:1268)
	at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1339)
	at sqlline.Commands.execute(Commands.java:822)
	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)

{code}

  was:
1. Create two tables
{code}
DROP TABLE IF EXISTS AT1;
CREATE TABLE IF NOT EXISTS AT1(
	pk INTEGER PRIMARY KEY,
	NUM_COL1 DECIMAL(18, 4),
	COL2 VARCHAR(32768),
	COL3 CHAR(254),
	LOG_COL4 BOOLEAN,
	DATE_COL5 DATE);

DROP TABLE IF EXISTS AT2;
CREATE TABLE IF NOT EXISTS AT2(
	pk INTEGER PRIMARY KEY,
	NUM_COL1 DECIMAL(18, 4),
	COL2 VARCHAR(32768),
	COL3 CHAR(254),
	LOG_COL4 BOOLEAN,
	DATE_COL5 DATE);
{code}

2. Upsert rows in each table, with at least one row in one table having a Null value for COL2.

3. {code}select * from addr where emp.first_name = addr.first_name{code}

Result:
{code}
Error: Error -1 (00000) : Error while executing SQL "select * from at1 where at1.col2 = at2.col2": Remote driver error: RuntimeException: org.apache.phoenix.schema.ColumnFamilyNotFoundException: ERROR 1001 (42I01): Undefined column family. familyName=AT2 -> ColumnFamilyNotFoundException: ERROR 1001 (42I01): Undefined column family. familyName=AT2 (state=00000,code=-1)
org.apache.calcite.avatica.AvaticaSqlException: Error -1 (00000) : Error while executing SQL "select * from at1 where at1.col2 = at2.col2": Remote driver error: RuntimeException: org.apache.phoenix.schema.ColumnFamilyNotFoundException: ERROR 1001 (42I01): Undefined column family. familyName=AT2 -> ColumnFamilyNotFoundException: ERROR 1001 (42I01): Undefined column family. familyName=AT2
	at org.apache.calcite.avatica.Helper.createException(Helper.java:54)
	at org.apache.calcite.avatica.Helper.createException(Helper.java:41)
	at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:143)
	at org.apache.calcite.avatica.AvaticaStatement.execute(AvaticaStatement.java:177)
	at sqlline.Commands.execute(Commands.java:822)
	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)
java.lang.RuntimeException: org.apache.phoenix.schema.ColumnFamilyNotFoundException: ERROR 1001 (42I01): Undefined column family. familyName=AT2
	at org.apache.calcite.avatica.jdbc.JdbcMeta.propagate(JdbcMeta.java:651)
	at org.apache.calcite.avatica.jdbc.JdbcMeta.prepareAndExecute(JdbcMeta.java:715)
	at org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:187)
	at org.apache.calcite.avatica.remote.Service$PrepareAndExecuteRequest.accept(Service.java:868)
	at org.apache.calcite.avatica.remote.Service$PrepareAndExecuteRequest.accept(Service.java:842)
	at org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:102)
	at org.apache.calcite.avatica.remote.JsonHandler.apply(JsonHandler.java:43)
	at org.apache.calcite.avatica.server.AvaticaJsonHandler.handle(AvaticaJsonHandler.java:73)
	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
	at org.eclipse.jetty.server.Server.handle(Server.java:497)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:245)
	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.phoenix.schema.ColumnFamilyNotFoundException: ERROR 1001 (42I01): Undefined column family. familyName=AT2
	at org.apache.phoenix.schema.PTableImpl.getColumnFamily(PTableImpl.java:817)
	at org.apache.phoenix.compile.FromCompiler$SingleTableColumnResolver.resolveColumn(FromCompiler.java:362)
	at org.apache.phoenix.compile.ExpressionCompiler.resolveColumn(ExpressionCompiler.java:366)
	at org.apache.phoenix.compile.WhereCompiler$WhereExpressionCompiler.resolveColumn(WhereCompiler.java:181)
	at org.apache.phoenix.compile.WhereCompiler$WhereExpressionCompiler.visit(WhereCompiler.java:169)
	at org.apache.phoenix.compile.WhereCompiler$WhereExpressionCompiler.visit(WhereCompiler.java:156)
	at org.apache.phoenix.parse.ColumnParseNode.accept(ColumnParseNode.java:56)
	at org.apache.phoenix.parse.CompoundParseNode.acceptChildren(CompoundParseNode.java:64)
	at org.apache.phoenix.parse.ComparisonParseNode.accept(ComparisonParseNode.java:45)
	at org.apache.phoenix.compile.WhereCompiler.compile(WhereCompiler.java:130)
	at org.apache.phoenix.compile.WhereCompiler.compile(WhereCompiler.java:100)
	at org.apache.phoenix.compile.QueryCompiler.compileSingleFlatQuery(QueryCompiler.java:543)
	at org.apache.phoenix.compile.QueryCompiler.compileSingleQuery(QueryCompiler.java:495)
	at org.apache.phoenix.compile.QueryCompiler.compileSelect(QueryCompiler.java:201)
	at org.apache.phoenix.compile.QueryCompiler.compile(QueryCompiler.java:158)
	at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.compilePlan(PhoenixStatement.java:399)
	at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.compilePlan(PhoenixStatement.java:373)
	at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:266)
	at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:261)
	at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
	at org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:260)
	at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1349)
	at org.apache.calcite.avatica.jdbc.JdbcMeta.prepareAndExecute(JdbcMeta.java:695)
	... 15 more

{code}



> Error on comparing a Null cell across tables
> --------------------------------------------
>
>                 Key: PHOENIX-2644
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2644
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.7.0
>         Environment: Phoenix 4.7.0 on Calcite 1.5
>            Reporter: Kevin Liew
>
> 1. Create two tables
> {code}
> DROP TABLE IF EXISTS AT1;
> CREATE TABLE IF NOT EXISTS AT1(
> 	pk INTEGER PRIMARY KEY,
> 	NUM_COL1 DECIMAL(18, 4),
> 	COL2 VARCHAR(32768),
> 	COL3 CHAR(254),
> 	LOG_COL4 BOOLEAN,
> 	DATE_COL5 DATE);
> DROP TABLE IF EXISTS AT2;
> CREATE TABLE IF NOT EXISTS AT2(
> 	pk INTEGER PRIMARY KEY,
> 	NUM_COL1 DECIMAL(18, 4),
> 	COL2 VARCHAR(32768),
> 	COL3 CHAR(254),
> 	LOG_COL4 BOOLEAN,
> 	DATE_COL5 DATE);
> {code}
> 2. Upsert rows in each table, with at least one row in one table having a Null value for COL2.
> 3. 
> Request:
> {code}select * from addr where emp.first_name = addr.first_name{code}
> Result:
> {code}
> Error: Error -1 (00000) : Error while executing SQL "select * from at1 where at1.col2 = at2.col2": Remote driver error: RuntimeException: org.apache.phoenix.schema.ColumnFamilyNotFoundException: ERROR 1001 (42I01): Undefined column family. familyName=AT2 -> ColumnFamilyNotFoundException: ERROR 1001 (42I01): Undefined column family. familyName=AT2 (state=00000,code=-1)
> org.apache.calcite.avatica.AvaticaSqlException: Error -1 (00000) : Error while executing SQL "select * from at1 where at1.col2 = at2.col2": Remote driver error: RuntimeException: org.apache.phoenix.schema.ColumnFamilyNotFoundException: ERROR 1001 (42I01): Undefined column family. familyName=AT2 -> ColumnFamilyNotFoundException: ERROR 1001 (42I01): Undefined column family. familyName=AT2
> 	at org.apache.calcite.avatica.Helper.createException(Helper.java:54)
> 	at org.apache.calcite.avatica.Helper.createException(Helper.java:41)
> 	at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:143)
> 	at org.apache.calcite.avatica.AvaticaStatement.execute(AvaticaStatement.java:177)
> 	at sqlline.Commands.execute(Commands.java:822)
> 	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)
> java.lang.RuntimeException: org.apache.phoenix.schema.ColumnFamilyNotFoundException: ERROR 1001 (42I01): Undefined column family. familyName=AT2
> 	at org.apache.calcite.avatica.jdbc.JdbcMeta.propagate(JdbcMeta.java:651)
> 	at org.apache.calcite.avatica.jdbc.JdbcMeta.prepareAndExecute(JdbcMeta.java:715)
> 	at org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:187)
> 	at org.apache.calcite.avatica.remote.Service$PrepareAndExecuteRequest.accept(Service.java:868)
> 	at org.apache.calcite.avatica.remote.Service$PrepareAndExecuteRequest.accept(Service.java:842)
> 	at org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:102)
> 	at org.apache.calcite.avatica.remote.JsonHandler.apply(JsonHandler.java:43)
> 	at org.apache.calcite.avatica.server.AvaticaJsonHandler.handle(AvaticaJsonHandler.java:73)
> 	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
> 	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
> 	at org.eclipse.jetty.server.Server.handle(Server.java:497)
> 	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
> 	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:245)
> 	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
> 	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
> 	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.phoenix.schema.ColumnFamilyNotFoundException: ERROR 1001 (42I01): Undefined column family. familyName=AT2
> 	at org.apache.phoenix.schema.PTableImpl.getColumnFamily(PTableImpl.java:817)
> 	at org.apache.phoenix.compile.FromCompiler$SingleTableColumnResolver.resolveColumn(FromCompiler.java:362)
> 	at org.apache.phoenix.compile.ExpressionCompiler.resolveColumn(ExpressionCompiler.java:366)
> 	at org.apache.phoenix.compile.WhereCompiler$WhereExpressionCompiler.resolveColumn(WhereCompiler.java:181)
> 	at org.apache.phoenix.compile.WhereCompiler$WhereExpressionCompiler.visit(WhereCompiler.java:169)
> 	at org.apache.phoenix.compile.WhereCompiler$WhereExpressionCompiler.visit(WhereCompiler.java:156)
> 	at org.apache.phoenix.parse.ColumnParseNode.accept(ColumnParseNode.java:56)
> 	at org.apache.phoenix.parse.CompoundParseNode.acceptChildren(CompoundParseNode.java:64)
> 	at org.apache.phoenix.parse.ComparisonParseNode.accept(ComparisonParseNode.java:45)
> 	at org.apache.phoenix.compile.WhereCompiler.compile(WhereCompiler.java:130)
> 	at org.apache.phoenix.compile.WhereCompiler.compile(WhereCompiler.java:100)
> 	at org.apache.phoenix.compile.QueryCompiler.compileSingleFlatQuery(QueryCompiler.java:543)
> 	at org.apache.phoenix.compile.QueryCompiler.compileSingleQuery(QueryCompiler.java:495)
> 	at org.apache.phoenix.compile.QueryCompiler.compileSelect(QueryCompiler.java:201)
> 	at org.apache.phoenix.compile.QueryCompiler.compile(QueryCompiler.java:158)
> 	at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.compilePlan(PhoenixStatement.java:399)
> 	at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.compilePlan(PhoenixStatement.java:373)
> 	at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:266)
> 	at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:261)
> 	at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
> 	at org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:260)
> 	at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1349)
> 	at org.apache.calcite.avatica.jdbc.JdbcMeta.prepareAndExecute(JdbcMeta.java:695)
> 	... 15 more
> {code}
> Request:
> {code}select e.first_name from emp e, addr a where e.first_name in (a.first_name){code}
> Response:
> {code}
> java.sql.SQLException: ERROR 214 (22008): Values in IN must evaluate to a constant.
> 	at org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java:419)
> 	at org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:145)
> 	at org.apache.phoenix.parse.InListParseNode.<init>(InListParseNode.java:46)
> 	at org.apache.phoenix.parse.ParseNodeFactory.inList(ParseNodeFactory.java:456)
> 	at org.apache.phoenix.parse.PhoenixSQLParser.boolean_expression(PhoenixSQLParser.java:7257)
> 	at org.apache.phoenix.parse.PhoenixSQLParser.not_expression(PhoenixSQLParser.java:6438)
> 	at org.apache.phoenix.parse.PhoenixSQLParser.and_expression(PhoenixSQLParser.java:6283)
> 	at org.apache.phoenix.parse.PhoenixSQLParser.or_expression(PhoenixSQLParser.java:6220)
> 	at org.apache.phoenix.parse.PhoenixSQLParser.expression(PhoenixSQLParser.java:6185)
> 	at org.apache.phoenix.parse.PhoenixSQLParser.single_select(PhoenixSQLParser.java:4388)
> 	at org.apache.phoenix.parse.PhoenixSQLParser.unioned_selects(PhoenixSQLParser.java:4470)
> 	at org.apache.phoenix.parse.PhoenixSQLParser.select_node(PhoenixSQLParser.java:4535)
> 	at org.apache.phoenix.parse.PhoenixSQLParser.oneStatement(PhoenixSQLParser.java:766)
> 	at org.apache.phoenix.parse.PhoenixSQLParser.statement(PhoenixSQLParser.java:500)
> 	at org.apache.phoenix.parse.SQLParser.parseStatement(SQLParser.java:108)
> 	at org.apache.phoenix.jdbc.PhoenixStatement$PhoenixStatementParser.parseStatement(PhoenixStatement.java:1185)
> 	at org.apache.phoenix.jdbc.PhoenixStatement.parseStatement(PhoenixStatement.java:1268)
> 	at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1339)
> 	at sqlline.Commands.execute(Commands.java:822)
> 	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)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)