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

Gabriel Reid commented on PHOENIX-1546:
---------------------------------------

Good point [~dhacker1341] -- I was playing around with different combinations 
to see what the behavior was, and apparently I posted the wrong iteration of my 
testing. The issue is still the same if the target field is an integer field 
though, so I'll update the description text to reflect the correct test case.

> 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_date) " +
>                         "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)

Reply via email to