You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Jeremy Boynes (JIRA)" <de...@db.apache.org> on 2005/05/03 07:46:05 UTC

[jira] Commented: (DERBY-250) With client setObject( parameterIndex, x, java.sql.DOUBLE) throws conversion exception if the object passed is a BigDecimal with more than 31 digits

     [ http://issues.apache.org/jira/browse/DERBY-250?page=comments#action_64340 ]
     
Jeremy Boynes commented on DERBY-250:
-------------------------------------

Applied Kathey's patch

Sending        java\client\org\apache\derby\client\am\CrossConverters.java
Sending        java\client\org\apache\derby\client\am\PreparedStatement.java
Sending        java\testing\org\apache\derbyTesting\functionTests\master\DerbyNet\jdk15\prepStmt.out
Sending        java\testing\org\apache\derbyTesting\functionTests\master\DerbyNetClient\jdk15\prepStmt.out
Sending        java\testing\org\apache\derbyTesting\functionTests\master\prepStmt.out
Sending        java\testing\org\apache\derbyTesting\functionTests\tests\derbynet\prepStmt.java
Sending        java\testing\org\apache\derbyTesting\functionTests\tests\jdbcapi\testRelative.java
Transmitting file data .......
Committed revision 167863.

> With client setObject( parameterIndex, x, java.sql.DOUBLE) throws conversion exception if the object passed is a BigDecimal with more than 31 digits
> ----------------------------------------------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-250
>          URL: http://issues.apache.org/jira/browse/DERBY-250
>      Project: Derby
>         Type: Bug
>   Components: Network Client
>     Versions: 10.1.0.0
>     Reporter: Kathey Marsden
>     Assignee: Kathey Marsden
>      Fix For: 10.1.0.0

>
> Trying to insert a  BigDecimal value with unscaled value longer than 31 digits using 
> public void setObject(int parameterIndex,
>                       Object x,
>                       int targetSqlType)
>                throws SQLException
> or 
> public void setObject(int parameterIndex,
>                       Object x,
>                       int targetSqlType,
>                       int scale)
>                throws SQLException
> fails with Network client.
> ps.setObject(1,1000000000000000000000000000000000000000000000000
> 0000000000000000000000000000000000000000000000000000000000000000
> 0000000000000,java.sql.Types.DOUBLE)
> org.apache.derby.client.am.ConversionException: [converters] 
> The numeric literal 
> "100000000000000000000000000000000000000000000000000000000000000
> 0000000000000000000000000000000000000000000000000000000
> 00000000" is not valid because its value is out of range.
>         at 
> org.apache.derby.client.am.Decimal.bigDecimalToPackedDecimalByte
> s(Decimal.java:391)
>         at 
> org.apache.derby.client.net.Request.writeBigDecimal(Request.java
> :1632)
>         at 
> org.apache.derby.client.net.NetStatementRequest.buildFDODTA(NetS
> tatementRequest.java:692)
>         at 
> org.apache.derby.client.net.NetStatementRequest.buildSQLDTAcomma
> ndData(NetStatementRequest.java:514)
>         at 
> org.apache.derby.client.net.NetStatementRequest.writeExecute(Net
> StatementRequest.java:137)
>         at 
> org.apache.derby.client.net.NetPreparedStatement.writeExecute_(N
> etPreparedStatement.java:124)
>         at 
> org.apache.derby.client.am.PreparedStatement.writeExecute(Prepar
> edStatement.java:956)
>         at 
> org.apache.derby.client.am.PreparedStatement.flowExecute(Prepare
> dStatement.java:1173)
>         at 
> org.apache.derby.client.am.PreparedStatement.executeUpdateX(Prep
> aredStatement.java:324)
>         at 
> org.apache.derby.client.am.PreparedStatement.executeUpdate(Prepa
> redStatement.java:315)
> See attached patch with modified prepStmt.java test for reproduction.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira