[ http://issues.apache.org/jira/browse/DERBY-1610?page=all ]

Tomohito Nakayama updated DERBY-1610:
-------------------------------------

    Attachment: TestTypeCompatibility.java

Through examing the patch.
I found a problem that Engine throw exception of XCL12 when String typed value 
is passed to BLOB typed variable though the patch throw exception of 22005 .

Exceptions found in my environment using TestTypeCompatiblity.java are as next.

[EMAIL PROTECTED]:~/derby/wok/20060918$ javac TestTypeCompatibility.java
[EMAIL PROTECTED]:~/derby/wok/20060918$ java TestTypeCompatibility embedded
streamAsNull:
ERROR XCL12: An attempt was made to put a data value of type 'java.lang.String' 
into a data value of type 'BLOB'.
        at 
org.apache.derby.iapi.error.StandardException.newException(StandardException.java:316)
        at 
org.apache.derby.iapi.types.DataType.throwLangSetMismatch(DataType.java:601)
        at org.apache.derby.iapi.types.DataType.setValue(DataType.java:343)
        at 
org.apache.derby.impl.jdbc.EmbedPreparedStatement.setString(EmbedPreparedStatement.java:492)
        at TestTypeCompatibility.update(TestTypeCompatibility.java:71)
        at TestTypeCompatibility.main(TestTypeCompatibility.java:45)
java.sql.SQLException: Invalid cursor state - no current row.
        at 
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
        at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:89)
        at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:105)
        at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:169)
        at 
org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(EmbedConnection.java:1982)
        at 
org.apache.derby.impl.jdbc.ConnectionChild.newSQLException(ConnectionChild.java:148)
        at 
org.apache.derby.impl.jdbc.EmbedResultSet.checkOnRow(EmbedResultSet.java:326)
        at 
org.apache.derby.impl.jdbc.EmbedResultSet.getColumn(EmbedResultSet.java:4408)
        at 
org.apache.derby.impl.jdbc.EmbedResultSet.getString(EmbedResultSet.java:681)
        at TestTypeCompatibility.update(TestTypeCompatibility.java:92)
        at TestTypeCompatibility.main(TestTypeCompatibility.java:45)
[EMAIL PROTECTED]:~/derby/wok/20060918$ 

I'm thinking revive PreparedStatement.throwLangDataTypeSetException method 
which is commented out in the patch, and use it to throw exception of XCL12 in 
this case.

> Resolve difference of type compatibility between Embedded and 
> NetworkServer/NetworkDriver
> -----------------------------------------------------------------------------------------
>
>                 Key: DERBY-1610
>                 URL: http://issues.apache.org/jira/browse/DERBY-1610
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Server, Network Client
>            Reporter: Tomohito Nakayama
>         Assigned To: Tomohito Nakayama
>         Attachments: DERBY-1610.diff, DERBY-1610_2.diff, DERBY-1610_3.diff, 
> DERBY-1610_4.diff, DERBY-1610_5.diff, parameterMapping.diff, 
> parameterMapping.diff, 
> parameterMapping.diff.betweenEmbedded_and_NetworkServerNetworkClient, 
> parameterMapping_3.diff, TestNullChar.java, TestTypeCompatibility.java, 
> XCL12.diff
>
>
> There exists difference of type compatibility between  Embedded and 
> NetworkServer/NetworkClient.
> This issue tries to resolve it.

-- 
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

        

Reply via email to