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

Thomas Fischer commented on DERBY-142:
--------------------------------------

The description Jean gave above of how village works is correct. 

Regarding the question how to interpret the term "designated column", all the 
databases Torque is working with (I can confirm this personally for mysql, 
postgresql, oracle, firebird, hsqldb, others report that db2, sybase... are 
also working) either interpret this as "the table of the underlying column", or 
produce updateable result sets without adding the "for update" clause. Village 
using the following code:

String sql = "SELECT " + columnsAttribute + " FROM " + tableName + " WHERE 1 = 
-1";
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);

>From the java API spec:

public Statement createStatement() throws SQLException
Creates a Statement object for sending SQL statements to the database. ....  
Result sets created using the returned Statement object will by default be type 
TYPE_FORWARD_ONLY and have a concurrency level of CONCUR_READ_ONLY.

So I would suspect that most of the databases will not return an updateable 
result set upon execution of the code above (because the concurrency level is 
explitly set to CONCUR_READ_ONLY), though I know it only for oracle for sure 
(oracle also uses the "for update" clause). Thus, most of the other database 
vendors interpret the term "designated column" as "the table of the underlying 
column".

> 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