Patch looks good.

thanks,
--Barry

Rene Pijlman wrote:
> Attached is a patch that fixes ResultSetMetaData.isNullable() in
> the JDBC driver.
> 
> This method is currently unimplemented and always returns
> ResultSetMetaData.columnNullable. This is obviously incorrect
> when a column is defined with NOT NULL or PRIMARY KEY. And we
> have to think of check constraints, views, functions etc.
> 
> The patch simply changes the return value to
> ResultSetMetaData.columnNullableUnknown. This is until someone
> comes up with a real implementation of course.
> 
> On Fri, 14 Sep 2001 17:53:50 +0200, Tomisaw Kity˝ski wrote:
> 
>>Hello there,
>>
>>could someone tell me, please, do I have any chance to get
>>proper implementation of above method in JDBC (1.1+) soon?
>>
>>Current "return 1" works fine on most tables, however it seems
>>to be a little bit incorrect with some of them ;)
>>
> 
> 
> Regards,
> RenÚ Pijlman <[EMAIL PROTECTED]
> 
>>
>>------------------------------------------------------------------------
>>
>>Index: org/postgresql/jdbc1/ResultSetMetaData.java
>>===================================================================
>>RCS file: 
>/home/projects/pgsql/cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSetMetaData.java,v
>>retrieving revision 1.5
>>diff -c -r1.5 ResultSetMetaData.java
>>*** org/postgresql/jdbc1/ResultSetMetaData.java       2001/09/06 20:43:39     1.5
>>--- org/postgresql/jdbc1/ResultSetMetaData.java       2001/09/15 19:35:09
>>***************
>>*** 136,144 ****
>>    }
>>    
>>    /**
>>!    * Can you put a NULL in this column?  I think this is always
>>!    * true in 6.1's case.  It would only be false if the field had
>>!    * been defined NOT NULL (system catalogs could be queried?)
>>     *
>>     * @param column the first column is 1, the second is 2...
>>     * @return one of the columnNullable values
>>--- 136,142 ----
>>    }
>>    
>>    /**
>>!    * Indicates the nullability of values in the designated column.
>>     *
>>     * @param column the first column is 1, the second is 2...
>>     * @return one of the columnNullable values
>>***************
>>*** 146,154 ****
>>     */
>>    public int isNullable(int column) throws SQLException
>>    {
>>!     return columnNullable;  // We can always put NULL in
>>    }
>>!   
>>    /**
>>     * Is the column a signed number? In PostgreSQL, all numbers
>>     * are signed, so this is trivial.  However, strings are not
>>--- 144,157 ----
>>     */
>>    public int isNullable(int column) throws SQLException
>>    {
>>!     /*
>>!      * TODO This needs a real implementation, taking into account columns
>>!      * defined with NOT NULL or PRIMARY KEY, CHECK constraints, views, 
>>!      * functions etc.
>>!      */
>>!     return columnNullableUnknown;
>>    }
>>! 
>>    /**
>>     * Is the column a signed number? In PostgreSQL, all numbers
>>     * are signed, so this is trivial.  However, strings are not
>>Index: org/postgresql/jdbc2/ResultSetMetaData.java
>>===================================================================
>>RCS file: 
>/home/projects/pgsql/cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSetMetaData.java,v
>>retrieving revision 1.5
>>diff -c -r1.5 ResultSetMetaData.java
>>*** org/postgresql/jdbc2/ResultSetMetaData.java       2001/09/06 20:43:39     1.5
>>--- org/postgresql/jdbc2/ResultSetMetaData.java       2001/09/15 19:35:09
>>***************
>>*** 131,139 ****
>>    }
>>    
>>    /**
>>!    * Can you put a NULL in this column?  I think this is always
>>!    * true in 6.1's case.  It would only be false if the field had
>>!    * been defined NOT NULL (system catalogs could be queried?)
>>     *
>>     * @param column the first column is 1, the second is 2...
>>     * @return one of the columnNullable values
>>--- 131,137 ----
>>    }
>>    
>>    /**
>>!    * Indicates the nullability of values in the designated column.
>>     *
>>     * @param column the first column is 1, the second is 2...
>>     * @return one of the columnNullable values
>>***************
>>*** 141,147 ****
>>     */
>>    public int isNullable(int column) throws SQLException
>>    {
>>!     return columnNullable;  // We can always put NULL in
>>    }
>>    
>>    /**
>>--- 139,150 ----
>>     */
>>    public int isNullable(int column) throws SQLException
>>    {
>>!     /*
>>!      * TODO This needs a real implementation, taking into account columns
>>!      * defined with NOT NULL or PRIMARY KEY, CHECK constraints, views, 
>>!      * functions etc.
>>!      */
>>!     return columnNullableUnknown;
>>    }
>>    
>>    /**
>>
>>
>>------------------------------------------------------------------------
>>
>>
>>---------------------------(end of broadcast)---------------------------
>>TIP 2: you can get off all lists at once with the unregister command
>>    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])
>>
>> isNullable.diff
>>
>> Content-Type:
>>
>> text/plain
>> Content-Encoding:
>>
>> quoted-printable
>>
>>
>> ------------------------------------------------------------------------
>> Part 1.3
>>
>> Content-Type:
>>
>> text/plain
>> Content-Encoding:
>>
>> binary
>>
>>



---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html

Reply via email to