Обсуждение: how to create an object of java.sql.Array

Поиск
Список
Период
Сортировка

how to create an object of java.sql.Array

От
"jessica xingzc_he"
Дата:
hi guys,

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?

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

thanks
zhenchang



Re: how to create an object of java.sql.Array

От
Oliver Jowett
Дата:
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