diff options
author | David Rowley <drowley@postgresql.org> | 2023-08-02 01:41:21 +1200 |
---|---|---|
committer | David Rowley <drowley@postgresql.org> | 2023-08-02 01:41:21 +1200 |
commit | f457f2ef140a9a218ded6befed6d7dc625aac3ec (patch) | |
tree | 8bf7ef4183552993270c21a31a98f4b5b9e348bd /src/backend/utils/adt/jsonpath.c | |
parent | b0e390e6d1d68b92e9983840941f8f6d9e083fe0 (diff) | |
download | postgresql-f457f2ef140a9a218ded6befed6d7dc625aac3ec.tar.gz postgresql-f457f2ef140a9a218ded6befed6d7dc625aac3ec.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.
Diffstat (limited to 'src/backend/utils/adt/jsonpath.c')
-rw-r--r-- | src/backend/utils/adt/jsonpath.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/backend/utils/adt/jsonpath.c b/src/backend/utils/adt/jsonpath.c index fa22546f22d..178e210d81f 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); |