| From: | Chapman Flack <jcflack(at)acm(dot)org> |
|---|---|
| To: | "David E(dot) Wheeler" <david(at)justatheory(dot)com> |
| Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: jsonpath: Missing regex_like && starts with Errors? |
| Date: | 2024-06-18 02:17:06 |
| Message-ID: | 6670EE22.60808@acm.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On 06/17/24 19:17, David E. Wheeler wrote:
> [1]: https://github.com/postgres/postgres/blob/82ed67a/src/backend/utils/adt/jsonpath_exec.c#L2058-L2059
Huh, I just saw something peculiar, skimming through the code:
https://github.com/postgres/postgres/blob/82ed67a/src/backend/utils/adt/jsonpath_exec.c#L1385
We allow .boolean() applied to a jbvBool, a jbvString (those are the only
two possibilities allowed by the standard), or to a jbvNumeric (!), but
only if it can be serialized and then parsed as an int4, otherwise we say
ERRCODE_NON_NUMERIC_SQL_JSON_ITEM, or if it survived all that we call it
true if it isn't zero.
I wonder what that alternative is doing there.
It also looks like the expected errcode (in the standard, if the item
was not boolean or string) would be 2202V "non-boolean SQL/JSON item" ...
which isn't in our errcodes.txt.
Regards,
-Chap
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Kohei KaiGai | 2024-06-18 02:23:21 | Re: assertion failure at cost_memoize_rescan() |
| Previous Message | Zhijie Hou (Fujitsu) | 2024-06-18 02:14:16 | RE: Conflict Detection and Resolution |