Re: The jsonpath predicate `like_regex` does not accept variables for pattern (or flags)

sulfinu@gmail.com

From: sulfinu@gmail.com
To: "David G. Johnston" <david.g.johnston@gmail.com>
Cc: pgsql-bugs@lists.postgresql.org
Date: 2024-08-06T20:19:15Z
Lists: pgsql-bugs
Looks like I didn't make myself undestood: I do *not* produce the regular
expression dynamically (on a side note, I would have to be careful to
escape the right stuff, regardless of SQL or jsonpath). It is the WHERE
clause of the query that I build dynamically. That's why I would like the
pattern to be submitted as a variable, (which I anyway employ with a "q"
flag).

*Question:* is there another way to express the *contains* predicate in
jsonpath?

În mar., 6 aug. 2024 la 20:49, David G. Johnston <david.g.johnston@gmail.com>
a scris:

> You can use a format function to build it dynamically.  Unfortunately it
> is a bit of a pain since you need to do escaping; which is a pain for
> regex.  SQL scope doesn't have this problem so moving your logic outside of
> a json is should seriously be considered before trying to construct dynamic
> jsonpath expressions.
>
> I get the impression we are conforming to a standard here so even
> proposing a patch to change this behavior would require some convincing to
> deviate from the standard on this point.  Though I could see adding a new
> format escape and related quote_jsonpathliteral function to be something
> we'd be more open to in order to make dynamic json path expressions more
> easily doable.
>
> David J.
>
>