You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "prakul agarwal (JIRA)" <ji...@apache.org> on 2016/08/29 21:42:20 UTC

[jira] [Comment Edited] (PHOENIX-3210) Exception trying to cast Double to BigDecimal in UpsertCompiler

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

prakul agarwal edited comment on PHOENIX-3210 at 8/29/16 9:42 PM:
------------------------------------------------------------------

I tried creating tables with
{code}
CREATE TABLE T(K INTEGER PRIMARY KEY, V DECIMAL(10,2));
or CREATE TABLE T(K INTEGER PRIMARY KEY, V DOUBLE);
{code}
and upserting a bunch of possibilities like 
{code}
ps = UPSERT INTO T VALUES(1,?);
ps.setDouble(1,222.333);
or ps.setBigDecimal(1,BigDecimal.valueOf(100.333));
{code}


was (Author: prakul):
I tried creating tables with
{code}
CREATE TABLE T(K INTEGER PRIMARY KEY, V DECIMAL(10,2));
or CREATE TABLE T(K INTEGER PRIMARY KEY, V DOUBLE);
{code}
and upserting a bunch of possibilities like 
{code}
ps = UPSERT INTO T VALUES(1,?);
ps.setDouble(222.333);
or ps.setBigDecimal(1,BigDecimal.valueOf(100.333));
{code}

> Exception trying to cast Double to BigDecimal in UpsertCompiler
> ---------------------------------------------------------------
>
>                 Key: PHOENIX-3210
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3210
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.7.0
>            Reporter: Shehzaad Nakhoda
>            Assignee: prakul agarwal
>              Labels: SFDC
>             Fix For: 4.9.0, 4.8.1
>
>
> We have an UPSERT statement that is resulting in this stack trace. Unfortunately I can't get a hold of the actual Upsert statement since we don't log it. 
> Cause0: java.lang.ClassCastException: java.lang.Double cannot be cast to java.math.BigDecimal
>  Cause0-StackTrace: 
>   at org.apache.phoenix.schema.types.PDecimal.isSizeCompatible(PDecimal.java:312)
>   at org.apache.phoenix.compile.UpsertCompiler$3.execute(UpsertCompiler.java:887)
>   at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:335)
>   at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:323)
>   at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
>   at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:321)
>   at org.apache.phoenix.jdbc.PhoenixStatement.executeUpdate(PhoenixStatement.java:1274)
>   at phoenix.connection.ProtectedPhoenixStatement.executeUpdate(ProtectedPhoenixStatement.java:127)



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