Re: jdbc ResultSetMetaData::isWritable() - Mailing list pgsql-jdbc

From Rene Pijlman
Subject Re: jdbc ResultSetMetaData::isWritable()
Date
Msg-id qmmfptgu7cns4i5a69r4l09f23gjoaumqp@4ax.com
Whole thread Raw
In response to Re: jdbc ResultSetMetaData::isWritable()  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: jdbc ResultSetMetaData::isWritable()
List pgsql-jdbc
On Thu, 6 Sep 2001 14:26:49 -0400 (EDT), you wrote:
>Well, if it is that easy, I can do it.  Patch attached and applied.
>
>> On Mon, 3 Sep 2001 22:01:17 -0500, you wrote:
>>     public boolean isWritable(int column) throws SQLException
>>     {
>>         return !isReadOnly(column);
>>     }

Actually, I think this change has a consequence for this method
in the same class:

    public boolean isDefinitelyWritable(int column)
        throws SQLException
    {
        return isWritable(column);
    }

This is from the JDBC spec
(http://java.sun.com/j2se/1.3/docs/api/java/sql/ResultSetMetaData.html):

  isReadOnly() - Indicates whether the designated column is
definitely not writable.

  isWritable() - Indicates whether it is possible for a write on
the designated column to succeed.

  isDefinitelyWritable() - Indicates whether a write on the
designated column will definitely succeed.

At this time we don't really implement the fine semantics of
these methods. I would suggest the following defaults:

  isReadOnly()             false
  isWritable()             true
  isDefinitelyWritable()   false

And that would mean that your patch is correct, but
isDefinitelyWritable() would need to be patched accordingly:

    public boolean isDefinitelyWritable(int column)
        throws SQLException
    {
        return false;
    }

Again, both in jdbc1 and jdbc2.

Regards,
René Pijlman <rene@lab.applinet.nl>

pgsql-jdbc by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: JDBC patch procedures (Re: [PATCHES] Patch for jdbc2 ResultSet.java)
Next
From: Joseph Shraibman
Date:
Subject: Re: Patch for jdbc2 ResultSet.java