Feature Request: JSON input for hstore
Hackers,
I've just had a feature request from a client that we come up with a way
to enable JSON input into hstore. This would make hstore much more
useful for software developers.
First question: would this go in the language driver, libpq, or the
backend? Thoughts?
--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com
On Mon, Sep 14, 2009 at 03:14:57PM -0700, Josh Berkus wrote:
Hackers,
I've just had a feature request from a client that we come up with a
way to enable JSON input into hstore. This would make hstore much
more useful for software developers.First question: would this go in the language driver, libpq, or the
backend? Thoughts?
The backend, ideally in some pluggable way. XML, under proper
circumstances, should work, as should YAML, etc.
Cheers,
David.
--
David Fetter <david@fetter.org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david.fetter@gmail.com
Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate
David Fetter wrote:
On Mon, Sep 14, 2009 at 03:14:57PM -0700, Josh Berkus wrote:
Hackers,
I've just had a feature request from a client that we come up with a
way to enable JSON input into hstore. This would make hstore much
more useful for software developers.First question: would this go in the language driver, libpq, or the
backend? Thoughts?The backend, ideally in some pluggable way. XML, under proper
circumstances, should work, as should YAML, etc.
The way the standard specifies SQL/XML requires grammar support. That
means it can't really be pluggable. We've been over this before.
chjeers
andrew
David Fetter <david@fetter.org> writes:
On Mon, Sep 14, 2009 at 03:14:57PM -0700, Josh Berkus wrote:
I've just had a feature request from a client that we come up with a
way to enable JSON input into hstore. This would make hstore much
more useful for software developers.First question: would this go in the language driver, libpq, or the
backend? Thoughts?
The backend, ideally in some pluggable way. XML, under proper
circumstances, should work, as should YAML, etc.
Uh, hstore is a contrib module. Why aren't we talking about just some
more code in the contrib module? Adding anything to support a contrib
module in, say, libpq seems right out.
regards, tom lane
On Mon, 2009-09-14 at 15:14 -0700, Josh Berkus wrote:
Hackers,
I've just had a feature request from a client that we come up with a way
to enable JSON input into hstore. This would make hstore much more
useful for software developers.First question: would this go in the language driver, libpq, or the
backend? Thoughts?
What's wrong with just using a variant of the type input function? With
a parameterized insert, it doesn't seem like it's really placing much of
a burden on the application.
Or am I missing the use case?
Regards,
Jeff Davis
On Mon, Sep 14, 2009 at 06:55:52PM -0400, Andrew Dunstan wrote:
David Fetter wrote:
On Mon, Sep 14, 2009 at 03:14:57PM -0700, Josh Berkus wrote:
Hackers,
I've just had a feature request from a client that we come up with
a way to enable JSON input into hstore. This would make hstore
much more useful for software developers.First question: would this go in the language driver, libpq, or
the backend? Thoughts?The backend, ideally in some pluggable way. XML, under proper
circumstances, should work, as should YAML, etc.The way the standard specifies SQL/XML requires grammar support.
That means it can't really be pluggable. We've been over this
before.
I haven't found anything about hstore in the standard, so I'm not sure
how this applies.
Cheers,
David.
--
David Fetter <david@fetter.org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david.fetter@gmail.com
Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate
On Sep 14, 2009, at 7:05 PM, Jeff Davis <pgsql@j-davis.com> wrote:
On Mon, 2009-09-14 at 15:14 -0700, Josh Berkus wrote:
Hackers,
I've just had a feature request from a client that we come up with
a way
to enable JSON input into hstore. This would make hstore much more
useful for software developers.First question: would this go in the language driver, libpq, or the
backend? Thoughts?What's wrong with just using a variant of the type input function?
With
a parameterized insert, it doesn't seem like it's really placing
much of
a burden on the application.
Agreed, I was thinking the same thing.
...Roberta
On Sep 14, 2009, at 4:32 PM, Robert Haas wrote:
What's wrong with just using a variant of the type input function?
With
a parameterized insert, it doesn't seem like it's really placing
much of
a burden on the application.Agreed, I was thinking the same thing.
And the type output function, too. Not sure how you'd configure that,
though.
David
On Mon, Sep 14, 2009 at 7:42 PM, David E. Wheeler <david@kineticode.com> wrote:
On Sep 14, 2009, at 4:32 PM, Robert Haas wrote:
What's wrong with just using a variant of the type input function? With
a parameterized insert, it doesn't seem like it's really placing much of
a burden on the application.Agreed, I was thinking the same thing.
And the type output function, too. Not sure how you'd configure that,
though.
Well I don't think you really need any them to BE the type
input/output functions. You just need
hstore_to_json(hstore) returns text
json_to_hstore(text) returns json
Insert into your query where appropriate.
...Robert
David Fetter wrote:
On Mon, Sep 14, 2009 at 06:55:52PM -0400, Andrew Dunstan wrote:
David Fetter wrote:
On Mon, Sep 14, 2009 at 03:14:57PM -0700, Josh Berkus wrote:
Hackers,
I've just had a feature request from a client that we come up with
a way to enable JSON input into hstore. This would make hstore
much more useful for software developers.First question: would this go in the language driver, libpq, or
the backend? Thoughts?The backend, ideally in some pluggable way. XML, under proper
circumstances, should work, as should YAML, etc.The way the standard specifies SQL/XML requires grammar support.
That means it can't really be pluggable. We've been over this
before.I haven't found anything about hstore in the standard, so I'm not sure
how this applies.
You're the one that mentioned the backend being pluggable w.r.t. XML
among other things.
In any case, this is academic. It has become clear in off-list
discussion that support for JSON input isn't really what the requestor
needs. What he needs is a way to translate a Perl hashref to an hstore
literal and vice versa, and Andrew Gierth has written some nice routines
in Perl to do just that.
cheers
andrew