Re: Multi-Demensional Array Support.

From: Oliver Jowett <oliver(at)opencloud(dot)com>
To: Greg Johnson <gregj(at)interprose(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Multi-Demensional Array Support.
Date: 2005-02-22 21:44:15
Message-ID: 421BA7AF.8030709@opencloud.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Greg Johnson wrote:
> I started hacking in multi-dimensional array support into the driver.
>
> However, with the getArray() function I have to return an ArrayList of
> ArrayLists (or Object[] of Object[]) instead of the native type Object
> [][] for example. I was wondering what you guys/gals thoughts are on the
> this?
>
> As an application developer I personally would like to get ArrayLists of
> ArrayLists back.

I assume you mean java.sql.Array.getArray(). The javadoc says you have
to return a real array, not an ArrayList. I think it makes sense to
return a multidimensional array when you have a multidimensional array
on the server side; why would you want to require the extra casting on
element access that you'd need if you returned an Object[] containing
Object[] elements?

(are there any other JDBC drivers that support multidimensional arrays?
what do they do here?)

> It seems that unless you what to have a whole bunch of nasty "if" logic
> that is the only way to implement multi-dimensional arrays cleanly.
> Example:
> if array_dims==1
> returnVal = String[];
> if array_dims==2
> returnVal = String[][];
> else if array_dims==3
> returnVal = String[][][];
>
> .. but I am not java guru so if there is a better way let me know.

You can build and access arrays where you don't know the component type
at compile type by using the methods of java.lang.reflect.Array.

> Also, is there a reason why a regular expression is not used to parse
> out the array string returned from postgresql?

java.util.regex is not present in JDK 1.2/1.3, which the driver needs to
compile under.

-O

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Alan Stange 2005-02-22 21:48:57 Re: Performance tweaks
Previous Message Oliver Jowett 2005-02-22 21:30:50 Re: Performance tweaks