From: | Steven Schlansker <stevenschlansker(at)gmail(dot)com> |
---|---|
To: | Oliver Jowett <oliver(at)opencloud(dot)com> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: Accepting Object[] as an acceptable input to setObject with Types.ARRAY? |
Date: | 2011-06-03 23:05:45 |
Message-ID: | BBC948C2-9D1F-4651-8D7E-31297217312C@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
On Jun 3, 2011, at 3:47 PM, Oliver Jowett wrote:
> On 4 June 2011 08:04, Steven Schlansker <stevenschlansker(at)gmail(dot)com> wrote:
>
>> It looks like adding support for such a fix to the Postgres driver would be extremely easy. In particular looking around AbstractJdbc2Statement.java:1732
>>
>> case Types.ARRAY:
>> if (in instanceof Array)
>> setArray(parameterIndex, (Array)in);
>> else
>> throw new PSQLException(GT.tr("Cannot cast an instance of {0} to type {1}", new Object[]{in.getClass().getName(),"Types.ARRAY"}), PSQLState.INVALID_PARAMETER_TYPE);
>> break;
>>
>> it could check if in is an array type and if so synthesize the Array object necessary.
>>
>> Does this sound like a reasonable feature request? Did I miss an easier way to do this? It is probably outside of the JDBC spec but it at least has some traction with H2...
>
> How do you determine the type of the (server-side) array elements?
> i.e. what is the typename that setObject would pass to createArrayOf()
> when it encountered an Object[]?
The patch I put in another branch of this thread does basic type introspection. It handles all the primitive types, wrapped types, and a few SQL types (i.e. Date, Time, Timestamp, byte[])
From | Date | Subject | |
---|---|---|---|
Next Message | Oliver Jowett | 2011-06-04 02:58:38 | Re: Accepting Object[] as an acceptable input to setObject with Types.ARRAY? |
Previous Message | Oliver Jowett | 2011-06-03 22:47:03 | Re: Accepting Object[] as an acceptable input to setObject with Types.ARRAY? |