Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-189

ResultSetMetaData.getSchemaName and ResultSetMetaData.isWritable donot return correct values

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 10.1.1.0
    • 10.1.1.0
    • JDBC
    • None

    Description

      ResultSetMetaData among other methods has isWritable() and getSchemaName() and Derby engine does not return correct values for them. This needs to be fixed in order to support updatable resultset apis in Network Server mode since the client driver relies on these 2 methods.

      Derby Net Client and JCC driver rely on getSchemanName method to construct the correct "update where current of sql" for an updatRow. For eg, if the user is in say schema s1 and the updatable resultset is issued on a table from schema s2 with the sql "select c11 from s2.t1 for update". Currenly, getSchemaName returns null and hence, the client code constructs a sql like "update t1 ... where current of ...". ie the update is being issued against table t1 in schema s1. getSchemaName should return s2, so the driver can correctly genereat sql as "update s2.t1 ... where current of ...".

      In addition, the client code lets a user issue an updateXXX on a column only if the column is writable and it determines that by looking at the return value of isWritable(). Derby engine currently always returns false for this method and because of that, updateXXX fails in Network Server mode. Derby should return true for the columns which can be updated in the given resultset. For eg for "select c11, c12 from t1 for update of c11", isWritable should return true for c11 and false for c12.

      Attachments

        Activity

          People

            mamtas Mamta A. Satoor
            mamtas Mamta A. Satoor
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: