aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2001-09-17 15:56:11 +0000
committerBruce Momjian <bruce@momjian.us>2001-09-17 15:56:11 +0000
commit4f63a0e1011abff34f099942f721f78416d286dd (patch)
tree6bf7d5d2d76b7e157a47031937deb73b3dc563f2 /src
parent6e63468f3a6a4bd00e83cf76e6197ed7d066d0c5 (diff)
downloadpostgresql-4f63a0e1011abff34f099942f721f78416d286dd.tar.gz
postgresql-4f63a0e1011abff34f099942f721f78416d286dd.zip
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 ;) Ren? Pijlman
Diffstat (limited to 'src')
-rw-r--r--src/interfaces/jdbc/org/postgresql/jdbc1/ResultSetMetaData.java13
-rw-r--r--src/interfaces/jdbc/org/postgresql/jdbc2/ResultSetMetaData.java11
2 files changed, 15 insertions, 9 deletions
diff --git a/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSetMetaData.java b/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSetMetaData.java
index 73b5b11367b..91317bae4ea 100644
--- a/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSetMetaData.java
+++ b/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSetMetaData.java
@@ -136,9 +136,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData
}
/**
- * 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?)
+ * 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,9 +144,14 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData
*/
public int isNullable(int column) throws SQLException
{
- return columnNullable; // We can always put NULL in
+ /*
+ * 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
diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSetMetaData.java b/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSetMetaData.java
index e09b872f496..49ba9c72ed9 100644
--- a/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSetMetaData.java
+++ b/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSetMetaData.java
@@ -131,9 +131,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData
}
/**
- * 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?)
+ * 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,7 +139,12 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData
*/
public int isNullable(int column) throws SQLException
{
- return columnNullable; // We can always put NULL in
+ /*
+ * TODO This needs a real implementation, taking into account columns
+ * defined with NOT NULL or PRIMARY KEY, CHECK constraints, views,
+ * functions etc.
+ */
+ return columnNullableUnknown;
}
/**