[ 
http://issues.apache.org/jira/browse/DERBY-142?page=comments#action_12331838 ] 

Satheesh Bandaram commented on DERBY-142:
-----------------------------------------

There is a question about whether isReadOnly() should return read-only (or 
definitely not writable) value for the resultSet column returned or for the 
base table column. Since a ResultSetMetaData should describe the ResultSet 
itself, not the base table, I think both Derby Client and embedded drivers 
should return FALSE, for the following:

            connection = DriverManager.getConnection(URL, USER, PASSWORD);
            statement = connection.createStatement();
            resultset = statement.executeQuery(
                    "select id,name from " 
                    + TABLE);
            ResultSetMetaData metaData = resultset.getMetaData();
            System.out.println("ID column is: ' metaData.isReadOnly(1));
            System.out.println("Name column is: '+metaData.isReadOnly(2));

For this case, the resultset is forward-only read-only resultset. So, it seems 
isReadOnly() should return TRUE. Embedded driver doesn't, so I think we should 
change embed driver to match Derby Client here.

However, if resultset is retrived as:

          resultset = statement.executeQuery(
                    "select id,name from " 
                    + TABLE + " FOR UPDATE");

Derby Client returns FALSE for isReadOnly(), which is correct.


> ResultSetMetaData.isReadOnly() also returns wrong results
> ---------------------------------------------------------
>
>          Key: DERBY-142
>          URL: http://issues.apache.org/jira/browse/DERBY-142
>      Project: Derby
>         Type: Sub-task
>   Components: JDBC
>     Versions: 10.0.2.1
>  Environment: Using DB2 universal driver with standalone derby server
>     Reporter: Thomas Fischer
>  Attachments: DerbyTest.java, DerbyTest142.java
>
> ResultSetMetaData.isReadOnly() always returns true, even when writing to the 
> table is possible.  
> The JDBC 2.0 spec says: "ResultSetMetaData.isReadOnly() : Indicates whether 
> the designated column is definitely not writable.", so the method should 
> return false for a table.
> I will attach a testcase for this behaviour.

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