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