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

Reply via email to