Re: [HACKERS] jsonb problematic operators - Mailing list pgsql-hackers

From Merlin Moncure
Subject Re: [HACKERS] jsonb problematic operators
Date
Msg-id CAHyXU0zsKfUA=0d6TYxeJcB4Z6c2p61xjobPbFgp_KhsRHQsNw@mail.gmail.com
Whole thread Raw
In response to [HACKERS] jsonb problematic operators  (Jordan Gigov <coladict@gmail.com>)
List pgsql-hackers
On Fri, Dec 9, 2016 at 5:50 AM, Jordan Gigov <coladict@gmail.com> wrote:
> There is this problem with the jsonb operators "? text" "?| text[]"
> and "?& text[]" that the question mark is typically used for prepared
> statement parameters in the most used abstraction APIs in Java and
> PHP.
>
> This really needs an alternative. Something like "HAS text", "HAS
> ANY(text[])" and "HAS ALL(text[])" same as regular array usage. It
> probably should be another word that has less chance of becoming a
> conflict with another operator in future SQL specifications, but
> that's for you to decide.
>
> It's not a good idea to expect everyone else to make for workarounds
> for problems you choose to create.

You are griping in the wrong place.  "everyone else" has reserved
characters for its own use that were not allowed to be reserved
without a clean escaping mechanism -- hibernate does this, for example
reserving ':'  which is used in many places within SQL.

Typically when you embed special characters in strings designed to be
processed by something else you allow for that character to be
directly.  In the computer science world we generally call this
escaping strings and it a very common and well understood practice.
For some odd reason however the authors of java various frameworks
seem to be impervious to the utility of the concept.

merlin



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: [HACKERS] jsonb problematic operators
Next
From: Pavel Stehule
Date:
Subject: [HACKERS] proposal: psql statements \gstore \gstore_binary (instead COPY RAW)