Re: [JDBC] JDBC: 2 bugs: Getting a smallint array actually gets an integer array and return type of a boolean array is bit. - Mailing list pgsql-bugs

From Oliver Jowett
Subject Re: [JDBC] JDBC: 2 bugs: Getting a smallint array actually gets an integer array and return type of a boolean array is bit.
Date
Msg-id 4C2A9989.2050302@opencloud.com
Whole thread Raw
In response to JDBC: 2 bugs: Getting a smallint array actually gets an integer array and return type of a boolean array is bit.  (Saneesh Apte <san@calccit.org>)
List pgsql-bugs
Saneesh Apte wrote:

>     I think I found two bugs (and I hope I am not wasting everyone's time).
>     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?

Types.BOOLEAN does not exist before JDBC3. Client code can use either,
but we have to pick one or the other when returning a value, so we
return BIT.

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

smallint is a Types.SMALLINT which is mapped to java.lang.Integer by the
JDBC spec. See appendix B of the spec:

> 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.

-O

pgsql-bugs by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: local_preload_libraries filenames converted to lowercase
Next
From: Marcel Asio
Date:
Subject: Re: Function works in 8.4 but not in 9.0 beta2 "ERROR: structure of query does not match function result type"