Skip to content

Commit 1508781

Browse files
author
Nikita Glukhov
committed
Fix '#' queries on empty arrays
1 parent 2539974 commit 1508781

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

expected/jsquery.out

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2682,7 +2682,7 @@ select count(*) from test_jsquery where v @@ '$'::jsquery;
26822682
select count(*) from test_jsquery where v @@ 'similar_product_ids.#'::jsquery;
26832683
count
26842684
-------
2685-
1001
2685+
950
26862686
(1 row)
26872687

26882688
select count(*) from test_jsquery where v @@ '$ . ? (review_votes > 10) . review_rating < 7'::jsquery;
@@ -2960,7 +2960,7 @@ select count(*) from test_jsquery where v @@ '$'::jsquery;
29602960
select count(*) from test_jsquery where v @@ 'similar_product_ids.#'::jsquery;
29612961
count
29622962
-------
2963-
1001
2963+
950
29642964
(1 row)
29652965

29662966
select count(*) from test_jsquery where v @@ '$ . ? (review_votes > 10) . review_rating < 7'::jsquery;

jsquery_op.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -604,7 +604,9 @@ recursiveExecute(JsQueryItem *jsq, JsonbValue *jb, JsQueryItem *jsqLeftArg,
604604

605605
if (hasNext == false)
606606
{
607-
res = true;
607+
if (jsq->type == jqiAllArray ||
608+
JsonContainerSize(jb->val.binary.data) > 0)
609+
res = true;
608610

609611
while(ra && (r = JsonbIteratorNext(&it, &v, true)) != WJB_DONE)
610612
if (r == WJB_ELEM)

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy