Re: how to create an object of java.sql.Array - Mailing list pgsql-jdbc

From Oliver Jowett
Subject Re: how to create an object of java.sql.Array
Date
Msg-id 419D20AD.8090507@opencloud.com
Whole thread Raw
In response to how to create an object of java.sql.Array  ("jessica xingzc_he" <xingzc_he@hotmail.com>)
List pgsql-jdbc
jessica xingzc_he wrote:

> support the data type of a column is int[], i can use
> ResultSet.updateArray(int, Array) to update it, right? My question is
> how to create an instance of java.sql.Array to pass in updateArray?

The driver does not really support setArray() / updateArray() for
arbitary Array implementations. I had a patch to fix this ages ago but
it has rotted since then, and was never really the right way to do it
anyway.

You can provide your own implementation of Array and it should work so
long as:

- it implements Array.getBaseTypeName(), returning the underlying
element type name ("int" in your case).
- it implements Array.toString(), returning an array constant formatted
as the postgresql backend expects (e.g. "{1,2,3}").

> BTW, does 7.4.x postgresql jdbc driver support RowSet?

As I understand it, RowSet isn't meant to be implemented by drivers, it
is a layer that sits on top of the driver. I don't know how well
implementations of RowSet work with the current driver.

-O

pgsql-jdbc by date:

Previous
From: "jessica xingzc_he"
Date:
Subject: how to create an object of java.sql.Array
Next
From: "jessica xingzc_he"
Date:
Subject: deleteRow or updateRow after insertRow