Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 70999c3

Browse filesBrowse files
committed
Merge with master.
2 parents eaaf5da + 007383f commit 70999c3
Copy full SHA for 70999c3

12 files changed

+504
-4283
lines changed

‎data/test_jsquery.data

Copy file name to clipboardExpand all lines: data/test_jsquery.data
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -998,3 +998,4 @@
998998
{"product_id": "B00004W190", "customer_id": "ABH4G7TVI6G2T", "review_date": {"$date": 1013644800000}, "review_votes": 3, "product_group": "DVD", "product_title": "Bad Girls Go To Hell/Another Day Another Man", "review_rating": 5, "product_category": "Classics", "product_sales_rank": 40553, "product_subcategory": "General", "similar_product_ids": ["B000056NW6", "B0002IQB8U", "B00022PYRU", "B0002NRRQ0", "B0002W4TL2"], "review_helpful_votes": 2}
999999
{"product_id": "B00005ALM0", "customer_id": "ABH4G7TVI6G2T", "review_date": {"$date": 1013644800000}, "review_votes": 8, "product_group": "DVD", "product_title": "The Violent Years/Girl Gang", "review_rating": 5, "product_category": "Action & Adventure", "product_sales_rank": 15399, "product_subcategory": "General", "similar_product_ids": ["B00005ALLZ", "B0002235LM", "B00005LP6F", "B0002NRRT2", "B0000CG8H0"], "review_helpful_votes": 6}
10001000
{"product_id": "B00005B6KQ", "customer_id": "ABH4G7TVI6G2T", "review_date": {"$date": 1013644800000}, "review_votes": 8, "product_group": "DVD", "product_title": "The Notorious Daughter of Fanny Hill / The Head Mistress", "review_rating": 5, "product_category": "Science Fiction & Fantasy", "product_sales_rank": 20963, "product_subcategory": "General", "similar_product_ids": ["B0002W4TL2", "B00005MM5O", "B0002NRRQ0", "B0002EJ7JE", "B00005R1NR"], "review_helpful_votes": 7}
1001+
{"product_id": "B00005B6KQ", "customer_id": null, "review_date": {"$date": 1013644800000}, "review_votes": true, "product_group": false, "product_title": "The Notorious Daughter of Fanny Hill / The Head Mistress", "review_rating": 5, "product_category": "Science Fiction & Fantasy", "product_sales_rank": 20963, "product_subcategory": "General", "similar_product_ids": ["B0002W4TL2", "B00005MM5O", "B0002NRRQ0", "B0002EJ7JE", "B00005R1NR"], "review_helpful_votes": 7}

‎expected/jsquery.out

Copy file name to clipboardExpand all lines: expected/jsquery.out
+194-12Lines changed: 194 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -830,11 +830,139 @@ select '"XXX"'::jsonb @@ '#.$="XXX"';
830830
f
831831
(1 row)
832832

