On Mon, 28 Jun 2010, Saneesh Apte wrote:

One is minor: the base type of a boolean[] is java.sql.Types.BIT instead or java.sql.Types.BOOLEAN. At the very least shouldn't these be aliases for the same type?

These are aliases for the same type. I believe we accept either BOOLEAN or BIT as equivalent in all cases. We default to BIT for historical reasons because it was defined first in the JDBC2 spec while BOOLEAN came around in the JDBC3 version.

And secondly the returned type from a smallint[] is an Integer[]
instead of a Short[].


The JDBC spec says that the result of getObject on a Types.SMALLINT value should return Integer, so we have followed that for array types as well. The spec contains this historical note:

        The JDBC 1.0 specification defined the Java object mapping for the
        SMALLINT and TINYINT JDBC types to be Integer. The Java language
        did not include the Byte and Short data types when the JDBC 1.0
        specification was finalized. The mapping of SMALLINT and TINYINT
        to Integer is maintained to preserve backwards compatibility

For more information see table B-3 in the JDBC4.0 spec.

Kris Jurka

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to