Thread: JDBC and array of points

JDBC and array of points

From
Sumit Raja
Date:
Hi,

I've posted this to the postgis user group as well, but I think the issue
may just be with my inability to understand the explicit casting in 9.2.

I have code that generates a PreparedStatement that accepts an array of
points in an ANY clause. I convert the point objects in java to a string
"POINT(lon,lat)" and use this in the createArrayOf JDBC method.

Unfortunately this doesn't work any more (used to work on 9.1 + 1.5). The
statement generated is

{"POINT (51.495727 -0.247342)","POINT (1.495727 52.247342)","POINT
(51.495727 -34.247342)"}

 which results in "ERROR:  malformed array literal".

How can I fix this issue? In psql using the ARRAY[] operator with relevant
casting seems to work (SELECT ARRAY['POINT(-71.064544
42.28787)'::geography]) but as JDBC uses the {} operator I can't see how to
make this work.

Any one have any ideas?

Thanks

Sumit