On 02/16/2013 03:05 PM, Andres Freund wrote:
On 2013-02-16 11:55:26 -0800, David E. Wheeler wrote:
On Feb 16, 2013, at 8:57 AM, Andrew Dunstan <and...@dunslane.net> wrote:
I have had a look at doing something like this with the json_get functions. The trouble
is that the best way to do it is to have json_get take "variadic any", but then
string literals come in as unknown rather than as text, which makes things fairly ugly.
If we force people to cast path elements to text then I think the cure is worse than the
disease. I think the best we can do here is possibly to provide json_get and
json_get_text taking either a single int or variadic text[], and json_get_path and
json_get_path_text taking non-variadic text[].
Why not also one taking a single text?
get(text)
get(int)
get(variadic text[])
Those aren't differentiable by their argument types. Why should json be
able to claim that namespace and not other datatypes?
Well, of course the calls would be
get(json, ...)
although I'm still waiting to see if anyone else agrees with Robert
about the naming of the functions.
To answer David's point, there is no point in having both
get(json,text)
get(json, variadic text[])
since the second can encompass the first, and having both would make
calls ambiguous.
cheers
andrew
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers