Re: SQLJSON - Mailing list pgsql-jdbc

From Dave Cramer
Subject Re: SQLJSON
Date
Msg-id CADK3HH+rz54pVH9WtZGshcb87z2tvteNqjsbBTM=ZjbOok-RdA@mail.gmail.com
Whole thread Raw
In response to Re: SQLJSON  (Vladimir Sitnikov <sitnikov.vladimir@gmail.com>)
Responses Re: SQLJSON  (Vitalii Tymchyshyn <vit@tym.im>)
List pgsql-jdbc

On 29 June 2015 at 19:00, Vladimir Sitnikov <sitnikov.vladimir@gmail.com> wrote:
Álvaro, Dave,

If I understand you right, you "just" want to make "usage of json
feature" easy for end-users.
So do I.
If there is more, please add.

What if we do the following?
1) We keep "base" part of driver "unaware" of json. In other words,
calls like getObject(1, JsonValue.class) would end up in "@throws
SQLException if conversion is not supported" (as per ResultSet's
javadoc)
2) Add "pgjdbc-json" module (i.e. jar) that adds support for
getObject(1, JsonValue.class), setObject(1, JsonValue) kind of calls.
3) Document "best choice of json dependencies" right in the readme. I
think we would be fine even with simple "we tested just jackson and it
works with pgjdbc".

From the end-user perspective it will be:
1) Using driver as usual -- "just add one mvn dependency" --
'org.postgresql:postgresql:9.4-1201-jdbc41'
2) Adding json support -- add additional one --
'org.postgresql:postgresql-json:9.4-1201-jdbc41' and
'best-of-the-best-pgjdbc-approved-json-impl:3.14.15'.

Both items would be available on the top of readme as copy&paste ready snippets.

adding support with maven is the least problematic solution; Not everyone uses maven unfortunately.
It would appear we will need more than one jar  

This covers "json support" and it is user-friendly: no additional
googling is required to use the feature.
Am I missing anything?

Vladimir


--
Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-jdbc

pgsql-jdbc by date:

Previous
From: Vladimir Sitnikov
Date:
Subject: Re: SQLJSON
Next
From: Álvaro Hernández Tortosa
Date:
Subject: Re: SQLJSON