Kouhei Sutou
null+****@clear*****
Sun Sep 27 11:12:20 JST 2015
Kouhei Sutou 2015-09-27 11:12:20 +0900 (Sun, 27 Sep 2015) New Revision: c14c194c81c7dea42daa0c467de64318e70feb44 https://github.com/pgroonga/pgroonga/commit/c14c194c81c7dea42daa0c467de64318e70feb44 Message: jsonb: support object/array type search Modified files: expected/jsonb/element/number/bitmapscan.out expected/jsonb/element/number/indexscan.out expected/jsonb/value/number/bitmapscan.out expected/jsonb/value/number/indexscan.out pgroonga.c sql/jsonb/element/number/bitmapscan.sql sql/jsonb/element/number/indexscan.sql sql/jsonb/value/number/bitmapscan.sql sql/jsonb/value/number/indexscan.sql Modified: expected/jsonb/element/number/bitmapscan.out (+1 -1) =================================================================== --- expected/jsonb/element/number/bitmapscan.out 2015-09-27 10:58:57 +0900 (975c3e5) +++ expected/jsonb/element/number/bitmapscan.out 2015-09-27 11:12:20 +0900 (1f7d8fd) @@ -11,7 +11,7 @@ SET enable_indexscan = off; SET enable_bitmapscan = on; SELECT id, items FROM fruits - WHERE items @@ 'number <= 100' + WHERE items @@ 'type == "number" && number <= 100' ORDER BY id; id | items ----+----------- Modified: expected/jsonb/element/number/indexscan.out (+1 -1) =================================================================== --- expected/jsonb/element/number/indexscan.out 2015-09-27 10:58:57 +0900 (c8dc8a7) +++ expected/jsonb/element/number/indexscan.out 2015-09-27 11:12:20 +0900 (a63dcc5) @@ -11,7 +11,7 @@ SET enable_indexscan = on; SET enable_bitmapscan = off; SELECT id, items FROM fruits - WHERE items @@ 'number <= 100' + WHERE items @@ 'type == "number" && number <= 100' ORDER BY id; id | items ----+----------- Modified: expected/jsonb/value/number/bitmapscan.out (+1 -1) =================================================================== --- expected/jsonb/value/number/bitmapscan.out 2015-09-27 10:58:57 +0900 (a650ee4) +++ expected/jsonb/value/number/bitmapscan.out 2015-09-27 11:12:20 +0900 (9f8accf) @@ -11,7 +11,7 @@ SET enable_indexscan = off; SET enable_bitmapscan = on; SELECT id, items FROM fruits - WHERE items @@ 'number <= 100' + WHERE items @@ 'type == "number" && number <= 100' ORDER BY id; id | items ----+---------------- Modified: expected/jsonb/value/number/indexscan.out (+1 -1) =================================================================== --- expected/jsonb/value/number/indexscan.out 2015-09-27 10:58:57 +0900 (a6fbaf4) +++ expected/jsonb/value/number/indexscan.out 2015-09-27 11:12:20 +0900 (db07c78) @@ -11,7 +11,7 @@ SET enable_indexscan = on; SET enable_bitmapscan = off; SELECT id, items FROM fruits - WHERE items @@ 'number <= 100' + WHERE items @@ 'type == "number" && number <= 100' ORDER BY id; id | items ----+---------------- Modified: pgroonga.c (+2 -0) =================================================================== --- pgroonga.c 2015-09-27 10:58:57 +0900 (9c37303) +++ pgroonga.c 2015-09-27 11:12:20 +0900 (529bf5d) @@ -2377,10 +2377,12 @@ PGrnInsertJSON(JsonbIterator **iter, PGrnInsertJSONData *data) PGrnInsertJSONValue(iter, &value, data); break; case WJB_BEGIN_ARRAY: + PGrnInsertJSONValueSet(data, NULL, "array"); break; case WJB_END_ARRAY: break; case WJB_BEGIN_OBJECT: + PGrnInsertJSONValueSet(data, NULL, "object"); break; case WJB_END_OBJECT: break; Modified: sql/jsonb/element/number/bitmapscan.sql (+1 -1) =================================================================== --- sql/jsonb/element/number/bitmapscan.sql 2015-09-27 10:58:57 +0900 (e4544ce) +++ sql/jsonb/element/number/bitmapscan.sql 2015-09-27 11:12:20 +0900 (09a6a81) @@ -15,7 +15,7 @@ SET enable_bitmapscan = on; SELECT id, items FROM fruits - WHERE items @@ 'number <= 100' + WHERE items @@ 'type == "number" && number <= 100' ORDER BY id; DROP TABLE fruits; Modified: sql/jsonb/element/number/indexscan.sql (+1 -1) =================================================================== --- sql/jsonb/element/number/indexscan.sql 2015-09-27 10:58:57 +0900 (7cf95f5) +++ sql/jsonb/element/number/indexscan.sql 2015-09-27 11:12:20 +0900 (367a7e9) @@ -15,7 +15,7 @@ SET enable_bitmapscan = off; SELECT id, items FROM fruits - WHERE items @@ 'number <= 100' + WHERE items @@ 'type == "number" && number <= 100' ORDER BY id; DROP TABLE fruits; Modified: sql/jsonb/value/number/bitmapscan.sql (+1 -1) =================================================================== --- sql/jsonb/value/number/bitmapscan.sql 2015-09-27 10:58:57 +0900 (84b4e85) +++ sql/jsonb/value/number/bitmapscan.sql 2015-09-27 11:12:20 +0900 (af0dee6) @@ -15,7 +15,7 @@ SET enable_bitmapscan = on; SELECT id, items FROM fruits - WHERE items @@ 'number <= 100' + WHERE items @@ 'type == "number" && number <= 100' ORDER BY id; DROP TABLE fruits; Modified: sql/jsonb/value/number/indexscan.sql (+1 -1) =================================================================== --- sql/jsonb/value/number/indexscan.sql 2015-09-27 10:58:57 +0900 (862fd83) +++ sql/jsonb/value/number/indexscan.sql 2015-09-27 11:12:20 +0900 (72d0d50) @@ -15,7 +15,7 @@ SET enable_bitmapscan = off; SELECT id, items FROM fruits - WHERE items @@ 'number <= 100' + WHERE items @@ 'type == "number" && number <= 100' ORDER BY id; DROP TABLE fruits; -------------- next part -------------- HTML����������������������������... 다운로드