aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rowley <drowley@postgresql.org>2023-08-02 01:41:55 +1200
committerDavid Rowley <drowley@postgresql.org>2023-08-02 01:41:55 +1200
commit74a5bf1b676f75f67f63e57db7e97edd8a1e923f (patch)
tree3c669a36037cce27263c99fa409559c8c1425726
parent730f983effa51f578e85db27a5b4b906725ecd7a (diff)
downloadpostgresql-74a5bf1b676f75f67f63e57db7e97edd8a1e923f.tar.gz
postgresql-74a5bf1b676f75f67f63e57db7e97edd8a1e923f.zip
Fix overly strict Assert in jsonpath code
This was failing for queries which try to get the .type() of a jpiLikeRegex. For example: select jsonb_path_query('["string", "string"]', '($[0] like_regex ".{7}").type()'); Reported-by: Alexander Kozhemyakin Bug: #18035 Discussion: https://postgr.es/m/18035-64af5cdcb5adf2a9@postgresql.org Backpatch-through: 12, where SQL/JSON path was added.
-rw-r--r--src/backend/utils/adt/jsonpath.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/backend/utils/adt/jsonpath.c b/src/backend/utils/adt/jsonpath.c
index 3c0dc38a7f8..db06e6f29de 100644
--- a/src/backend/utils/adt/jsonpath.c
+++ b/src/backend/utils/adt/jsonpath.c
@@ -978,7 +978,8 @@ jspGetNext(JsonPathItem *v, JsonPathItem *a)
v->type == jpiDouble ||
v->type == jpiDatetime ||
v->type == jpiKeyValue ||
- v->type == jpiStartsWith);
+ v->type == jpiStartsWith ||
+ v->type == jpiLikeRegex);
if (a)
jspInitByBuffer(a, v->base, v->nextPos);