Re: [PATCHES] isNullable()
От | Barry Lind |
---|---|
Тема | Re: [PATCHES] isNullable() |
Дата | |
Msg-id | 3BA57E2B.3040706@xythos.com обсуждение исходный текст |
Ответ на | isNullable() (Tomisław Kityński <cromax@id.pl>) |
Список | pgsql-jdbc |
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 <rene@lab.applinet.nl > >> >>------------------------------------------------------------------------ >> >>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 majordomo@postgresql.org) >> >> isNullable.diff >> >> Content-Type: >> >> text/plain >> Content-Encoding: >> >> quoted-printable >> >> >> ------------------------------------------------------------------------ >> Part 1.3 >> >> Content-Type: >> >> text/plain >> Content-Encoding: >> >> binary >> >>
В списке pgsql-jdbc по дате отправления: