Gentle reminder to always do a general search for similar issues

https://issues.apache.org/jira/browse/PHOENIX-5192

There have been some issues which have been similarly reported in the past, but no one has been able to provide a reproduction. Perhaps you can be the one to do that. As of now, your reported issue is not actionable as we don't know where it is.

Finally, you're using an extremely old version of HBase and Phoenix. You should upgrade.

On 5/29/20 3:11 AM, Ganda Manurung wrote:

Hello,

I have a query like this on my program

SELECT COUNT(*) AS COUNTER from ( SELECT FULLNAME FROM TABLE_A WHERE ID = '1' AND STATUS = 'N'  UNION ALL SELECT FULLNAME FROM TABLE_B WHERE ID = '1' AND STATUS = 'Y'  UNION ALL  SELECT FULLNAME FROM TABLE_C WHERE ID = '1' AND STATUS = 'N' ) AS TEMP

And it runs smoothly when I tried it using SquirrelSQL with Phoenix JDBC Thin Client.

However, I try the query in Java with a prepared statement, the query changed like below:

SELECT COUNT(*) AS COUNTER from ( SELECT FULLNAME FROM TABLE_A WHERE ID = ? AND STATUS = 'N'  UNION ALL SELECT FULLNAME FROM TABLE_B WHERE ID = ? AND STATUS = 'Y'  UNION ALL  SELECT FULLNAME FROM TABLE_C WHERE ID = ? AND STATUS = 'N' ) AS TEMP

And as the ID is a string, I set the parameter with code like this

PreparedStatement secondStatement = super.getConnection().prepareStatement(sqlQuery);

secondStatement.setString(1, ID);

secondStatement.setString(2, ID);

secondStatement.setString(3, ID);


ResultSet secondResultset = secondStatement.executeQuery();


I expect it should be working, but I got this error



rg.apache.calcite.avatica.AvaticaSqlException: Error -1 (00000) : while preparing SQL: SELECT COUNT(*) AS COUNTER from ( SELECT FULLNAME FROM TABLE_A WHERE ID = ? AND STATUS = 'N'  UNION ALL SELECT FULLNAME FROM TABLE_B WHERE ID = ? AND STATUS = 'Y'  UNION ALL  SELECT FULLNAME FROM TABLE_C WHERE ID = ? AND STATUS = 'N' ) AS TEMP
at org.apache.calcite.avatica.Helper.createException(Helper.java:53)
at org.apache.calcite.avatica.Helper.createException(Helper.java:41)
at org.apache.calcite.avatica.AvaticaConnection.prepareStatement(AvaticaConnection.java:314) at org.apache.calcite.avatica.AvaticaConnection.prepareStatement(AvaticaConnection.java:153) at com.btpn.jdbc.interfacing.interfaces.impl.VerifyCIF.query(VerifyCIF.java:49)
at com.btpn.jdbc.interfacing.Fetcher.call(Fetcher.java:39)
at MainPhoenix.main(MainPhoenix.java:69)
java.lang.RuntimeException: java.sql.SQLException: ERROR 2004 (INT05): Parameter value unbound. Parameter at index 1 is unbound
at org.apache.calcite.avatica.jdbc.JdbcMeta.propagate(JdbcMeta.java:651)
at org.apache.calcite.avatica.jdbc.JdbcMeta.prepare(JdbcMeta.java:677)
at org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:177) at org.apache.calcite.avatica.remote.Service$PrepareRequest.accept(Service.java:1113) at org.apache.calcite.avatica.remote.Service$PrepareRequest.accept(Service.java:1091) at org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:102) at org.apache.calcite.avatica.remote.ProtobufHandler.apply(ProtobufHandler.java:38) at org.apache.calcite.avatica.server.AvaticaProtobufHandler.handle(AvaticaProtobufHandler.java:68)
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:748)
Caused by: java.sql.SQLException: ERROR 2004 (INT05): Parameter value unbound. Parameter at index 1 is unbound at org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java:422) at org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:145) at org.apache.phoenix.jdbc.PhoenixParameterMetaData.getParam(PhoenixParameterMetaData.java:88) at org.apache.phoenix.jdbc.PhoenixParameterMetaData.isSigned(PhoenixParameterMetaData.java:138)
at org.apache.calcite.avatica.jdbc.JdbcMeta.parameters(JdbcMeta.java:231)
at org.apache.calcite.avatica.jdbc.JdbcMeta.signature(JdbcMeta.java:244)
at org.apache.calcite.avatica.jdbc.JdbcMeta.prepare(JdbcMeta.java:669)
... 15 more



How do I fix this? Is there anything wrong?

I am using Apache Phoenix 4.7.0 and Hbase 1.1


Thank you and regards,


Ganda

--
Ganda Manurung

Reply via email to