833+
--Unicode
834+
select 'a\t = "dollar \u0024 character"'::jsquery;
835+
jsquery
836+
------------------------------
837+
"a\t" = "dollar $ character"
838+
(1 row)
839+
840+
select '{ "a": "dollar \u0024 character" }'::jsonb @@ '* = "dollar \u0024 character"';
841+
?column?
842+
----------
843+
t
844+
(1 row)
845+
846+
select '{ "a": "dollar \u0024 character" }'::jsonb @@ '* = "dollar $ character"';
847+
?column?
848+
----------
849+
t
850+
(1 row)
851+
852+
select '{ "a": "dollar $ character" }'::jsonb @@ '* = "dollar \u0024 character"';
853+
?column?
854+
----------
855+
t
856+
(1 row)
857+
858+
select 'a\r = "\n\""'::jsquery;
859+
jsquery
860+
----------------
861+
"a\r" = "\n\""
862+
(1 row)
863+
864+
select 'a\r = "\u0000"'::jsquery;
865+
jsquery
866+
------------------
867+
"a\r" = "\u0000"
868+
(1 row)
869+
870+
select 'a\r = \u0000'::jsquery;
871+
jsquery
872+
------------------
873+
"a\r" = "\u0000"
874+
(1 row)
875+
876+
select 'a\r = "\abcd"'::jsquery AS err;
877+
ERROR: bad jsquery representation
878+
LINE 1: select 'a\r = "\abcd"'::jsquery AS err;
879+
^
880+
DETAIL: Escape sequence is invalid at or near "\a"
881+
select 'a\r = "\\abcd"'::jsquery;
882+
jsquery
883+
------------------
884+
"a\r" = "\\abcd"
885+
(1 row)
886+
887+
select 'a\r = "x\u0000"'::jsquery;
888+
jsquery
889+
-------------------
890+
"a\r" = "x\u0000"
891+
(1 row)
892+
893+
select 'a\r = x\u0000'::jsquery;
894+
jsquery
895+
-------------------
896+
"a\r" = "x\u0000"
897+
(1 row)
898+
899+
select 'a\r = "x\abcd"'::jsquery AS err;
900+
ERROR: bad jsquery representation
901+
LINE 1: select 'a\r = "x\abcd"'::jsquery AS err;
902+
^
903+
DETAIL: Escape sequence is invalid at or near "\a"
904+
select 'a\r = "x\\abcd"'::jsquery;
905+
jsquery
906+
-------------------
907+
"a\r" = "x\\abcd"
908+
(1 row)
909+
910+
select 'a\r = "x\u0000x"'::jsquery;
911+
jsquery
912+
--------------------
913+
"a\r" = "x\u0000x"
914+
(1 row)
915+
916+
select 'a\r = x\u0000x'::jsquery;
917+
jsquery
918+
--------------------
919+
"a\r" = "x\u0000x"
920+
(1 row)
921+
922+
select 'a\r = "x\abcdx"'::jsquery AS err;
923+
ERROR: bad jsquery representation
924+
LINE 1: select 'a\r = "x\abcdx"'::jsquery AS err;
925+
^
926+
DETAIL: Escape sequence is invalid at or near "\a"
927+
select 'a\r = "x\\abcdx"'::jsquery;
928+
jsquery
929+
--------------------
930+
"a\r" = "x\\abcdx"
931+
(1 row)
932+
933+
select 'a\r = "\u0000x"'::jsquery;
934+
jsquery
935+
-------------------
936+
"a\r" = "\u0000x"
937+
(1 row)
938+
939+
select 'a\r = \u0000x'::jsquery;
940+
jsquery
941+
-------------------
942+
"a\r" = "\u0000x"
943+
(1 row)
944+
945+
select 'a\r = "\abcdx"'::jsquery AS err;
946+
ERROR: bad jsquery representation
947+
LINE 1: select 'a\r = "\abcdx"'::jsquery AS err;
948+
^
949+
DETAIL: Escape sequence is invalid at or near "\a"
950+
select 'a\r = "\\abcdx"'::jsquery;
951+
jsquery
952+
-------------------
953+
"a\r" = "\\abcdx"
954+
(1 row)
955+
956+
select 'a\r = x"\\abcd"'::jsquery AS err;
957+
ERROR: bad jsquery representation
958+
LINE 1: select 'a\r = x"\\abcd"'::jsquery AS err;
959+
^
960+
DETAIL: syntax error, unexpected STRING_P, expecting $end at or near """
833961
---table and index
834962
select count(*) from test_jsquery where (v->>'review_helpful_votes')::int4 > 0;
835963
count
836964
-------
837-
653
965+
654
838966
(1 row)
839967

840968
select count(*) from test_jsquery where (v->>'review_helpful_votes')::int4 > 19;
@@ -846,7 +974,7 @@ select count(*) from test_jsquery where (v->>'review_helpful_votes')::int4 > 19;
846974
select count(*) from test_jsquery where (v->>'review_helpful_votes')::int4 < 19;
847975
count
848976
-------
849-
984
977+
985
850978
(1 row)
851979

852980
select count(*) from test_jsquery where (v->>'review_helpful_votes')::int4 >= 19;
@@ -858,7 +986,7 @@ select count(*) from test_jsquery where (v->>'review_helpful_votes')::int4 >= 19
858986
select count(*) from test_jsquery where (v->>'review_helpful_votes')::int4 <= 19;
859987
count
860988
-------
861-
987
989+
988
862990
(1 row)
863991

864992
select count(*) from test_jsquery where (v->>'review_helpful_votes')::int4 = 19;
@@ -877,7 +1005,7 @@ select count(*) from test_jsquery where (v->>'review_helpful_votes')::int4 > 16
8771005
select count(*) from test_jsquery where v @@ 'review_helpful_votes > 0';
8781006
count
8791007
-------
880-
653
1008+
654
8811009
(1 row)
8821010

8831011
select count(*) from test_jsquery where v @@ 'review_helpful_votes > 19';
@@ -889,7 +1017,7 @@ select count(*) from test_jsquery where v @@ 'review_helpful_votes > 19';
8891017
select count(*) from test_jsquery where v @@ 'review_helpful_votes < 19';
8901018
count
8911019
-------
892-
984
1020+
985
8931021
(1 row)
8941022

8951023
select count(*) from test_jsquery where v @@ 'review_helpful_votes >= 19';
@@ -901,7 +1029,7 @@ select count(*) from test_jsquery where v @@ 'review_helpful_votes >= 19';
9011029
select count(*) from test_jsquery where v @@ 'review_helpful_votes <= 19';
9021030
count
9031031
-------
904-
987
1032+
988
9051033
(1 row)
9061034

9071035
select count(*) from test_jsquery where v @@ 'review_helpful_votes = 19';
@@ -953,6 +1081,24 @@ select count(*) from test_jsquery where v @@ 'similar_product_ids && ["044018029
9531081
4
9541082
(1 row)
9551083

1084+
select count(*) from test_jsquery where v @@ 'customer_id = null';
1085+
count
1086+
-------
1087+
1
1088+
(1 row)
1089+
1090+
select count(*) from test_jsquery where v @@ 'review_votes = true';
1091+
count
1092+
-------
1093+
1
1094+
(1 row)
1095+
1096+
select count(*) from test_jsquery where v @@ 'product_group = false';
1097+
count
1098+
-------
1099+
1
1100+
(1 row)
1101+
9561102
create index t_idx on test_jsquery using gin (v jsonb_bloom_value_ops);
9571103
set enable_seqscan = off;
9581104
explain (costs off) select count(*) from test_jsquery where v @@ 'review_helpful_votes > 0';
@@ -968,7 +1114,7 @@ explain (costs off) select count(*) from test_jsquery where v @@ 'review_helpful
9681114
select count(*) from test_jsquery where v @@ 'review_helpful_votes > 0';
9691115
count
9701116
-------
971-
653
1117+
654
9721118
(1 row)
9731119

9741120
select count(*) from test_jsquery where v @@ 'review_helpful_votes > 19';
@@ -980,7 +1126,7 @@ select count(*) from test_jsquery where v @@ 'review_helpful_votes > 19';
9801126
select count(*) from test_jsquery where v @@ 'review_helpful_votes < 19';
9811127
count
9821128
-------
983-
984
1129+
985
9841130
(1 row)
9851131

9861132
select count(*) from test_jsquery where v @@ 'review_helpful_votes >= 19';
@@ -992,7 +1138,7 @@ select count(*) from test_jsquery where v @@ 'review_helpful_votes >= 19';
9921138
select count(*) from test_jsquery where v @@ 'review_helpful_votes <= 19';
9931139
count
9941140
-------
995-
987
1141+
988
9961142
(1 row)
9971143

9981144
select count(*) from test_jsquery where v @@ 'review_helpful_votes = 19';
@@ -1044,6 +1190,24 @@ select count(*) from test_jsquery where v @@ 'similar_product_ids && ["044018029
10441190
4
10451191
(1 row)
10461192

1193+
select count(*) from test_jsquery where v @@ 'customer_id = null';
1194+
count
1195+
-------
1196+
1
1197+
(1 row)
1198+
1199+
select count(*) from test_jsquery where v @@ 'review_votes = true';
1200+
count
1201+
-------
1202+
1
1203+
(1 row)
1204+
1205+
select count(*) from test_jsquery where v @@ 'product_group = false';
1206+
count
1207+
-------
1208+
1
1209+
(1 row)
1210+
10471211
drop index t_idx;
10481212
create index t_idx on test_jsquery using gin (v jsonb_hash_value_ops);
10491213
set enable_seqscan = off;
@@ -1060,7 +1224,7 @@ explain (costs off) select count(*) from test_jsquery where v @@ 'review_helpful
10601224
select count(*) from test_jsquery where v @@ 'review_helpful_votes > 0';
10611225
count
10621226
-------
1063-
653
1227+
654
10641228
(1 row)
10651229

10661230
select count(*) from test_jsquery where v @@ 'review_helpful_votes > 19';
@@ -1072,7 +1236,7 @@ select count(*) from test_jsquery where v @@ 'review_helpful_votes > 19';
10721236
select count(*) from test_jsquery where v @@ 'review_helpful_votes < 19';
10731237
count
10741238
-------
1075-
984
1239+
985
10761240
(1 row)
10771241

10781242
select count(*) from test_jsquery where v @@ 'review_helpful_votes >= 19';
@@ -1084,7 +1248,7 @@ select count(*) from test_jsquery where v @@ 'review_helpful_votes >= 19';
10841248
select count(*) from test_jsquery where v @@ 'review_helpful_votes <= 19';
10851249
count
10861250
-------
1087-
987
1251+
988
10881252
(1 row)
10891253

10901254
select count(*) from test_jsquery where v @@ 'review_helpful_votes = 19';
@@ -1136,4 +1300,22 @@ select count(*) from test_jsquery where v @@ 'similar_product_ids && ["044018029
11361300
4
11371301
(1 row)
11381302

1303+
select count(*) from test_jsquery where v @@ 'customer_id = null';
1304+
count
1305+
-------
1306+
1
1307+
(1 row)
1308+
1309+
select count(*) from test_jsquery where v @@ 'review_votes = true';
1310+
count
1311+
-------
1312+
1
1313+
(1 row)
1314+
1315+
select count(*) from test_jsquery where v @@ 'product_group = false';
1316+
count
1317+
-------
1318+
1
1319+
(1 row)
1320+
11391321
RESET enable_seqscan;

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.