[Geoserver-devel] Outdated H2 and Postgres drivers

I’m working on a JDBC based back end for the GSIP resource storage API and am running into some issues with the H2 and Postgres drivers not fully and consistently supporting certain features (Between them, Arrays as parameters, Streaming Blobs, Stored procedures, CTEs)

I’m probably going to need some degree of dialect specific logic regardless, particularly with H2, but I would like to minimize it, which would benefit from up to date drivers. H2 is using a 1.1 series driver, where 1.3 series is current, and Postgres is using an 8.4 series driver where 9.3 is current.

I know H2 has changed its file format since 1.1, although they claim it can be updated transparently by including a helper jar. I’ve also run into the outdated Postgres driver issue relating to the wire protocol for bytea.

Has anyone looked at how much work is involved in updating either of these? If it’s already been established as “a lot” I can probably just work with what’s there but otherwise I’ll take a look.

Kevin Smith

Junior Software Engineer | Boundless

ksmith@anonymised.com

+1-778-785-7459

@boundlessgeo

On Tue, Mar 4, 2014 at 3:05 AM, Kevin Smith <ksmith@anonymised.com> wrote:

I'm working on a JDBC based back end for the GSIP resource storage API and
am running into some issues with the H2 and Postgres drivers not fully and
consistently supporting certain features (Between them, Arrays as
parameters, Streaming Blobs, Stored procedures, CTEs)

I'm probably going to need some degree of dialect specific logic
regardless, particularly with H2, but I would like to minimize it, which
would benefit from up to date drivers. H2 is using a 1.1 series driver,
where 1.3 series is current, and Postgres is using an 8.4 series driver
where 9.3 is current.

I know H2 has changed its file format since 1.1, although they claim it
can be updated transparently by including a helper jar. I've also run into
the outdated Postgres driver issue relating to the wire protocol for bytea.

Has anyone looked at how much work is involved in updating either of
these? If it's already been established as "a lot" I can probably just work
with what's there but otherwise I'll take a look.

Failed attempt to update the postgresql driver here, stuck due to a
regression in recent drivers (which we
could also conceivably work around in our code btw):
http://jira.codehaus.org/browse/GEOT-4636

About upgrading H2, yep, it feels like it would be a lot of work, basically
you'd need to upgrade
in a single shot geotools, geoserver and gwc, and verify the upgrade does
not cause
update issues for existing users.
But it would also be a good thing to do (the upgrade), the H2 version we're
using does not
really shine for stability (e.g., I've had people move away from H2 as the
quota store
and use Oracle instead because it the H2 db got corrupted a couple of
times, in production
env).

Cheers
Andrea

--
== Our support, Your Success! Visit http://opensdi.geo-solutions.it for
more information ==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------