You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sqoop.apache.org by "Michael Popov (JIRA)" <ji...@apache.org> on 2016/08/05 07:38:20 UTC

[jira] [Created] (SQOOP-2993) ClassCastException in case single value of LONGVARCHAR partition column

Michael Popov created SQOOP-2993:
------------------------------------

             Summary: ClassCastException in case single value of LONGVARCHAR partition column
                 Key: SQOOP-2993
                 URL: https://issues.apache.org/jira/browse/SQOOP-2993
             Project: Sqoop
          Issue Type: Bug
          Components: connectors/generic
    Affects Versions: 1.99.5
            Reporter: Michael Popov


In case partition column is specified, its type is LONGVARCHAR (VARCHAR, CHAR) and there is single column value for the entire entries set partitions could not be created due to ClassCastException

{code:title=Stack trace|borderStyle=solid}
[errorSummary=java.lang.ClassCastException: java.lang.Integer cannot be cast to java.math.BigDecimal, errorDetails=java.lang.ClassCastException: java.lang.Integer cannot be cast to java.math.BigDecimal
	at org.apache.sqoop.connector.jdbc.GenericJdbcPartitioner.constructTextConditions(GenericJdbcPartitioner.java:529)
	at org.apache.sqoop.connector.jdbc.GenericJdbcPartitioner.partitionTextColumn(GenericJdbcPartitioner.java:254)
	at org.apache.sqoop.connector.jdbc.GenericJdbcPartitioner.getPartitions(GenericJdbcPartitioner.java:118)
	at org.apache.sqoop.connector.jdbc.GenericJdbcPartitioner.getPartitions(GenericJdbcPartitioner.java:38)
{code}
The error is caused by incorrect cast 

{code:title=GenericJdbcPartitioner.java|borderStyle=solid}
String lbString = prefix + bigDecimalToText((BigDecimal)lowerBound);
String ubString = prefix + bigDecimalToText((BigDecimal)upperBound);
{code}



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