phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Taylor (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-1546) Calling getParameterMetaData on prepared statement where TO_NUMBER is used throws NPE
Date Wed, 31 Dec 2014 00:22:13 GMT

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

James Taylor commented on PHOENIX-1546:
---------------------------------------

[~gabriel.reid] - just to confirm, did your UPSERT statement produce a type-mismatch SQLException
when you tried to UPSERT a numeric field directly into a TIMESTAMP field?

> Calling getParameterMetaData on prepared statement where TO_NUMBER is used throws NPE
> -------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-1546
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1546
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Gabriel Reid
>            Assignee: Dave Hacker
>
> There are some issues calling {{PhoenixPreparedStatement.getParameterMetaData}} on a
prepared statement that uses function calls on its input parameters. 
> For example, the following test code:
> {code}
> PreparedStatement stmt = conn.prepareStatement(
>                 "UPSERT INTO " + ATABLE + " (organization_id, entity_id, a_integer) "
+
>                         "VALUES (?,?,TO_NUMBER(?))");
>         ParameterMetaData parameterMetaData = stmt.getParameterMetaData();
> {code}
> results in the following stack trace:
> {code}
> java.lang.NullPointerException
> 	at org.apache.phoenix.parse.ToNumberParseNode.create(ToNumberParseNode.java:49)
> 	at org.apache.phoenix.parse.ToNumberParseNode.create(ToNumberParseNode.java:35)
> 	at org.apache.phoenix.compile.ExpressionCompiler.visitLeave(ExpressionCompiler.java:309)
> 	at org.apache.phoenix.compile.ExpressionCompiler.visitLeave(ExpressionCompiler.java:132)
> 	at org.apache.phoenix.parse.FunctionParseNode.accept(FunctionParseNode.java:83)
> 	at org.apache.phoenix.compile.UpsertCompiler.compile(UpsertCompiler.java:726)
> 	at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableUpsertStatement.compilePlan(PhoenixStatement.java:479)
> 	at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableUpsertStatement.compilePlan(PhoenixStatement.java:470)
> 	at org.apache.phoenix.jdbc.PhoenixPreparedStatement.getParameterMetaData(PhoenixPreparedStatement.java:248)
> {code}



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

Mime
View raw message