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 Shreyas Kaushik <Sh...@Sun.COM> on 2005/05/09 04:45:23 UTC
[Fwd: Re: [jira] Commented: (DERBY-203) setNull(x,JDBCType.DATE) does
not work when batching is turned on]
Dan,
Wondering if you had look into this. As Myrna sadi, since you wrote
these tests I want you to review this before going ahead.
~ Shreyas
Re: [Fwd: Re: [jira] Commented: (DERBY-203) setNull(x,JDBCType.DATE)
does not work when batching is turned on]
Posted by Shreyas Kaushik <Sh...@Sun.COM>.
Dan,
Did u look into the outputs and review my suggested changes to go about
identifying errors and fixing the ?
~ Shreyas
Shreyas Kaushik wrote:
> Dan,
> Wondering if you had look into this. As Myrna sadi, since you wrote
> these tests I want you to review this before going ahead.
>
> ~ Shreyas
>
> ------------------------------------------------------------------------
>
> Subject:
> Re: [jira] Commented: (DERBY-203) setNull(x,JDBCType.DATE) does not
> work when batching is turned on
> From:
> Shreyas Kaushik <Sh...@Sun.COM>
> Date:
> Tue, 03 May 2005 21:19:23 +0530
> To:
> Derby Development <de...@db.apache.org>
>
> To:
> Derby Development <de...@db.apache.org>
>
>
> Did anyone get to review the comments I made and attachments for this
> JIRA issue.
>
> ~ Shreyas
>
> Shreyas Kaushik (JIRA) wrote:
>
>> [
>> http://issues.apache.org/jira/browse/DERBY-203?page=comments#action_64247
>> ]
>> Shreyas Kaushik commented on DERBY-203:
>> ---------------------------------------
>>
>> I have attached the changes I did to parameterMapping.java and the
>> output I got. It is slightly tricky to figure out the failures when
>> they occur for certain datatypes with the setNull method with
>> batching turned on.
>>
>> Firstly, I want to confirm the addition I did to the test is fine.
>> If the additions are fine then I can start to figuring out which
>> tests failed ( with batching turned on ) but are supposed to pass.
>> The only way I found was comparing the output, the addition to the
>> test case produces with the output got when batching is not
>> performed, i.e comparing the output of executeUpdate() with
>> executeBatch().
>>
>> A peek into the output file I have attached will give a clearer
>> picture of what I am trying to say. Correct me if I am wrong or
>> suggest a better way to detect failures than what I am doing.
>>
>>
>>
>>> setNull(x,JDBCType.DATE) does not work when batching is turned on
>>> -----------------------------------------------------------------
>>>
>>> Key: DERBY-203
>>> URL: http://issues.apache.org/jira/browse/DERBY-203
>>> Project: Derby
>>> Type: Bug
>>> Components: JDBC
>>> Versions: 10.0.2.1
>>> Environment: ------------------ Java Information ------------------
>>> Java Version: 1.4.2_07
>>> Java Vendor: Sun Microsystems Inc.
>>> Java home: /usr/local/java/j2sdk1.4.2_07/jre
>>> Java classpath:
>>> /home/oleg/prg/cs/lib/derby.jar:/home/oleg/prg/cs/lib/derbytools.jar:
>>> OS name: Linux
>>> OS architecture: i386
>>> OS version: 2.6.8.1-24mdk
>>> Java user name: oleg
>>> Java user home: /home/oleg
>>> Java user dir: /usr/local/home/oleg/prg/cs/frameworks/embedded/bin
>>> --------- Derby Information --------
>>> [/usr/local/home/oleg/prg/cs/lib/derby.jar] 10.0.2.0 - (30301)
>>> [/usr/local/home/oleg/prg/cs/lib/derbytools.jar] 10.0.2.0 - (30301)
>>> ------------------------------------------------------
>>> ----------------- Locale Information -----------------
>>> ------------------------------------------------------
>>> Reporter: Oleg Anastasyev
>>> Assignee: Shreyas Kaushik
>>> Attachments: parameterMapping.out, testChanges.diff
>>>
>>> Trying to execute batch on which setNull(x,DATE) was called gives
>>> the following exception:
>>> SQL Exception: An attempt was made to get a data value of type
>>> 'DATE' from a data value of type 'null'.
>>> at
>>> org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java)
>>> at
>>> org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java)
>>> at
>>> org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java)
>>> at
>>> org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(EmbedConnection.java)
>>>
>>> at
>>> org.apache.derby.impl.jdbc.ConnectionChild.newSQLException(ConnectionChild.java)
>>>
>>> at
>>> org.apache.derby.impl.jdbc.EmbedPreparedStatement.dataTypeConversion(EmbedPreparedStatement.java)
>>>
>>> at
>>> org.apache.derby.impl.jdbc.EmbedPreparedStatement.setObject(EmbedPreparedStatement.java)
>>>
>>> at org.apache.derby.iapi.types.DataType.setInto(DataType.java)
>>> at
>>> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeBatchElement(EmbedPreparedStatement.java)
>>>
>>> at
>>> org.apache.derby.impl.jdbc.EmbedStatement.executeBatch(EmbedStatement.java)
>>>
>>> at
>>> net.sf.hibernate.impl.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:54)
>>>
>>> DATE column is nullable in db schema, so it should pass there ok. I
>>> believe the problem is in org.apache.derby.iapi.types.SQLDate, which
>>> does not implement setInto method, so DataType.setInto method is
>>> executed, calling setObject(x,null). setObject thinks this is JDBC
>>> spec violation and fails on exception.
>>> Problem exists in both 10.0.2.1 and 10.0.2.0
>>>
>>
>>
>>
>>