[
https://issues.apache.org/jira/browse/DERBY-2105?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12538058
]
Mamta A. Satoor commented on DERBY-2105:
----------------------------------------
I tried the sample test case provided in this jira entry and I get following
exception
$ java org.apache.derbyTesting.functionTests.tests.lang.DBMetaData2
Exception in thread "main" java.sql.SQLException: An attempt was made to put a
data value of type 'java.sql.Clob' into a data value of type 'CHAR'.
at
org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:46)
at
org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:362)
at
org.apache.derby.client.am.ResultSet.updateObject(ResultSet.java:3105)
at
org.apache.derbyTesting.functionTests.tests.lang.DBMetaData2.main(DBMetaData2.java:200)
Caused by: org.apache.derby.client.am.SqlException: An attempt was made to put
a data value of type 'java.sql.Clob' into a data value of type 'CHAR'.
at
org.apache.derby.client.am.CrossConverters.setObject(CrossConverters.java:810)
at
org.apache.derby.client.am.CrossConverters.setObject(CrossConverters.java:846)
at
org.apache.derby.client.am.ResultSet.updateObject(ResultSet.java:3100)
Fernanda, am I doing something different than you? I will look further into it
myself. I am testing against the trunk which is Derby 1.4 using Sun's jdk142
> Network Client - Column of type CHAR, VARCHAR or LONG VARCHAR contains wrong
> value after being updated using the updateObject() method with a clob as
> parameter.
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-2105
> URL: https://issues.apache.org/jira/browse/DERBY-2105
> Project: Derby
> Issue Type: Bug
> Components: Network Client
> Reporter: Fernanda Pizzorno
>
> REPRO:
> Statement stmt1 =
> conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,
> ResultSet.CONCUR_UPDATABLE);
> Statement stmt2 = conn.createStatement();
> stmt1.executeUpdate("CREATE TABLE t1 (i int, c char(60))");
> stmt1.executeUpdate("CREATE TABLE t2 (i int, c clob(1K))");
> stmt1.executeUpdate("INSERT INTO t1 values (1, 'xx')");
> stmt1.executeUpdate("INSERT INTO t2 values (1, 'yy')");
> ResultSet rs1 = stmt1.executeQuery("SELECT * FROM t1");
> ResultSet rs2 = stmt2.executeQuery("SELECT * FROM t2");
> if (!rs1.next()) {
> System.out.println("Row not found");
> return;
> }
> if (!rs2.next()) {
> System.out.println("Row not found");
> return;
> }
> rs1.updateObject(2, rs2.getClob(2));
> rs1.updateRow();
> rs1.close();
> rs1 = stmt1.executeQuery("SELECT * FROM t1");
> if (!rs1.next()) {
> System.out.println("Row not found");
> return;
> }
> if (!rs2.getString(2).equals(rs1.getString(2))) {
> System.out.println("FAIL - wrong value for column 2 expected:
> " +
> rs2.getString(2) + " but was: " + rs1.getString(2));
> }
> rs1.close();
> rs2.close();
> stmt1.close();
> stmt2.close();
> OUTPUT:
> FAIL - wrong value for column 2 expected: yy but was: [EMAIL PROTECTED]
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.