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