Kouhei Sutou
null+****@clear*****
Sun Jun 4 22:59:33 JST 2017
Kouhei Sutou 2017-06-04 22:59:33 +0900 (Sun, 04 Jun 2017) New Revision: 48531453299c665b733ea83c8bb1bc8302931668 https://github.com/pgroonga/pgroonga/commit/48531453299c665b733ea83c8bb1bc8302931668 Message: Use "|" suffix instead of ">" suffix for "any of element" operator Because PostgreSQL uses "|" suffix for "any of elements" such as "?|" for jsonb. Copied files: expected/full-text-search/text/single/compatibility/v2/match-in-v2/bitmapscan.out (from expected/full-text-search/text/single/match-in-v2/bitmapscan.out) expected/full-text-search/text/single/compatibility/v2/match-in-v2/indexscan.out (from expected/full-text-search/text/single/match-in-v2/indexscan.out) expected/full-text-search/text/single/compatibility/v2/match-in-v2/seqscan.out (from expected/full-text-search/text/single/match-in-v2/seqscan.out) expected/full-text-search/text/single/compatibility/v2/query-in-v2/bitmapscan.out (from expected/full-text-search/text/single/query-in-v2/bitmapscan.out) expected/full-text-search/text/single/compatibility/v2/query-in-v2/indexscan.out (from expected/full-text-search/text/single/query-in-v2/indexscan.out) expected/full-text-search/text/single/compatibility/v2/query-in-v2/seqscan.out (from expected/full-text-search/text/single/query-in-v2/seqscan.out) expected/term-search/text-array/compatibility/v2/prefix-rk/bitmapscan.out (from expected/term-search/text-array/prefix-rk-in/bitmapscan.out) expected/term-search/text-array/compatibility/v2/prefix-rk/indexscan.out (from expected/term-search/text-array/prefix-rk-in/indexscan.out) expected/term-search/text-array/compatibility/v2/prefix-rk/seqscan.out (from expected/term-search/text-array/prefix-rk-in/seqscan.out) expected/term-search/text-array/compatibility/v2/prefix/bitmapscan.out (from expected/term-search/text-array/prefix-in/bitmapscan.out) expected/term-search/text-array/compatibility/v2/prefix/indexscan.out (from expected/term-search/text-array/prefix-in/indexscan.out) expected/term-search/text-array/compatibility/v2/prefix/seqscan.out (from expected/term-search/text-array/prefix-in/seqscan.out) sql/full-text-search/text/single/compatibility/v2/match-in-v2/bitmapscan.sql (from sql/full-text-search/text/single/match-in-v2/bitmapscan.sql) sql/full-text-search/text/single/compatibility/v2/match-in-v2/indexscan.sql (from sql/full-text-search/text/single/match-in-v2/indexscan.sql) sql/full-text-search/text/single/compatibility/v2/match-in-v2/seqscan.sql (from sql/full-text-search/text/single/match-in-v2/seqscan.sql) sql/full-text-search/text/single/compatibility/v2/query-in-v2/bitmapscan.sql (from sql/full-text-search/text/single/query-in-v2/bitmapscan.sql) sql/full-text-search/text/single/compatibility/v2/query-in-v2/indexscan.sql (from sql/full-text-search/text/single/query-in-v2/indexscan.sql) sql/full-text-search/text/single/compatibility/v2/query-in-v2/seqscan.sql (from sql/full-text-search/text/single/query-in-v2/seqscan.sql) sql/term-search/text-array/compatibility/v2/prefix-rk/bitmapscan.sql (from sql/term-search/text-array/prefix-rk-in/bitmapscan.sql) sql/term-search/text-array/compatibility/v2/prefix-rk/indexscan.sql (from sql/term-search/text-array/prefix-rk-in/indexscan.sql) sql/term-search/text-array/compatibility/v2/prefix-rk/seqscan.sql (from sql/term-search/text-array/prefix-rk-in/seqscan.sql) sql/term-search/text-array/compatibility/v2/prefix/bitmapscan.sql (from sql/term-search/text-array/prefix-in/bitmapscan.sql) sql/term-search/text-array/compatibility/v2/prefix/indexscan.sql (from sql/term-search/text-array/prefix-in/indexscan.sql) sql/term-search/text-array/compatibility/v2/prefix/seqscan.sql (from sql/term-search/text-array/prefix-in/seqscan.sql) Modified files: data/pgroonga--1.2.0--1.2.1.sql data/pgroonga.sql expected/full-text-search/text-array/single/match-contain-v2/bitmapscan.out expected/full-text-search/text-array/single/match-contain-v2/indexscan.out expected/full-text-search/text-array/single/match-contain-v2/seqscan.out expected/full-text-search/text-array/single/query-contain-v2/bitmapscan.out expected/full-text-search/text-array/single/query-contain-v2/indexscan.out expected/full-text-search/text-array/single/query-contain-v2/seqscan.out expected/full-text-search/text/single/match-in-v2/bitmapscan.out expected/full-text-search/text/single/match-in-v2/indexscan.out expected/full-text-search/text/single/match-in-v2/seqscan.out expected/full-text-search/text/single/query-in-v2/bitmapscan.out expected/full-text-search/text/single/query-in-v2/indexscan.out expected/full-text-search/text/single/query-in-v2/seqscan.out expected/full-text-search/varchar/single/match-in-v2/bitmapscan.out expected/full-text-search/varchar/single/match-in-v2/indexscan.out expected/full-text-search/varchar/single/match-in-v2/seqscan.out expected/full-text-search/varchar/single/query-in-v2/bitmapscan.out expected/full-text-search/varchar/single/query-in-v2/indexscan.out expected/full-text-search/varchar/single/query-in-v2/seqscan.out expected/term-search/text-array/prefix-in/bitmapscan.out expected/term-search/text-array/prefix-in/indexscan.out expected/term-search/text-array/prefix-in/seqscan.out expected/term-search/text-array/prefix-rk-in/bitmapscan.out expected/term-search/text-array/prefix-rk-in/indexscan.out expected/term-search/text-array/prefix-rk-in/seqscan.out expected/term-search/text/prefix-in/bitmapscan.out expected/term-search/text/prefix-in/indexscan.out expected/term-search/text/prefix-in/seqscan.out expected/term-search/text/prefix-rk-in/bitmapscan.out expected/term-search/text/prefix-rk-in/indexscan.out expected/term-search/text/prefix-rk-in/seqscan.out sql/full-text-search/text-array/single/match-contain-v2/bitmapscan.sql sql/full-text-search/text-array/single/match-contain-v2/indexscan.sql sql/full-text-search/text-array/single/match-contain-v2/seqscan.sql sql/full-text-search/text-array/single/query-contain-v2/bitmapscan.sql sql/full-text-search/text-array/single/query-contain-v2/indexscan.sql sql/full-text-search/text-array/single/query-contain-v2/seqscan.sql sql/full-text-search/text/single/match-in-v2/bitmapscan.sql sql/full-text-search/text/single/match-in-v2/indexscan.sql sql/full-text-search/text/single/match-in-v2/seqscan.sql sql/full-text-search/text/single/query-in-v2/bitmapscan.sql sql/full-text-search/text/single/query-in-v2/indexscan.sql sql/full-text-search/text/single/query-in-v2/seqscan.sql sql/full-text-search/varchar/single/match-in-v2/bitmapscan.sql sql/full-text-search/varchar/single/match-in-v2/indexscan.sql sql/full-text-search/varchar/single/match-in-v2/seqscan.sql sql/full-text-search/varchar/single/query-in-v2/bitmapscan.sql sql/full-text-search/varchar/single/query-in-v2/indexscan.sql sql/full-text-search/varchar/single/query-in-v2/seqscan.sql sql/term-search/text-array/prefix-in/bitmapscan.sql sql/term-search/text-array/prefix-in/indexscan.sql sql/term-search/text-array/prefix-in/seqscan.sql sql/term-search/text-array/prefix-rk-in/bitmapscan.sql sql/term-search/text-array/prefix-rk-in/indexscan.sql sql/term-search/text-array/prefix-rk-in/seqscan.sql sql/term-search/text/prefix-in/bitmapscan.sql sql/term-search/text/prefix-in/indexscan.sql sql/term-search/text/prefix-in/seqscan.sql sql/term-search/text/prefix-rk-in/bitmapscan.sql sql/term-search/text/prefix-rk-in/indexscan.sql sql/term-search/text/prefix-rk-in/seqscan.sql src/pgroonga.c src/pgroonga.h Modified: data/pgroonga--1.2.0--1.2.1.sql (+96 -25) =================================================================== --- data/pgroonga--1.2.0--1.2.1.sql 2017-06-01 22:11:25 +0900 (dedf9c6) +++ data/pgroonga--1.2.0--1.2.1.sql 2017-06-04 22:59:33 +0900 (7f535d9) @@ -1,8 +1,64 @@ --- Add v1 compatible operators to full text search ops for text -ALTER OPERATOR FAMILY pgroonga.text_full_text_search_ops_v2 USING pgroonga - ADD - OPERATOR 8 %% (text, text), - OPERATOR 9 @@ (text, text); +-- Update pgroonga.text_full_text_search_ops_v2 +DROP OPERATOR CLASS pgroonga.text_full_text_search_ops_v2 USING pgroonga; +DROP OPERATOR &@> (text, text[]); +DROP OPERATOR &?> (text, text[]); +DROP FUNCTION pgroonga.match_contain_text(text[], text); +DROP FUNCTION pgroonga.query_contain_text(text[], text); + +CREATE FUNCTION pgroonga.match_in_text(text, text[]) + RETURNS bool + AS 'MODULE_PATHNAME', 'pgroonga_match_in_text' + LANGUAGE C + IMMUTABLE + STRICT; + +/* Deprecated since 1.2.1. */ +CREATE OPERATOR &@> ( + PROCEDURE = pgroonga.match_in_text, + LEFTARG = text, + RIGHTARG = text[] +); + +CREATE OPERATOR &@| ( + PROCEDURE = pgroonga.match_in_text, + LEFTARG = text, + RIGHTARG = text[] +); + +CREATE FUNCTION pgroonga.query_in_text(text, text[]) + RETURNS bool + AS 'MODULE_PATHNAME', 'pgroonga_query_in_text' + LANGUAGE C + IMMUTABLE + STRICT; + +/* Deprecated since 1.2.1. */ +CREATE OPERATOR &?> ( + PROCEDURE = pgroonga.query_in_text, + LEFTARG = text, + RIGHTARG = text[] +); + +CREATE OPERATOR &?| ( + PROCEDURE = pgroonga.query_in_text, + LEFTARG = text, + RIGHTARG = text[] +); + +CREATE OPERATOR CLASS pgroonga.text_full_text_search_ops_v2 FOR TYPE text + USING pgroonga AS + OPERATOR 6 ~~, + OPERATOR 7 ~~*, + OPERATOR 8 %%, -- For backward compatibility + OPERATOR 9 @@, -- For backward compatibility + OPERATOR 12 &@, + OPERATOR 13 &?, + OPERATOR 14 &~?, + OPERATOR 15 &`, + OPERATOR 18 &@| (text, text[]), + OPERATOR 19 &?| (text, text[]), + OPERATOR 26 &@> (text, text[]), -- For backward compatibility + OPERATOR 27 &?> (text, text[]); -- For backward compatibility -- Add pgroonga.text_array_full_text_search_ops_v2 CREATE FUNCTION pgroonga.match_text_array(text[], text) @@ -64,7 +120,7 @@ CREATE FUNCTION pgroonga.match_in_text_array(text[], text[]) IMMUTABLE STRICT; -CREATE OPERATOR &@> ( +CREATE OPERATOR &@| ( PROCEDURE = pgroonga.match_in_text_array, LEFTARG = text[], RIGHTARG = text[] @@ -77,7 +133,7 @@ CREATE FUNCTION pgroonga.query_in_text_array(text[], text[]) IMMUTABLE STRICT; -CREATE OPERATOR &?> ( +CREATE OPERATOR &?| ( PROCEDURE = pgroonga.query_in_text_array, LEFTARG = text[], RIGHTARG = text[] @@ -92,8 +148,8 @@ CREATE OPERATOR CLASS pgroonga.text_array_full_text_search_ops_v2 OPERATOR 13 &? (text[], text), OPERATOR 14 &~? (text[], text), OPERATOR 15 &` (text[], text), - OPERATOR 18 &@> (text[], text[]), - OPERATOR 19 &?> (text[], text[]); + OPERATOR 18 &@| (text[], text[]), + OPERATOR 19 &?| (text[], text[]); -- Add pgroonga.varchar_full_text_search_ops_v2 CREATE FUNCTION pgroonga.match_varchar(varchar, varchar) @@ -155,7 +211,7 @@ CREATE FUNCTION pgroonga.match_in_varchar(varchar, varchar[]) IMMUTABLE STRICT; -CREATE OPERATOR &@> ( +CREATE OPERATOR &@| ( PROCEDURE = pgroonga.match_in_varchar, LEFTARG = varchar, RIGHTARG = varchar[] @@ -168,7 +224,7 @@ CREATE FUNCTION pgroonga.query_in_varchar(varchar, varchar[]) IMMUTABLE STRICT; -CREATE OPERATOR &?> ( +CREATE OPERATOR &?| ( PROCEDURE = pgroonga.query_in_varchar, LEFTARG = varchar, RIGHTARG = varchar[] @@ -183,8 +239,8 @@ CREATE OPERATOR CLASS pgroonga.varchar_full_text_search_ops_v2 OPERATOR 13 &?, OPERATOR 14 &~?, OPERATOR 15 &`, - OPERATOR 18 &@> (varchar, varchar[]), - OPERATOR 19 &?> (varchar, varchar[]); + OPERATOR 18 &@| (varchar, varchar[]), + OPERATOR 19 &?| (varchar, varchar[]); -- Add v2 compatible operators to full text search ops for varchar ALTER OPERATOR FAMILY pgroonga.varchar_full_text_search_ops USING pgroonga @@ -192,10 +248,9 @@ ALTER OPERATOR FAMILY pgroonga.varchar_full_text_search_ops USING pgroonga OPERATOR 12 &@ (varchar, varchar), OPERATOR 13 &? (varchar, varchar); --- Add &^> and &^~> to pgroonga.text_term_search_ops_v2. +-- Add &^| and &^~| to pgroonga.text_term_search_ops_v2. -- Add &^ and &^~ to pgroonga.text_array_term_search_ops_v2. --- &^> and &^~> signatures are changed to --- (text[], text[]) and (text, text[]) from (text[], text). +-- &^> and &^~> are alias of &^ and &^~. DROP OPERATOR CLASS pgroonga.text_array_term_search_ops_v2 USING pgroonga; DROP OPERATOR &^> (text[], text); DROP OPERATOR &^~> (text[], text); @@ -215,6 +270,13 @@ CREATE OPERATOR &^ ( RIGHTARG = text ); +/* Deprecated since 1.2.1. */ +CREATE OPERATOR &^> ( + PROCEDURE = pgroonga.prefix_text_array, + LEFTARG = text[], + RIGHTARG = text +); + CREATE FUNCTION pgroonga.prefix_rk_text_array(text[], text) RETURNS bool AS 'MODULE_PATHNAME', 'pgroonga_prefix_rk_text_array' @@ -228,6 +290,13 @@ CREATE OPERATOR &^~ ( RIGHTARG = text ); +/* Deprecated since 1.2.1. */ +CREATE OPERATOR &^~> ( + PROCEDURE = pgroonga.prefix_rk_text_array, + LEFTARG = text[], + RIGHTARG = text +); + CREATE FUNCTION pgroonga.prefix_in_text(text, text[]) RETURNS bool AS 'MODULE_PATHNAME', 'pgroonga_prefix_in_text' @@ -235,7 +304,7 @@ CREATE FUNCTION pgroonga.prefix_in_text(text, text[]) IMMUTABLE STRICT; -CREATE OPERATOR &^> ( +CREATE OPERATOR &^| ( PROCEDURE = pgroonga.prefix_in_text, LEFTARG = text, RIGHTARG = text[] @@ -248,7 +317,7 @@ CREATE FUNCTION pgroonga.prefix_in_text_array(text[], text[]) IMMUTABLE STRICT; -CREATE OPERATOR &^> ( +CREATE OPERATOR &^| ( PROCEDURE = pgroonga.prefix_in_text_array, LEFTARG = text[], RIGHTARG = text[] @@ -261,7 +330,7 @@ CREATE FUNCTION pgroonga.prefix_rk_in_text(text, text[]) IMMUTABLE STRICT; -CREATE OPERATOR &^~> ( +CREATE OPERATOR &^~| ( PROCEDURE = pgroonga.prefix_rk_in_text, LEFTARG = text, RIGHTARG = text[] @@ -274,7 +343,7 @@ CREATE FUNCTION pgroonga.prefix_rk_in_text_array(text[], text[]) IMMUTABLE STRICT; -CREATE OPERATOR &^~> ( +CREATE OPERATOR &^~| ( PROCEDURE = pgroonga.prefix_rk_in_text_array, LEFTARG = text[], RIGHTARG = text[] @@ -282,15 +351,17 @@ CREATE OPERATOR &^~> ( ALTER OPERATOR FAMILY pgroonga.text_term_search_ops_v2 USING pgroonga ADD - OPERATOR 20 &^> (text, text[]), - OPERATOR 21 &^~> (text, text[]); + OPERATOR 20 &^| (text, text[]), + OPERATOR 21 &^~| (text, text[]); CREATE OPERATOR CLASS pgroonga.text_array_term_search_ops_v2 FOR TYPE text[] USING pgroonga AS OPERATOR 16 &^ (text[], text), OPERATOR 17 &^~ (text[], text), - OPERATOR 20 &^> (text[], text[]), - OPERATOR 21 &^~> (text[], text[]); + OPERATOR 20 &^| (text[], text[]), + OPERATOR 21 &^~| (text[], text[]), + OPERATOR 24 &^> (text[], text), -- For backward compatibility + OPERATOR 25 &^~> (text[], text); -- For backward compatibility -- Add pgroonga.text_regexp_ops_v2. -- Add pgroonga.varchar_regexp_ops_v2. @@ -299,7 +370,7 @@ BEGIN SELECT amstrategies FROM pg_am LIMIT 0; EXCEPTION WHEN syntax_error THEN - UPDATE pg_am SET amstrategies = 23 + UPDATE pg_am SET amstrategies = 25 WHERE amname = 'pgroonga'; END; $$; Modified: data/pgroonga.sql (+51 -19) =================================================================== --- data/pgroonga.sql 2017-06-01 22:11:25 +0900 (54f30d1) +++ data/pgroonga.sql 2017-06-04 22:59:33 +0900 (6e6965d) @@ -481,6 +481,13 @@ CREATE OPERATOR &^ ( RIGHTARG = text ); +/* Deprecated since 1.2.1. */ +CREATE OPERATOR &^> ( + PROCEDURE = pgroonga.prefix_text_array, + LEFTARG = text[], + RIGHTARG = text +); + CREATE FUNCTION pgroonga.prefix_rk_text(text, text) RETURNS bool AS 'MODULE_PATHNAME', 'pgroonga_prefix_rk_text' @@ -507,6 +514,13 @@ CREATE OPERATOR &^~ ( RIGHTARG = text ); +/* Deprecated since 1.2.1. */ +CREATE OPERATOR &^~> ( + PROCEDURE = pgroonga.prefix_rk_text_array, + LEFTARG = text[], + RIGHTARG = text +); + CREATE FUNCTION pgroonga.script_text(text, text) RETURNS bool AS 'MODULE_PATHNAME', 'pgroonga_script_text' @@ -576,12 +590,19 @@ CREATE FUNCTION pgroonga.match_in_text(text, text[]) IMMUTABLE STRICT; +/* Deprecated since 1.2.1. */ CREATE OPERATOR &@> ( PROCEDURE = pgroonga.match_in_text, LEFTARG = text, RIGHTARG = text[] ); +CREATE OPERATOR &@| ( + PROCEDURE = pgroonga.match_in_text, + LEFTARG = text, + RIGHTARG = text[] +); + CREATE FUNCTION pgroonga.match_in_text_array(text[], text[]) RETURNS bool AS 'MODULE_PATHNAME', 'pgroonga_match_in_text_array' @@ -589,7 +610,7 @@ CREATE FUNCTION pgroonga.match_in_text_array(text[], text[]) IMMUTABLE STRICT; -CREATE OPERATOR &@> ( +CREATE OPERATOR &@| ( PROCEDURE = pgroonga.match_in_text_array, LEFTARG = text[], RIGHTARG = text[] @@ -602,7 +623,7 @@ CREATE FUNCTION pgroonga.match_in_varchar(varchar, varchar[]) IMMUTABLE STRICT; -CREATE OPERATOR &@> ( +CREATE OPERATOR &@| ( PROCEDURE = pgroonga.match_in_varchar, LEFTARG = varchar, RIGHTARG = varchar[] @@ -615,12 +636,19 @@ CREATE FUNCTION pgroonga.query_in_text(text, text[]) IMMUTABLE STRICT; +/* Deprecated since 1.2.1. */ CREATE OPERATOR &?> ( PROCEDURE = pgroonga.query_in_text, LEFTARG = text, RIGHTARG = text[] ); +CREATE OPERATOR &?| ( + PROCEDURE = pgroonga.query_in_text, + LEFTARG = text, + RIGHTARG = text[] +); + CREATE FUNCTION pgroonga.query_in_text_array(text[], text[]) RETURNS bool AS 'MODULE_PATHNAME', 'pgroonga_query_in_text_array' @@ -628,7 +656,7 @@ CREATE FUNCTION pgroonga.query_in_text_array(text[], text[]) IMMUTABLE STRICT; -CREATE OPERATOR &?> ( +CREATE OPERATOR &?| ( PROCEDURE = pgroonga.query_in_text_array, LEFTARG = text[], RIGHTARG = text[] @@ -641,7 +669,7 @@ CREATE FUNCTION pgroonga.query_in_varchar(varchar, varchar[]) IMMUTABLE STRICT; -CREATE OPERATOR &?> ( +CREATE OPERATOR &?| ( PROCEDURE = pgroonga.query_in_varchar, LEFTARG = varchar, RIGHTARG = varchar[] @@ -654,7 +682,7 @@ CREATE FUNCTION pgroonga.prefix_in_text(text, text[]) IMMUTABLE STRICT; -CREATE OPERATOR &^> ( +CREATE OPERATOR &^| ( PROCEDURE = pgroonga.prefix_in_text, LEFTARG = text, RIGHTARG = text[] @@ -667,7 +695,7 @@ CREATE FUNCTION pgroonga.prefix_in_text_array(text[], text[]) IMMUTABLE STRICT; -CREATE OPERATOR &^> ( +CREATE OPERATOR &^| ( PROCEDURE = pgroonga.prefix_in_text_array, LEFTARG = text[], RIGHTARG = text[] @@ -680,7 +708,7 @@ CREATE FUNCTION pgroonga.prefix_rk_in_text(text, text[]) IMMUTABLE STRICT; -CREATE OPERATOR &^~> ( +CREATE OPERATOR &^~| ( PROCEDURE = pgroonga.prefix_rk_in_text, LEFTARG = text, RIGHTARG = text[] @@ -693,7 +721,7 @@ CREATE FUNCTION pgroonga.prefix_rk_in_text_array(text[], text[]) IMMUTABLE STRICT; -CREATE OPERATOR &^~> ( +CREATE OPERATOR &^~| ( PROCEDURE = pgroonga.prefix_rk_in_text_array, LEFTARG = text[], RIGHTARG = text[] @@ -793,7 +821,7 @@ EXCEPTION DELETE FROM pg_am WHERE amname = 'pgroonga'; INSERT INTO pg_am VALUES( 'pgroonga', -- amname - 23, -- amstrategies + 25, -- amstrategies 0, -- amsupport true, -- amcanorder true, -- amcanorderbyop @@ -986,8 +1014,10 @@ CREATE OPERATOR CLASS pgroonga.text_full_text_search_ops_v2 FOR TYPE text OPERATOR 13 &?, OPERATOR 14 &~?, OPERATOR 15 &`, - OPERATOR 18 &@> (text, text[]), - OPERATOR 19 &?> (text, text[]); + OPERATOR 18 &@| (text, text[]), + OPERATOR 19 &?| (text, text[]), + OPERATOR 26 &@> (text, text[]), -- For backward compatibility + OPERATOR 27 &?> (text, text[]); -- For backward compatibility CREATE OPERATOR CLASS pgroonga.text_array_full_text_search_ops_v2 FOR TYPE text[] @@ -998,22 +1028,24 @@ CREATE OPERATOR CLASS pgroonga.text_array_full_text_search_ops_v2 OPERATOR 13 &? (text[], text), OPERATOR 14 &~? (text[], text), OPERATOR 15 &` (text[], text), - OPERATOR 18 &@> (text[], text[]), - OPERATOR 19 &?> (text[], text[]); + OPERATOR 18 &@| (text[], text[]), + OPERATOR 19 &?| (text[], text[]); CREATE OPERATOR CLASS pgroonga.text_term_search_ops_v2 FOR TYPE text USING pgroonga AS OPERATOR 16 &^, OPERATOR 17 &^~, - OPERATOR 20 &^> (text, text[]), - OPERATOR 21 &^~> (text, text[]); + OPERATOR 20 &^| (text, text[]), + OPERATOR 21 &^~| (text, text[]); CREATE OPERATOR CLASS pgroonga.text_array_term_search_ops_v2 FOR TYPE text[] USING pgroonga AS OPERATOR 16 &^ (text[], text), OPERATOR 17 &^~ (text[], text), - OPERATOR 20 &^> (text[], text[]), - OPERATOR 21 &^~> (text[], text[]); + OPERATOR 20 &^| (text[], text[]), + OPERATOR 21 &^~| (text[], text[]), + OPERATOR 24 &^> (text[], text), -- For backward compatibility + OPERATOR 25 &^~> (text[], text); -- For backward compatibility CREATE OPERATOR CLASS pgroonga.text_regexp_ops_v2 FOR TYPE text USING pgroonga AS @@ -1031,8 +1063,8 @@ CREATE OPERATOR CLASS pgroonga.varchar_full_text_search_ops_v2 OPERATOR 13 &?, OPERATOR 14 &~?, OPERATOR 15 &`, - OPERATOR 18 &@> (varchar, varchar[]), - OPERATOR 19 &?> (varchar, varchar[]); + OPERATOR 18 &@| (varchar, varchar[]), + OPERATOR 19 &?| (varchar, varchar[]); CREATE OPERATOR CLASS pgroonga.varchar_array_term_search_ops_v2 FOR TYPE varchar[] Modified: expected/full-text-search/text-array/single/match-contain-v2/bitmapscan.out (+4 -4) =================================================================== --- expected/full-text-search/text-array/single/match-contain-v2/bitmapscan.out 2017-06-01 22:11:25 +0900 (a7a80b0) +++ expected/full-text-search/text-array/single/match-contain-v2/bitmapscan.out 2017-06-04 22:59:33 +0900 (4665ca3) @@ -21,18 +21,18 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT title, contents FROM memos - WHERE contents &@> Array['rdbms', 'engine']; + WHERE contents &@| Array['rdbms', 'engine']; QUERY PLAN ------------------------------------------------------------- Bitmap Heap Scan on memos - Recheck Cond: (contents &@> '{rdbms,engine}'::text[]) + Recheck Cond: (contents &@| '{rdbms,engine}'::text[]) -> Bitmap Index Scan on pgroonga_memos_index - Index Cond: (contents &@> '{rdbms,engine}'::text[]) + Index Cond: (contents &@| '{rdbms,engine}'::text[]) (4 rows) SELECT title, contents FROM memos - WHERE contents &@> Array['rdbms', 'engine']; + WHERE contents &@| Array['rdbms', 'engine']; title | contents ------------+------------------------------------------------------------------------------------------- PostgreSQL | {"PostgreSQL is an OSS RDBMS","PostgreSQL has partial full-text search support"} Modified: expected/full-text-search/text-array/single/match-contain-v2/indexscan.out (+3 -3) =================================================================== --- expected/full-text-search/text-array/single/match-contain-v2/indexscan.out 2017-06-01 22:11:25 +0900 (c60276d) +++ expected/full-text-search/text-array/single/match-contain-v2/indexscan.out 2017-06-04 22:59:33 +0900 (fe9ccad) @@ -21,16 +21,16 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT title, contents FROM memos - WHERE contents &@> Array['rdbms', 'engine']; + WHERE contents &@| Array['rdbms', 'engine']; QUERY PLAN ------------------------------------------------------- Index Scan using pgroonga_memos_index on memos - Index Cond: (contents &@> '{rdbms,engine}'::text[]) + Index Cond: (contents &@| '{rdbms,engine}'::text[]) (2 rows) SELECT title, contents FROM memos - WHERE contents &@> Array['rdbms', 'engine']; + WHERE contents &@| Array['rdbms', 'engine']; title | contents ------------+------------------------------------------------------------------------------------------- PostgreSQL | {"PostgreSQL is an OSS RDBMS","PostgreSQL has partial full-text search support"} Modified: expected/full-text-search/text-array/single/match-contain-v2/seqscan.out (+1 -1) =================================================================== --- expected/full-text-search/text-array/single/match-contain-v2/seqscan.out 2017-06-01 22:11:25 +0900 (6e6336e) +++ expected/full-text-search/text-array/single/match-contain-v2/seqscan.out 2017-06-04 22:59:33 +0900 (1eb62c2) @@ -20,7 +20,7 @@ SET enable_indexscan = off; SET enable_bitmapscan = off; SELECT title, contents FROM memos - WHERE contents &@> Array['rdbms', 'engine']; + WHERE contents &@| Array['rdbms', 'engine']; title | contents ------------+------------------------------------------------------------------------------------------- PostgreSQL | {"PostgreSQL is an OSS RDBMS","PostgreSQL has partial full-text search support"} Modified: expected/full-text-search/text-array/single/query-contain-v2/bitmapscan.out (+4 -4) =================================================================== --- expected/full-text-search/text-array/single/query-contain-v2/bitmapscan.out 2017-06-01 22:11:25 +0900 (265bf72) +++ expected/full-text-search/text-array/single/query-contain-v2/bitmapscan.out 2017-06-04 22:59:33 +0900 (e7ab7df) @@ -21,18 +21,18 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT title, contents FROM memos - WHERE contents &?> Array['rdbms', 'groonga engine']; + WHERE contents &?| Array['rdbms', 'groonga engine']; QUERY PLAN ----------------------------------------------------------------------- Bitmap Heap Scan on memos - Recheck Cond: (contents &?> '{rdbms,"groonga engine"}'::text[]) + Recheck Cond: (contents &?| '{rdbms,"groonga engine"}'::text[]) -> Bitmap Index Scan on pgroonga_memos_index - Index Cond: (contents &?> '{rdbms,"groonga engine"}'::text[]) + Index Cond: (contents &?| '{rdbms,"groonga engine"}'::text[]) (4 rows) SELECT title, contents FROM memos - WHERE contents &?> Array['rdbms', 'groonga engine']; + WHERE contents &?| Array['rdbms', 'groonga engine']; title | contents ------------+------------------------------------------------------------------------------------------- PostgreSQL | {"PostgreSQL is an OSS RDBMS","PostgreSQL has partial full-text search support"} Modified: expected/full-text-search/text-array/single/query-contain-v2/indexscan.out (+3 -3) =================================================================== --- expected/full-text-search/text-array/single/query-contain-v2/indexscan.out 2017-06-01 22:11:25 +0900 (8ab3fd5) +++ expected/full-text-search/text-array/single/query-contain-v2/indexscan.out 2017-06-04 22:59:33 +0900 (f8d58e0) @@ -21,16 +21,16 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT title, contents FROM memos - WHERE contents &?> Array['rdbms', 'groonga engine']; + WHERE contents &?| Array['rdbms', 'groonga engine']; QUERY PLAN ----------------------------------------------------------------- Index Scan using pgroonga_memos_index on memos - Index Cond: (contents &?> '{rdbms,"groonga engine"}'::text[]) + Index Cond: (contents &?| '{rdbms,"groonga engine"}'::text[]) (2 rows) SELECT title, contents FROM memos - WHERE contents &?> Array['rdbms', 'groonga engine']; + WHERE contents &?| Array['rdbms', 'groonga engine']; title | contents ------------+------------------------------------------------------------------------------------------- Groonga | {"Groonga is an OSS full-text search engine","Groonga has full full-text search support"} Modified: expected/full-text-search/text-array/single/query-contain-v2/seqscan.out (+1 -1) =================================================================== --- expected/full-text-search/text-array/single/query-contain-v2/seqscan.out 2017-06-01 22:11:25 +0900 (454cb2f) +++ expected/full-text-search/text-array/single/query-contain-v2/seqscan.out 2017-06-04 22:59:33 +0900 (f476857) @@ -20,7 +20,7 @@ SET enable_indexscan = off; SET enable_bitmapscan = off; SELECT title, contents FROM memos - WHERE contents &?> Array['rdbms', 'groonga engine']; + WHERE contents &?| Array['rdbms', 'groonga engine']; title | contents ------------+------------------------------------------------------------------------------------------- PostgreSQL | {"PostgreSQL is an OSS RDBMS","PostgreSQL has partial full-text search support"} Copied: expected/full-text-search/text/single/compatibility/v2/match-in-v2/bitmapscan.out (+0 -0) 100% =================================================================== Copied: expected/full-text-search/text/single/compatibility/v2/match-in-v2/indexscan.out (+0 -0) 100% =================================================================== Copied: expected/full-text-search/text/single/compatibility/v2/match-in-v2/seqscan.out (+0 -0) 100% =================================================================== Copied: expected/full-text-search/text/single/compatibility/v2/query-in-v2/bitmapscan.out (+0 -0) 100% =================================================================== Copied: expected/full-text-search/text/single/compatibility/v2/query-in-v2/indexscan.out (+0 -0) 100% =================================================================== Copied: expected/full-text-search/text/single/compatibility/v2/query-in-v2/seqscan.out (+0 -0) 100% =================================================================== Modified: expected/full-text-search/text/single/match-in-v2/bitmapscan.out (+4 -4) =================================================================== --- expected/full-text-search/text/single/match-in-v2/bitmapscan.out 2017-06-01 22:11:25 +0900 (17f3783) +++ expected/full-text-search/text/single/match-in-v2/bitmapscan.out 2017-06-04 22:59:33 +0900 (25e3720) @@ -13,18 +13,18 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT id, content FROM memos - WHERE content &@> Array['rdbms', 'engine']; + WHERE content &@| Array['rdbms', 'engine']; QUERY PLAN ------------------------------------------------------------ Bitmap Heap Scan on memos - Recheck Cond: (content &@> '{rdbms,engine}'::text[]) + Recheck Cond: (content &@| '{rdbms,engine}'::text[]) -> Bitmap Index Scan on pgrn_index - Index Cond: (content &@> '{rdbms,engine}'::text[]) + Index Cond: (content &@| '{rdbms,engine}'::text[]) (4 rows) SELECT id, content FROM memos - WHERE content &@> Array['rdbms', 'engine']; + WHERE content &@| Array['rdbms', 'engine']; id | content ----+------------------------------------------ 1 | PostgreSQL is a RDBMS. Modified: expected/full-text-search/text/single/match-in-v2/indexscan.out (+3 -3) =================================================================== --- expected/full-text-search/text/single/match-in-v2/indexscan.out 2017-06-01 22:11:25 +0900 (c5ebcc1) +++ expected/full-text-search/text/single/match-in-v2/indexscan.out 2017-06-04 22:59:33 +0900 (72010d4) @@ -13,16 +13,16 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT id, content FROM memos - WHERE content &@> Array['rdbms', 'engine']; + WHERE content &@| Array['rdbms', 'engine']; QUERY PLAN ------------------------------------------------------ Index Scan using pgrn_index on memos - Index Cond: (content &@> '{rdbms,engine}'::text[]) + Index Cond: (content &@| '{rdbms,engine}'::text[]) (2 rows) SELECT id, content FROM memos - WHERE content &@> Array['rdbms', 'engine']; + WHERE content &@| Array['rdbms', 'engine']; id | content ----+------------------------------------------ 1 | PostgreSQL is a RDBMS. Modified: expected/full-text-search/text/single/match-in-v2/seqscan.out (+1 -1) =================================================================== --- expected/full-text-search/text/single/match-in-v2/seqscan.out 2017-06-01 22:11:25 +0900 (d830ff5) +++ expected/full-text-search/text/single/match-in-v2/seqscan.out 2017-06-04 22:59:33 +0900 (c1bbe31) @@ -10,7 +10,7 @@ SET enable_indexscan = off; SET enable_bitmapscan = off; SELECT id, content FROM memos - WHERE content &@> Array['rdbms', 'engine']; + WHERE content &@| Array['rdbms', 'engine']; id | content ----+------------------------------------------ 1 | PostgreSQL is a RDBMS. Modified: expected/full-text-search/text/single/query-in-v2/bitmapscan.out (+4 -4) =================================================================== --- expected/full-text-search/text/single/query-in-v2/bitmapscan.out 2017-06-01 22:11:25 +0900 (e96c2d4) +++ expected/full-text-search/text/single/query-in-v2/bitmapscan.out 2017-06-04 22:59:33 +0900 (4a7734f) @@ -13,18 +13,18 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT id, content FROM memos - WHERE content &?> Array['rdbms', 'groonga engine']; + WHERE content &?| Array['rdbms', 'groonga engine']; QUERY PLAN ---------------------------------------------------------------------- Bitmap Heap Scan on memos - Recheck Cond: (content &?> '{rdbms,"groonga engine"}'::text[]) + Recheck Cond: (content &?| '{rdbms,"groonga engine"}'::text[]) -> Bitmap Index Scan on pgrn_index - Index Cond: (content &?> '{rdbms,"groonga engine"}'::text[]) + Index Cond: (content &?| '{rdbms,"groonga engine"}'::text[]) (4 rows) SELECT id, content FROM memos - WHERE content &?> Array['rdbms', 'groonga engine']; + WHERE content &?| Array['rdbms', 'groonga engine']; id | content ----+------------------------------------------ 1 | PostgreSQL is a RDBMS. Modified: expected/full-text-search/text/single/query-in-v2/indexscan.out (+3 -3) =================================================================== --- expected/full-text-search/text/single/query-in-v2/indexscan.out 2017-06-01 22:11:25 +0900 (245ae2c) +++ expected/full-text-search/text/single/query-in-v2/indexscan.out 2017-06-04 22:59:33 +0900 (dddc69e) @@ -13,16 +13,16 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT id, content FROM memos - WHERE content &?> Array['rdbms', 'groonga engine']; + WHERE content &?| Array['rdbms', 'groonga engine']; QUERY PLAN ---------------------------------------------------------------- Index Scan using pgrn_index on memos - Index Cond: (content &?> '{rdbms,"groonga engine"}'::text[]) + Index Cond: (content &?| '{rdbms,"groonga engine"}'::text[]) (2 rows) SELECT id, content FROM memos - WHERE content &?> Array['rdbms', 'groonga engine']; + WHERE content &?| Array['rdbms', 'groonga engine']; id | content ----+------------------------------------------ 2 | Groonga is fast full text search engine. Modified: expected/full-text-search/text/single/query-in-v2/seqscan.out (+1 -1) =================================================================== --- expected/full-text-search/text/single/query-in-v2/seqscan.out 2017-06-01 22:11:25 +0900 (071b37e) +++ expected/full-text-search/text/single/query-in-v2/seqscan.out 2017-06-04 22:59:33 +0900 (8906877) @@ -10,7 +10,7 @@ SET enable_indexscan = off; SET enable_bitmapscan = off; SELECT id, content FROM memos - WHERE content &?> Array['rdbms', 'groonga engine']; + WHERE content &?| Array['rdbms', 'groonga engine']; id | content ----+------------------------------------------ 1 | PostgreSQL is a RDBMS. Modified: expected/full-text-search/varchar/single/match-in-v2/bitmapscan.out (+4 -4) =================================================================== --- expected/full-text-search/varchar/single/match-in-v2/bitmapscan.out 2017-06-01 22:11:25 +0900 (b4343f0) +++ expected/full-text-search/varchar/single/match-in-v2/bitmapscan.out 2017-06-04 22:59:33 +0900 (954762d) @@ -13,18 +13,18 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT id, content FROM memos - WHERE content &@> Array['rdbms', 'engine']::varchar[]; + WHERE content &@| Array['rdbms', 'engine']::varchar[]; QUERY PLAN ------------------------------------------------------------------------- Bitmap Heap Scan on memos - Recheck Cond: (content &@> '{rdbms,engine}'::character varying[]) + Recheck Cond: (content &@| '{rdbms,engine}'::character varying[]) -> Bitmap Index Scan on pgrn_index - Index Cond: (content &@> '{rdbms,engine}'::character varying[]) + Index Cond: (content &@| '{rdbms,engine}'::character varying[]) (4 rows) SELECT id, content FROM memos - WHERE content &@> Array['rdbms', 'engine']::varchar[]; + WHERE content &@| Array['rdbms', 'engine']::varchar[]; id | content ----+------------------------------------------ 1 | PostgreSQL is a RDBMS. Modified: expected/full-text-search/varchar/single/match-in-v2/indexscan.out (+3 -3) =================================================================== --- expected/full-text-search/varchar/single/match-in-v2/indexscan.out 2017-06-01 22:11:25 +0900 (bc4943e) +++ expected/full-text-search/varchar/single/match-in-v2/indexscan.out 2017-06-04 22:59:33 +0900 (834f358) @@ -13,16 +13,16 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT id, content FROM memos - WHERE content &@> Array['rdbms', 'engine']::varchar[]; + WHERE content &@| Array['rdbms', 'engine']::varchar[]; QUERY PLAN ------------------------------------------------------------------- Index Scan using pgrn_index on memos - Index Cond: (content &@> '{rdbms,engine}'::character varying[]) + Index Cond: (content &@| '{rdbms,engine}'::character varying[]) (2 rows) SELECT id, content FROM memos - WHERE content &@> Array['rdbms', 'engine']::varchar[]; + WHERE content &@| Array['rdbms', 'engine']::varchar[]; id | content ----+------------------------------------------ 1 | PostgreSQL is a RDBMS. Modified: expected/full-text-search/varchar/single/match-in-v2/seqscan.out (+1 -1) =================================================================== --- expected/full-text-search/varchar/single/match-in-v2/seqscan.out 2017-06-01 22:11:25 +0900 (fd313eb) +++ expected/full-text-search/varchar/single/match-in-v2/seqscan.out 2017-06-04 22:59:33 +0900 (2d7a247) @@ -10,7 +10,7 @@ SET enable_indexscan = off; SET enable_bitmapscan = off; SELECT id, content FROM memos - WHERE content &@> Array['rdbms', 'engine']::varchar[]; + WHERE content &@| Array['rdbms', 'engine']::varchar[]; id | content ----+------------------------------------------ 1 | PostgreSQL is a RDBMS. Modified: expected/full-text-search/varchar/single/query-in-v2/bitmapscan.out (+4 -4) =================================================================== --- expected/full-text-search/varchar/single/query-in-v2/bitmapscan.out 2017-06-01 22:11:25 +0900 (46b5716) +++ expected/full-text-search/varchar/single/query-in-v2/bitmapscan.out 2017-06-04 22:59:33 +0900 (e778d1c) @@ -13,18 +13,18 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT id, content FROM memos - WHERE content &?> Array['rdbms', 'groonga engine']::varchar[]; + WHERE content &?| Array['rdbms', 'groonga engine']::varchar[]; QUERY PLAN ----------------------------------------------------------------------------------- Bitmap Heap Scan on memos - Recheck Cond: (content &?> '{rdbms,"groonga engine"}'::character varying[]) + Recheck Cond: (content &?| '{rdbms,"groonga engine"}'::character varying[]) -> Bitmap Index Scan on pgrn_index - Index Cond: (content &?> '{rdbms,"groonga engine"}'::character varying[]) + Index Cond: (content &?| '{rdbms,"groonga engine"}'::character varying[]) (4 rows) SELECT id, content FROM memos - WHERE content &?> Array['rdbms', 'groonga engine']::varchar[]; + WHERE content &?| Array['rdbms', 'groonga engine']::varchar[]; id | content ----+------------------------------------------ 1 | PostgreSQL is a RDBMS. Modified: expected/full-text-search/varchar/single/query-in-v2/indexscan.out (+3 -3) =================================================================== --- expected/full-text-search/varchar/single/query-in-v2/indexscan.out 2017-06-01 22:11:25 +0900 (9bcc3d6) +++ expected/full-text-search/varchar/single/query-in-v2/indexscan.out 2017-06-04 22:59:33 +0900 (8d28603) @@ -13,16 +13,16 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT id, content FROM memos - WHERE content &?> Array['rdbms', 'groonga engine']::varchar[]; + WHERE content &?| Array['rdbms', 'groonga engine']::varchar[]; QUERY PLAN ----------------------------------------------------------------------------- Index Scan using pgrn_index on memos - Index Cond: (content &?> '{rdbms,"groonga engine"}'::character varying[]) + Index Cond: (content &?| '{rdbms,"groonga engine"}'::character varying[]) (2 rows) SELECT id, content FROM memos - WHERE content &?> Array['rdbms', 'groonga engine']::varchar[]; + WHERE content &?| Array['rdbms', 'groonga engine']::varchar[]; id | content ----+------------------------------------------ 2 | Groonga is fast full text search engine. Modified: expected/full-text-search/varchar/single/query-in-v2/seqscan.out (+1 -1) =================================================================== --- expected/full-text-search/varchar/single/query-in-v2/seqscan.out 2017-06-01 22:11:25 +0900 (0e3cbf3) +++ expected/full-text-search/varchar/single/query-in-v2/seqscan.out 2017-06-04 22:59:33 +0900 (77b80a3) @@ -10,7 +10,7 @@ SET enable_indexscan = off; SET enable_bitmapscan = off; SELECT id, content FROM memos - WHERE content &?> Array['rdbms', 'groonga engine']::varchar[]; + WHERE content &?| Array['rdbms', 'groonga engine']::varchar[]; id | content ----+------------------------------------------ 1 | PostgreSQL is a RDBMS. Copied: expected/term-search/text-array/compatibility/v2/prefix-rk/bitmapscan.out (+7 -7) 70% =================================================================== --- expected/term-search/text-array/prefix-rk-in/bitmapscan.out 2017-06-01 22:11:25 +0900 (58304a5) +++ expected/term-search/text-array/compatibility/v2/prefix-rk/bitmapscan.out 2017-06-04 22:59:33 +0900 (c2f8a98) @@ -12,22 +12,22 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT katakanas FROM readings - WHERE katakanas &^~> ARRAY['po', 'gu']; - QUERY PLAN --------------------------------------------------------- + WHERE katakanas &^~> 'p'; + QUERY PLAN +------------------------------------------------ Bitmap Heap Scan on readings - Recheck Cond: (katakanas &^~> '{po,gu}'::text[]) + Recheck Cond: (katakanas &^~> 'p'::text) -> Bitmap Index Scan on pgrn_index - Index Cond: (katakanas &^~> '{po,gu}'::text[]) + Index Cond: (katakanas &^~> 'p'::text) (4 rows) SELECT katakanas FROM readings - WHERE katakanas &^~> ARRAY['po', 'gu']; + WHERE katakanas &^~> 'p'; katakanas ----------------------------------- {ポストグレスキューエル,ポスグレ} - {グルンガ,グルン} + {ピージールンガ,ピーグルン} (2 rows) DROP TABLE readings; Copied: expected/term-search/text-array/compatibility/v2/prefix-rk/indexscan.out (+6 -6) 74% =================================================================== --- expected/term-search/text-array/prefix-rk-in/indexscan.out 2017-06-01 22:11:25 +0900 (68b2691) +++ expected/term-search/text-array/compatibility/v2/prefix-rk/indexscan.out 2017-06-04 22:59:33 +0900 (e148d63) @@ -12,20 +12,20 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT katakanas FROM readings - WHERE katakanas &^~> ARRAY['po', 'gu']; - QUERY PLAN --------------------------------------------------- + WHERE katakanas &^~> 'p'; + QUERY PLAN +------------------------------------------ Index Scan using pgrn_index on readings - Index Cond: (katakanas &^~> '{po,gu}'::text[]) + Index Cond: (katakanas &^~> 'p'::text) (2 rows) SELECT katakanas FROM readings - WHERE katakanas &^~> ARRAY['po', 'gu']; + WHERE katakanas &^~> 'p'; katakanas ----------------------------------- + {ピージールンガ,ピーグルン} {ポストグレスキューエル,ポスグレ} - {グルンガ,グルン} (2 rows) DROP TABLE readings; Copied: expected/term-search/text-array/compatibility/v2/prefix-rk/seqscan.out (+2 -2) 89% =================================================================== --- expected/term-search/text-array/prefix-rk-in/seqscan.out 2017-06-01 22:11:25 +0900 (1f8cd6c) +++ expected/term-search/text-array/compatibility/v2/prefix-rk/seqscan.out 2017-06-04 22:59:33 +0900 (2e39994) @@ -9,11 +9,11 @@ SET enable_indexscan = off; SET enable_bitmapscan = off; SELECT katakanas FROM readings - WHERE katakanas &^~> ARRAY['po', 'gu']; + WHERE katakanas &^~> 'p'; katakanas ----------------------------------- {ポストグレスキューエル,ポスグレ} - {グルンガ,グルン} + {ピージールンガ,ピーグルン} (2 rows) DROP TABLE readings; Copied: expected/term-search/text-array/compatibility/v2/prefix/bitmapscan.out (+7 -7) 66% =================================================================== --- expected/term-search/text-array/prefix-in/bitmapscan.out 2017-06-01 22:11:25 +0900 (e15c5a7) +++ expected/term-search/text-array/compatibility/v2/prefix/bitmapscan.out 2017-06-04 22:59:33 +0900 (58acbca) @@ -12,22 +12,22 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT names FROM tags - WHERE names &^> ARRAY['gro', 'pos']; - QUERY PLAN ------------------------------------------------------ + WHERE names &^> 'pG'; + QUERY PLAN +-------------------------------------------- Bitmap Heap Scan on tags - Recheck Cond: (names &^> '{gro,pos}'::text[]) + Recheck Cond: (names &^> 'pG'::text) -> Bitmap Index Scan on pgrn_index - Index Cond: (names &^> '{gro,pos}'::text[]) + Index Cond: (names &^> 'pG'::text) (4 rows) SELECT names FROM tags - WHERE names &^> ARRAY['gro', 'pos']; + WHERE names &^> 'pG'; names ----------------- {PostgreSQL,PG} - {Groonga,grn} + {PGroonga,pgrn} (2 rows) DROP TABLE tags; Copied: expected/term-search/text-array/compatibility/v2/prefix/indexscan.out (+6 -6) 70% =================================================================== --- expected/term-search/text-array/prefix-in/indexscan.out 2017-06-01 22:11:25 +0900 (27db30e) +++ expected/term-search/text-array/compatibility/v2/prefix/indexscan.out 2017-06-04 22:59:33 +0900 (9979b35) @@ -12,19 +12,19 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT names FROM tags - WHERE names &^> ARRAY['gro', 'pos']; - QUERY PLAN ------------------------------------------------ + WHERE names &^> 'pG'; + QUERY PLAN +-------------------------------------- Index Scan using pgrn_index on tags - Index Cond: (names &^> '{gro,pos}'::text[]) + Index Cond: (names &^> 'pG'::text) (2 rows) SELECT names FROM tags - WHERE names &^> ARRAY['gro', 'pos']; + WHERE names &^> 'pG'; names ----------------- - {Groonga,grn} + {PGroonga,pgrn} {PostgreSQL,PG} (2 rows) Copied: expected/term-search/text-array/compatibility/v2/prefix/seqscan.out (+2 -2) 87% =================================================================== --- expected/term-search/text-array/prefix-in/seqscan.out 2017-06-01 22:11:25 +0900 (b1251ce) +++ expected/term-search/text-array/compatibility/v2/prefix/seqscan.out 2017-06-04 22:59:33 +0900 (aedd8f9) @@ -9,11 +9,11 @@ SET enable_indexscan = off; SET enable_bitmapscan = off; SELECT names FROM tags - WHERE names &^> ARRAY['gro', 'pos']; + WHERE names &^> 'pG'; names ----------------- {PostgreSQL,PG} - {Groonga,grn} + {PGroonga,pgrn} (2 rows) DROP TABLE tags; Modified: expected/term-search/text-array/prefix-in/bitmapscan.out (+4 -4) =================================================================== --- expected/term-search/text-array/prefix-in/bitmapscan.out 2017-06-01 22:11:25 +0900 (e15c5a7) +++ expected/term-search/text-array/prefix-in/bitmapscan.out 2017-06-04 22:59:33 +0900 (bc30314) @@ -12,18 +12,18 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT names FROM tags - WHERE names &^> ARRAY['gro', 'pos']; + WHERE names &^| ARRAY['gro', 'pos']; QUERY PLAN ----------------------------------------------------- Bitmap Heap Scan on tags - Recheck Cond: (names &^> '{gro,pos}'::text[]) + Recheck Cond: (names &^| '{gro,pos}'::text[]) -> Bitmap Index Scan on pgrn_index - Index Cond: (names &^> '{gro,pos}'::text[]) + Index Cond: (names &^| '{gro,pos}'::text[]) (4 rows) SELECT names FROM tags - WHERE names &^> ARRAY['gro', 'pos']; + WHERE names &^| ARRAY['gro', 'pos']; names ----------------- {PostgreSQL,PG} Modified: expected/term-search/text-array/prefix-in/indexscan.out (+3 -3) =================================================================== --- expected/term-search/text-array/prefix-in/indexscan.out 2017-06-01 22:11:25 +0900 (27db30e) +++ expected/term-search/text-array/prefix-in/indexscan.out 2017-06-04 22:59:33 +0900 (e49bc96) @@ -12,16 +12,16 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT names FROM tags - WHERE names &^> ARRAY['gro', 'pos']; + WHERE names &^| ARRAY['gro', 'pos']; QUERY PLAN ----------------------------------------------- Index Scan using pgrn_index on tags - Index Cond: (names &^> '{gro,pos}'::text[]) + Index Cond: (names &^| '{gro,pos}'::text[]) (2 rows) SELECT names FROM tags - WHERE names &^> ARRAY['gro', 'pos']; + WHERE names &^| ARRAY['gro', 'pos']; names ----------------- {Groonga,grn} Modified: expected/term-search/text-array/prefix-in/seqscan.out (+1 -1) =================================================================== --- expected/term-search/text-array/prefix-in/seqscan.out 2017-06-01 22:11:25 +0900 (b1251ce) +++ expected/term-search/text-array/prefix-in/seqscan.out 2017-06-04 22:59:33 +0900 (2e42c12) @@ -9,7 +9,7 @@ SET enable_indexscan = off; SET enable_bitmapscan = off; SELECT names FROM tags - WHERE names &^> ARRAY['gro', 'pos']; + WHERE names &^| ARRAY['gro', 'pos']; names ----------------- {PostgreSQL,PG} Modified: expected/term-search/text-array/prefix-rk-in/bitmapscan.out (+4 -4) =================================================================== --- expected/term-search/text-array/prefix-rk-in/bitmapscan.out 2017-06-01 22:11:25 +0900 (58304a5) +++ expected/term-search/text-array/prefix-rk-in/bitmapscan.out 2017-06-04 22:59:33 +0900 (e87e225) @@ -12,18 +12,18 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT katakanas FROM readings - WHERE katakanas &^~> ARRAY['po', 'gu']; + WHERE katakanas &^~| ARRAY['po', 'gu']; QUERY PLAN -------------------------------------------------------- Bitmap Heap Scan on readings - Recheck Cond: (katakanas &^~> '{po,gu}'::text[]) + Recheck Cond: (katakanas &^~| '{po,gu}'::text[]) -> Bitmap Index Scan on pgrn_index - Index Cond: (katakanas &^~> '{po,gu}'::text[]) + Index Cond: (katakanas &^~| '{po,gu}'::text[]) (4 rows) SELECT katakanas FROM readings - WHERE katakanas &^~> ARRAY['po', 'gu']; + WHERE katakanas &^~| ARRAY['po', 'gu']; katakanas ----------------------------------- {ポストグレスキューエル,ポスグレ} Modified: expected/term-search/text-array/prefix-rk-in/indexscan.out (+3 -3) =================================================================== --- expected/term-search/text-array/prefix-rk-in/indexscan.out 2017-06-01 22:11:25 +0900 (68b2691) +++ expected/term-search/text-array/prefix-rk-in/indexscan.out 2017-06-04 22:59:33 +0900 (f5d9142) @@ -12,16 +12,16 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT katakanas FROM readings - WHERE katakanas &^~> ARRAY['po', 'gu']; + WHERE katakanas &^~| ARRAY['po', 'gu']; QUERY PLAN -------------------------------------------------- Index Scan using pgrn_index on readings - Index Cond: (katakanas &^~> '{po,gu}'::text[]) + Index Cond: (katakanas &^~| '{po,gu}'::text[]) (2 rows) SELECT katakanas FROM readings - WHERE katakanas &^~> ARRAY['po', 'gu']; + WHERE katakanas &^~| ARRAY['po', 'gu']; katakanas ----------------------------------- {ポストグレスキューエル,ポスグレ} Modified: expected/term-search/text-array/prefix-rk-in/seqscan.out (+1 -1) =================================================================== --- expected/term-search/text-array/prefix-rk-in/seqscan.out 2017-06-01 22:11:25 +0900 (1f8cd6c) +++ expected/term-search/text-array/prefix-rk-in/seqscan.out 2017-06-04 22:59:33 +0900 (02c4eb3) @@ -9,7 +9,7 @@ SET enable_indexscan = off; SET enable_bitmapscan = off; SELECT katakanas FROM readings - WHERE katakanas &^~> ARRAY['po', 'gu']; + WHERE katakanas &^~| ARRAY['po', 'gu']; katakanas ----------------------------------- {ポストグレスキューエル,ポスグレ} Modified: expected/term-search/text/prefix-in/bitmapscan.out (+4 -4) =================================================================== --- expected/term-search/text/prefix-in/bitmapscan.out 2017-06-01 22:11:25 +0900 (22a2f16) +++ expected/term-search/text/prefix-in/bitmapscan.out 2017-06-04 22:59:33 +0900 (1afc70c) @@ -13,18 +13,18 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT name FROM tags - WHERE name &^> ARRAY['gro', 'pos']; + WHERE name &^| ARRAY['gro', 'pos']; QUERY PLAN ---------------------------------------------------- Bitmap Heap Scan on tags - Recheck Cond: (name &^> '{gro,pos}'::text[]) + Recheck Cond: (name &^| '{gro,pos}'::text[]) -> Bitmap Index Scan on pgrn_index - Index Cond: (name &^> '{gro,pos}'::text[]) + Index Cond: (name &^| '{gro,pos}'::text[]) (4 rows) SELECT name FROM tags - WHERE name &^> ARRAY['gro', 'pos']; + WHERE name &^| ARRAY['gro', 'pos']; name ------------ PostgreSQL Modified: expected/term-search/text/prefix-in/indexscan.out (+3 -3) =================================================================== --- expected/term-search/text/prefix-in/indexscan.out 2017-06-01 22:11:25 +0900 (0ec1f6b) +++ expected/term-search/text/prefix-in/indexscan.out 2017-06-04 22:59:33 +0900 (9b7459d) @@ -13,16 +13,16 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT name FROM tags - WHERE name &^> ARRAY['gro', 'pos']; + WHERE name &^| ARRAY['gro', 'pos']; QUERY PLAN ---------------------------------------------- Index Scan using pgrn_index on tags - Index Cond: (name &^> '{gro,pos}'::text[]) + Index Cond: (name &^| '{gro,pos}'::text[]) (2 rows) SELECT name FROM tags - WHERE name &^> ARRAY['gro', 'pos']; + WHERE name &^| ARRAY['gro', 'pos']; name ------------ Groonga Modified: expected/term-search/text/prefix-in/seqscan.out (+1 -1) =================================================================== --- expected/term-search/text/prefix-in/seqscan.out 2017-06-01 22:11:25 +0900 (c444b50) +++ expected/term-search/text/prefix-in/seqscan.out 2017-06-04 22:59:33 +0900 (953198d) @@ -10,7 +10,7 @@ SET enable_indexscan = off; SET enable_bitmapscan = off; SELECT name FROM tags - WHERE name &^> ARRAY['gro', 'pos']; + WHERE name &^| ARRAY['gro', 'pos']; name ------------ PostgreSQL Modified: expected/term-search/text/prefix-rk-in/bitmapscan.out (+4 -4) =================================================================== --- expected/term-search/text/prefix-rk-in/bitmapscan.out 2017-06-01 22:11:25 +0900 (728ad3b) +++ expected/term-search/text/prefix-rk-in/bitmapscan.out 2017-06-04 22:59:33 +0900 (bb63df6) @@ -13,18 +13,18 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT katakana FROM readings - WHERE katakana &^~> ARRAY['po', 'gu']; + WHERE katakana &^~| ARRAY['po', 'gu']; QUERY PLAN ------------------------------------------------------- Bitmap Heap Scan on readings - Recheck Cond: (katakana &^~> '{po,gu}'::text[]) + Recheck Cond: (katakana &^~| '{po,gu}'::text[]) -> Bitmap Index Scan on pgrn_index - Index Cond: (katakana &^~> '{po,gu}'::text[]) + Index Cond: (katakana &^~| '{po,gu}'::text[]) (4 rows) SELECT katakana FROM readings - WHERE katakana &^~> ARRAY['po', 'gu']; + WHERE katakana &^~| ARRAY['po', 'gu']; katakana ------------------------ ポストグレスキューエル Modified: expected/term-search/text/prefix-rk-in/indexscan.out (+3 -3) =================================================================== --- expected/term-search/text/prefix-rk-in/indexscan.out 2017-06-01 22:11:25 +0900 (b9e848b) +++ expected/term-search/text/prefix-rk-in/indexscan.out 2017-06-04 22:59:33 +0900 (138177d) @@ -13,16 +13,16 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT katakana FROM readings - WHERE katakana &^~> ARRAY['po', 'gu']; + WHERE katakana &^~| ARRAY['po', 'gu']; QUERY PLAN ------------------------------------------------- Index Scan using pgrn_index on readings - Index Cond: (katakana &^~> '{po,gu}'::text[]) + Index Cond: (katakana &^~| '{po,gu}'::text[]) (2 rows) SELECT katakana FROM readings - WHERE katakana &^~> ARRAY['po', 'gu']; + WHERE katakana &^~| ARRAY['po', 'gu']; katakana ------------------------ ポストグレスキューエル Modified: expected/term-search/text/prefix-rk-in/seqscan.out (+1 -1) =================================================================== --- expected/term-search/text/prefix-rk-in/seqscan.out 2017-06-01 22:11:25 +0900 (1c8a271) +++ expected/term-search/text/prefix-rk-in/seqscan.out 2017-06-04 22:59:33 +0900 (1de9ee4) @@ -10,7 +10,7 @@ SET enable_indexscan = off; SET enable_bitmapscan = off; SELECT katakana FROM readings - WHERE katakana &^~> ARRAY['po', 'gu']; + WHERE katakana &^~| ARRAY['po', 'gu']; katakana ------------------------ ポストグレスキューエル Modified: sql/full-text-search/text-array/single/match-contain-v2/bitmapscan.sql (+2 -2) =================================================================== --- sql/full-text-search/text-array/single/match-contain-v2/bitmapscan.sql 2017-06-01 22:11:25 +0900 (c5fbb98) +++ sql/full-text-search/text-array/single/match-contain-v2/bitmapscan.sql 2017-06-04 22:59:33 +0900 (db83a4d) @@ -25,10 +25,10 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT title, contents FROM memos - WHERE contents &@> Array['rdbms', 'engine']; + WHERE contents &@| Array['rdbms', 'engine']; SELECT title, contents FROM memos - WHERE contents &@> Array['rdbms', 'engine']; + WHERE contents &@| Array['rdbms', 'engine']; DROP TABLE memos; Modified: sql/full-text-search/text-array/single/match-contain-v2/indexscan.sql (+2 -2) =================================================================== --- sql/full-text-search/text-array/single/match-contain-v2/indexscan.sql 2017-06-01 22:11:25 +0900 (2f5eb6c) +++ sql/full-text-search/text-array/single/match-contain-v2/indexscan.sql 2017-06-04 22:59:33 +0900 (28a5f69) @@ -25,10 +25,10 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT title, contents FROM memos - WHERE contents &@> Array['rdbms', 'engine']; + WHERE contents &@| Array['rdbms', 'engine']; SELECT title, contents FROM memos - WHERE contents &@> Array['rdbms', 'engine']; + WHERE contents &@| Array['rdbms', 'engine']; DROP TABLE memos; Modified: sql/full-text-search/text-array/single/match-contain-v2/seqscan.sql (+1 -1) =================================================================== --- sql/full-text-search/text-array/single/match-contain-v2/seqscan.sql 2017-06-01 22:11:25 +0900 (a259812) +++ sql/full-text-search/text-array/single/match-contain-v2/seqscan.sql 2017-06-04 22:59:33 +0900 (0276998) @@ -24,6 +24,6 @@ SET enable_bitmapscan = off; SELECT title, contents FROM memos - WHERE contents &@> Array['rdbms', 'engine']; + WHERE contents &@| Array['rdbms', 'engine']; DROP TABLE memos; Modified: sql/full-text-search/text-array/single/query-contain-v2/bitmapscan.sql (+2 -2) =================================================================== --- sql/full-text-search/text-array/single/query-contain-v2/bitmapscan.sql 2017-06-01 22:11:25 +0900 (9e9b667) +++ sql/full-text-search/text-array/single/query-contain-v2/bitmapscan.sql 2017-06-04 22:59:33 +0900 (753b299) @@ -25,10 +25,10 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT title, contents FROM memos - WHERE contents &?> Array['rdbms', 'groonga engine']; + WHERE contents &?| Array['rdbms', 'groonga engine']; SELECT title, contents FROM memos - WHERE contents &?> Array['rdbms', 'groonga engine']; + WHERE contents &?| Array['rdbms', 'groonga engine']; DROP TABLE memos; Modified: sql/full-text-search/text-array/single/query-contain-v2/indexscan.sql (+2 -2) =================================================================== --- sql/full-text-search/text-array/single/query-contain-v2/indexscan.sql 2017-06-01 22:11:25 +0900 (57846f5) +++ sql/full-text-search/text-array/single/query-contain-v2/indexscan.sql 2017-06-04 22:59:33 +0900 (bcffcd2) @@ -25,10 +25,10 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT title, contents FROM memos - WHERE contents &?> Array['rdbms', 'groonga engine']; + WHERE contents &?| Array['rdbms', 'groonga engine']; SELECT title, contents FROM memos - WHERE contents &?> Array['rdbms', 'groonga engine']; + WHERE contents &?| Array['rdbms', 'groonga engine']; DROP TABLE memos; Modified: sql/full-text-search/text-array/single/query-contain-v2/seqscan.sql (+1 -1) =================================================================== --- sql/full-text-search/text-array/single/query-contain-v2/seqscan.sql 2017-06-01 22:11:25 +0900 (13956a2) +++ sql/full-text-search/text-array/single/query-contain-v2/seqscan.sql 2017-06-04 22:59:33 +0900 (5c8eac9) @@ -24,6 +24,6 @@ SET enable_bitmapscan = off; SELECT title, contents FROM memos - WHERE contents &?> Array['rdbms', 'groonga engine']; + WHERE contents &?| Array['rdbms', 'groonga engine']; DROP TABLE memos; Copied: sql/full-text-search/text/single/compatibility/v2/match-in-v2/bitmapscan.sql (+0 -0) 100% =================================================================== Copied: sql/full-text-search/text/single/compatibility/v2/match-in-v2/indexscan.sql (+0 -0) 100% =================================================================== Copied: sql/full-text-search/text/single/compatibility/v2/match-in-v2/seqscan.sql (+0 -0) 100% =================================================================== Copied: sql/full-text-search/text/single/compatibility/v2/query-in-v2/bitmapscan.sql (+0 -0) 100% =================================================================== Copied: sql/full-text-search/text/single/compatibility/v2/query-in-v2/indexscan.sql (+0 -0) 100% =================================================================== Copied: sql/full-text-search/text/single/compatibility/v2/query-in-v2/seqscan.sql (+0 -0) 100% =================================================================== Modified: sql/full-text-search/text/single/match-in-v2/bitmapscan.sql (+2 -2) =================================================================== --- sql/full-text-search/text/single/match-in-v2/bitmapscan.sql 2017-06-01 22:11:25 +0900 (8a634f8) +++ sql/full-text-search/text/single/match-in-v2/bitmapscan.sql 2017-06-04 22:59:33 +0900 (7f7c102) @@ -17,10 +17,10 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT id, content FROM memos - WHERE content &@> Array['rdbms', 'engine']; + WHERE content &@| Array['rdbms', 'engine']; SELECT id, content FROM memos - WHERE content &@> Array['rdbms', 'engine']; + WHERE content &@| Array['rdbms', 'engine']; DROP TABLE memos; Modified: sql/full-text-search/text/single/match-in-v2/indexscan.sql (+2 -2) =================================================================== --- sql/full-text-search/text/single/match-in-v2/indexscan.sql 2017-06-01 22:11:25 +0900 (30194e6) +++ sql/full-text-search/text/single/match-in-v2/indexscan.sql 2017-06-04 22:59:33 +0900 (a412f5d) @@ -17,10 +17,10 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT id, content FROM memos - WHERE content &@> Array['rdbms', 'engine']; + WHERE content &@| Array['rdbms', 'engine']; SELECT id, content FROM memos - WHERE content &@> Array['rdbms', 'engine']; + WHERE content &@| Array['rdbms', 'engine']; DROP TABLE memos; Modified: sql/full-text-search/text/single/match-in-v2/seqscan.sql (+1 -1) =================================================================== --- sql/full-text-search/text/single/match-in-v2/seqscan.sql 2017-06-01 22:11:25 +0900 (1897290) +++ sql/full-text-search/text/single/match-in-v2/seqscan.sql 2017-06-04 22:59:33 +0900 (c486ce9) @@ -13,6 +13,6 @@ SET enable_bitmapscan = off; SELECT id, content FROM memos - WHERE content &@> Array['rdbms', 'engine']; + WHERE content &@| Array['rdbms', 'engine']; DROP TABLE memos; Modified: sql/full-text-search/text/single/query-in-v2/bitmapscan.sql (+2 -2) =================================================================== --- sql/full-text-search/text/single/query-in-v2/bitmapscan.sql 2017-06-01 22:11:25 +0900 (d8a732a) +++ sql/full-text-search/text/single/query-in-v2/bitmapscan.sql 2017-06-04 22:59:33 +0900 (79c9345) @@ -17,10 +17,10 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT id, content FROM memos - WHERE content &?> Array['rdbms', 'groonga engine']; + WHERE content &?| Array['rdbms', 'groonga engine']; SELECT id, content FROM memos - WHERE content &?> Array['rdbms', 'groonga engine']; + WHERE content &?| Array['rdbms', 'groonga engine']; DROP TABLE memos; Modified: sql/full-text-search/text/single/query-in-v2/indexscan.sql (+2 -2) =================================================================== --- sql/full-text-search/text/single/query-in-v2/indexscan.sql 2017-06-01 22:11:25 +0900 (9e867c2) +++ sql/full-text-search/text/single/query-in-v2/indexscan.sql 2017-06-04 22:59:33 +0900 (e73b601) @@ -17,10 +17,10 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT id, content FROM memos - WHERE content &?> Array['rdbms', 'groonga engine']; + WHERE content &?| Array['rdbms', 'groonga engine']; SELECT id, content FROM memos - WHERE content &?> Array['rdbms', 'groonga engine']; + WHERE content &?| Array['rdbms', 'groonga engine']; DROP TABLE memos; Modified: sql/full-text-search/text/single/query-in-v2/seqscan.sql (+1 -1) =================================================================== --- sql/full-text-search/text/single/query-in-v2/seqscan.sql 2017-06-01 22:11:25 +0900 (14d34bb) +++ sql/full-text-search/text/single/query-in-v2/seqscan.sql 2017-06-04 22:59:33 +0900 (86f270e) @@ -13,6 +13,6 @@ SET enable_bitmapscan = off; SELECT id, content FROM memos - WHERE content &?> Array['rdbms', 'groonga engine']; + WHERE content &?| Array['rdbms', 'groonga engine']; DROP TABLE memos; Modified: sql/full-text-search/varchar/single/match-in-v2/bitmapscan.sql (+2 -2) =================================================================== --- sql/full-text-search/varchar/single/match-in-v2/bitmapscan.sql 2017-06-01 22:11:25 +0900 (4adddad) +++ sql/full-text-search/varchar/single/match-in-v2/bitmapscan.sql 2017-06-04 22:59:33 +0900 (9a5217b) @@ -17,10 +17,10 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT id, content FROM memos - WHERE content &@> Array['rdbms', 'engine']::varchar[]; + WHERE content &@| Array['rdbms', 'engine']::varchar[]; SELECT id, content FROM memos - WHERE content &@> Array['rdbms', 'engine']::varchar[]; + WHERE content &@| Array['rdbms', 'engine']::varchar[]; DROP TABLE memos; Modified: sql/full-text-search/varchar/single/match-in-v2/indexscan.sql (+2 -2) =================================================================== --- sql/full-text-search/varchar/single/match-in-v2/indexscan.sql 2017-06-01 22:11:25 +0900 (11b1ff3) +++ sql/full-text-search/varchar/single/match-in-v2/indexscan.sql 2017-06-04 22:59:33 +0900 (5fed708) @@ -17,10 +17,10 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT id, content FROM memos - WHERE content &@> Array['rdbms', 'engine']::varchar[]; + WHERE content &@| Array['rdbms', 'engine']::varchar[]; SELECT id, content FROM memos - WHERE content &@> Array['rdbms', 'engine']::varchar[]; + WHERE content &@| Array['rdbms', 'engine']::varchar[]; DROP TABLE memos; Modified: sql/full-text-search/varchar/single/match-in-v2/seqscan.sql (+1 -1) =================================================================== --- sql/full-text-search/varchar/single/match-in-v2/seqscan.sql 2017-06-01 22:11:25 +0900 (6d42cf4) +++ sql/full-text-search/varchar/single/match-in-v2/seqscan.sql 2017-06-04 22:59:33 +0900 (7b76815) @@ -13,6 +13,6 @@ SET enable_bitmapscan = off; SELECT id, content FROM memos - WHERE content &@> Array['rdbms', 'engine']::varchar[]; + WHERE content &@| Array['rdbms', 'engine']::varchar[]; DROP TABLE memos; Modified: sql/full-text-search/varchar/single/query-in-v2/bitmapscan.sql (+2 -2) =================================================================== --- sql/full-text-search/varchar/single/query-in-v2/bitmapscan.sql 2017-06-01 22:11:25 +0900 (bc6dbff) +++ sql/full-text-search/varchar/single/query-in-v2/bitmapscan.sql 2017-06-04 22:59:33 +0900 (82394a3) @@ -17,10 +17,10 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT id, content FROM memos - WHERE content &?> Array['rdbms', 'groonga engine']::varchar[]; + WHERE content &?| Array['rdbms', 'groonga engine']::varchar[]; SELECT id, content FROM memos - WHERE content &?> Array['rdbms', 'groonga engine']::varchar[]; + WHERE content &?| Array['rdbms', 'groonga engine']::varchar[]; DROP TABLE memos; Modified: sql/full-text-search/varchar/single/query-in-v2/indexscan.sql (+2 -2) =================================================================== --- sql/full-text-search/varchar/single/query-in-v2/indexscan.sql 2017-06-01 22:11:25 +0900 (5f5257e) +++ sql/full-text-search/varchar/single/query-in-v2/indexscan.sql 2017-06-04 22:59:33 +0900 (5b6eccb) @@ -17,10 +17,10 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT id, content FROM memos - WHERE content &?> Array['rdbms', 'groonga engine']::varchar[]; + WHERE content &?| Array['rdbms', 'groonga engine']::varchar[]; SELECT id, content FROM memos - WHERE content &?> Array['rdbms', 'groonga engine']::varchar[]; + WHERE content &?| Array['rdbms', 'groonga engine']::varchar[]; DROP TABLE memos; Modified: sql/full-text-search/varchar/single/query-in-v2/seqscan.sql (+1 -1) =================================================================== --- sql/full-text-search/varchar/single/query-in-v2/seqscan.sql 2017-06-01 22:11:25 +0900 (8c3c9db) +++ sql/full-text-search/varchar/single/query-in-v2/seqscan.sql 2017-06-04 22:59:33 +0900 (e5a43a4) @@ -13,6 +13,6 @@ SET enable_bitmapscan = off; SELECT id, content FROM memos - WHERE content &?> Array['rdbms', 'groonga engine']::varchar[]; + WHERE content &?| Array['rdbms', 'groonga engine']::varchar[]; DROP TABLE memos; Copied: sql/term-search/text-array/compatibility/v2/prefix-rk/bitmapscan.sql (+2 -2) 87% =================================================================== --- sql/term-search/text-array/prefix-rk-in/bitmapscan.sql 2017-06-01 22:11:25 +0900 (5a4b4ef) +++ sql/term-search/text-array/compatibility/v2/prefix-rk/bitmapscan.sql 2017-06-04 22:59:33 +0900 (5087be5) @@ -16,10 +16,10 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT katakanas FROM readings - WHERE katakanas &^~> ARRAY['po', 'gu']; + WHERE katakanas &^~> 'p'; SELECT katakanas FROM readings - WHERE katakanas &^~> ARRAY['po', 'gu']; + WHERE katakanas &^~> 'p'; DROP TABLE readings; Copied: sql/term-search/text-array/compatibility/v2/prefix-rk/indexscan.sql (+2 -2) 87% =================================================================== --- sql/term-search/text-array/prefix-rk-in/indexscan.sql 2017-06-01 22:11:25 +0900 (eaa292d) +++ sql/term-search/text-array/compatibility/v2/prefix-rk/indexscan.sql 2017-06-04 22:59:33 +0900 (6faccd9) @@ -16,10 +16,10 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT katakanas FROM readings - WHERE katakanas &^~> ARRAY['po', 'gu']; + WHERE katakanas &^~> 'p'; SELECT katakanas FROM readings - WHERE katakanas &^~> ARRAY['po', 'gu']; + WHERE katakanas &^~> 'p'; DROP TABLE readings; Copied: sql/term-search/text-array/compatibility/v2/prefix-rk/seqscan.sql (+1 -1) 91% =================================================================== --- sql/term-search/text-array/prefix-rk-in/seqscan.sql 2017-06-01 22:11:25 +0900 (8d3aec4) +++ sql/term-search/text-array/compatibility/v2/prefix-rk/seqscan.sql 2017-06-04 22:59:33 +0900 (c16b755) @@ -12,6 +12,6 @@ SET enable_bitmapscan = off; SELECT katakanas FROM readings - WHERE katakanas &^~> ARRAY['po', 'gu']; + WHERE katakanas &^~> 'p'; DROP TABLE readings; Copied: sql/term-search/text-array/compatibility/v2/prefix/bitmapscan.sql (+2 -2) 86% =================================================================== --- sql/term-search/text-array/prefix-in/bitmapscan.sql 2017-06-01 22:11:25 +0900 (d5ba243) +++ sql/term-search/text-array/compatibility/v2/prefix/bitmapscan.sql 2017-06-04 22:59:33 +0900 (fa98c5f) @@ -16,10 +16,10 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT names FROM tags - WHERE names &^> ARRAY['gro', 'pos']; + WHERE names &^> 'pG'; SELECT names FROM tags - WHERE names &^> ARRAY['gro', 'pos']; + WHERE names &^> 'pG'; DROP TABLE tags; Copied: sql/term-search/text-array/compatibility/v2/prefix/indexscan.sql (+2 -2) 86% =================================================================== --- sql/term-search/text-array/prefix-in/indexscan.sql 2017-06-01 22:11:25 +0900 (7caf6b7) +++ sql/term-search/text-array/compatibility/v2/prefix/indexscan.sql 2017-06-04 22:59:33 +0900 (4a5a983) @@ -16,10 +16,10 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT names FROM tags - WHERE names &^> ARRAY['gro', 'pos']; + WHERE names &^> 'pG'; SELECT names FROM tags - WHERE names &^> ARRAY['gro', 'pos']; + WHERE names &^> 'pG'; DROP TABLE tags; Copied: sql/term-search/text-array/compatibility/v2/prefix/seqscan.sql (+1 -1) 89% =================================================================== --- sql/term-search/text-array/prefix-in/seqscan.sql 2017-06-01 22:11:25 +0900 (908adb6) +++ sql/term-search/text-array/compatibility/v2/prefix/seqscan.sql 2017-06-04 22:59:33 +0900 (520d495) @@ -12,6 +12,6 @@ SET enable_bitmapscan = off; SELECT names FROM tags - WHERE names &^> ARRAY['gro', 'pos']; + WHERE names &^> 'pG'; DROP TABLE tags; Modified: sql/term-search/text-array/prefix-in/bitmapscan.sql (+2 -2) =================================================================== --- sql/term-search/text-array/prefix-in/bitmapscan.sql 2017-06-01 22:11:25 +0900 (d5ba243) +++ sql/term-search/text-array/prefix-in/bitmapscan.sql 2017-06-04 22:59:33 +0900 (2a68a5c) @@ -16,10 +16,10 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT names FROM tags - WHERE names &^> ARRAY['gro', 'pos']; + WHERE names &^| ARRAY['gro', 'pos']; SELECT names FROM tags - WHERE names &^> ARRAY['gro', 'pos']; + WHERE names &^| ARRAY['gro', 'pos']; DROP TABLE tags; Modified: sql/term-search/text-array/prefix-in/indexscan.sql (+2 -2) =================================================================== --- sql/term-search/text-array/prefix-in/indexscan.sql 2017-06-01 22:11:25 +0900 (7caf6b7) +++ sql/term-search/text-array/prefix-in/indexscan.sql 2017-06-04 22:59:33 +0900 (a186e5d) @@ -16,10 +16,10 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT names FROM tags - WHERE names &^> ARRAY['gro', 'pos']; + WHERE names &^| ARRAY['gro', 'pos']; SELECT names FROM tags - WHERE names &^> ARRAY['gro', 'pos']; + WHERE names &^| ARRAY['gro', 'pos']; DROP TABLE tags; Modified: sql/term-search/text-array/prefix-in/seqscan.sql (+1 -1) =================================================================== --- sql/term-search/text-array/prefix-in/seqscan.sql 2017-06-01 22:11:25 +0900 (908adb6) +++ sql/term-search/text-array/prefix-in/seqscan.sql 2017-06-04 22:59:33 +0900 (7068778) @@ -12,6 +12,6 @@ SET enable_bitmapscan = off; SELECT names FROM tags - WHERE names &^> ARRAY['gro', 'pos']; + WHERE names &^| ARRAY['gro', 'pos']; DROP TABLE tags; Modified: sql/term-search/text-array/prefix-rk-in/bitmapscan.sql (+2 -2) =================================================================== --- sql/term-search/text-array/prefix-rk-in/bitmapscan.sql 2017-06-01 22:11:25 +0900 (5a4b4ef) +++ sql/term-search/text-array/prefix-rk-in/bitmapscan.sql 2017-06-04 22:59:33 +0900 (a47a893) @@ -16,10 +16,10 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT katakanas FROM readings - WHERE katakanas &^~> ARRAY['po', 'gu']; + WHERE katakanas &^~| ARRAY['po', 'gu']; SELECT katakanas FROM readings - WHERE katakanas &^~> ARRAY['po', 'gu']; + WHERE katakanas &^~| ARRAY['po', 'gu']; DROP TABLE readings; Modified: sql/term-search/text-array/prefix-rk-in/indexscan.sql (+2 -2) =================================================================== --- sql/term-search/text-array/prefix-rk-in/indexscan.sql 2017-06-01 22:11:25 +0900 (eaa292d) +++ sql/term-search/text-array/prefix-rk-in/indexscan.sql 2017-06-04 22:59:33 +0900 (b563ea8) @@ -16,10 +16,10 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT katakanas FROM readings - WHERE katakanas &^~> ARRAY['po', 'gu']; + WHERE katakanas &^~| ARRAY['po', 'gu']; SELECT katakanas FROM readings - WHERE katakanas &^~> ARRAY['po', 'gu']; + WHERE katakanas &^~| ARRAY['po', 'gu']; DROP TABLE readings; Modified: sql/term-search/text-array/prefix-rk-in/seqscan.sql (+1 -1) =================================================================== --- sql/term-search/text-array/prefix-rk-in/seqscan.sql 2017-06-01 22:11:25 +0900 (8d3aec4) +++ sql/term-search/text-array/prefix-rk-in/seqscan.sql 2017-06-04 22:59:33 +0900 (9f4951a) @@ -12,6 +12,6 @@ SET enable_bitmapscan = off; SELECT katakanas FROM readings - WHERE katakanas &^~> ARRAY['po', 'gu']; + WHERE katakanas &^~| ARRAY['po', 'gu']; DROP TABLE readings; Modified: sql/term-search/text/prefix-in/bitmapscan.sql (+2 -2) =================================================================== --- sql/term-search/text/prefix-in/bitmapscan.sql 2017-06-01 22:11:25 +0900 (803b501) +++ sql/term-search/text/prefix-in/bitmapscan.sql 2017-06-04 22:59:33 +0900 (e1d52e1) @@ -17,10 +17,10 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT name FROM tags - WHERE name &^> ARRAY['gro', 'pos']; + WHERE name &^| ARRAY['gro', 'pos']; SELECT name FROM tags - WHERE name &^> ARRAY['gro', 'pos']; + WHERE name &^| ARRAY['gro', 'pos']; DROP TABLE tags; Modified: sql/term-search/text/prefix-in/indexscan.sql (+2 -2) =================================================================== --- sql/term-search/text/prefix-in/indexscan.sql 2017-06-01 22:11:25 +0900 (004d8e8) +++ sql/term-search/text/prefix-in/indexscan.sql 2017-06-04 22:59:33 +0900 (ef80b44) @@ -17,10 +17,10 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT name FROM tags - WHERE name &^> ARRAY['gro', 'pos']; + WHERE name &^| ARRAY['gro', 'pos']; SELECT name FROM tags - WHERE name &^> ARRAY['gro', 'pos']; + WHERE name &^| ARRAY['gro', 'pos']; DROP TABLE tags; Modified: sql/term-search/text/prefix-in/seqscan.sql (+1 -1) =================================================================== --- sql/term-search/text/prefix-in/seqscan.sql 2017-06-01 22:11:25 +0900 (8a57bd1) +++ sql/term-search/text/prefix-in/seqscan.sql 2017-06-04 22:59:33 +0900 (91b6e16) @@ -13,6 +13,6 @@ SET enable_bitmapscan = off; SELECT name FROM tags - WHERE name &^> ARRAY['gro', 'pos']; + WHERE name &^| ARRAY['gro', 'pos']; DROP TABLE tags; Modified: sql/term-search/text/prefix-rk-in/bitmapscan.sql (+2 -2) =================================================================== --- sql/term-search/text/prefix-rk-in/bitmapscan.sql 2017-06-01 22:11:25 +0900 (2428abc) +++ sql/term-search/text/prefix-rk-in/bitmapscan.sql 2017-06-04 22:59:33 +0900 (565b93a) @@ -17,10 +17,10 @@ SET enable_bitmapscan = on; EXPLAIN (COSTS OFF) SELECT katakana FROM readings - WHERE katakana &^~> ARRAY['po', 'gu']; + WHERE katakana &^~| ARRAY['po', 'gu']; SELECT katakana FROM readings - WHERE katakana &^~> ARRAY['po', 'gu']; + WHERE katakana &^~| ARRAY['po', 'gu']; DROP TABLE readings; Modified: sql/term-search/text/prefix-rk-in/indexscan.sql (+2 -2) =================================================================== --- sql/term-search/text/prefix-rk-in/indexscan.sql 2017-06-01 22:11:25 +0900 (4479590) +++ sql/term-search/text/prefix-rk-in/indexscan.sql 2017-06-04 22:59:33 +0900 (1f153fe) @@ -17,10 +17,10 @@ SET enable_bitmapscan = off; EXPLAIN (COSTS OFF) SELECT katakana FROM readings - WHERE katakana &^~> ARRAY['po', 'gu']; + WHERE katakana &^~| ARRAY['po', 'gu']; SELECT katakana FROM readings - WHERE katakana &^~> ARRAY['po', 'gu']; + WHERE katakana &^~| ARRAY['po', 'gu']; DROP TABLE readings; Modified: sql/term-search/text/prefix-rk-in/seqscan.sql (+1 -1) =================================================================== --- sql/term-search/text/prefix-rk-in/seqscan.sql 2017-06-01 22:11:25 +0900 (286d16e) +++ sql/term-search/text/prefix-rk-in/seqscan.sql 2017-06-04 22:59:33 +0900 (d096673) @@ -13,6 +13,6 @@ SET enable_bitmapscan = off; SELECT katakana FROM readings - WHERE katakana &^~> ARRAY['po', 'gu']; + WHERE katakana &^~| ARRAY['po', 'gu']; DROP TABLE readings; Modified: src/pgroonga.c (+27 -1) =================================================================== --- src/pgroonga.c 2017-06-01 22:11:25 +0900 (b68bab4) +++ src/pgroonga.c 2017-06-04 22:59:33 +0900 (82038dc) @@ -784,7 +784,17 @@ PGrnIsQueryInStrategyIndex(Relation index, int nthAttribute) leftType, rightType, PGrnQueryInStrategyV2Number); - return OidIsValid(strategyOID); + if (OidIsValid(strategyOID)) + return true; + + strategyOID = get_opfamily_member(index->rd_opfamily[nthAttribute], + leftType, + rightType, + PGrnQueryInStrategyV2DeprecatedNumber); + if (OidIsValid(strategyOID)) + return true; + + return false; } static bool @@ -880,6 +890,13 @@ PGrnIsForPrefixSearchIndex(Relation index, int nthAttribute) if (OidIsValid(prefixStrategyOID)) return true; + prefixStrategyOID = get_opfamily_member(index->rd_opfamily[nthAttribute], + leftType, + rightType, + PGrnPrefixStrategyV2DeprecatedNumber); + if (OidIsValid(prefixStrategyOID)) + return true; + prefixInStrategyOID = get_opfamily_member(index->rd_opfamily[nthAttribute], leftType, @@ -3314,7 +3331,9 @@ PGrnSearchBuildCondition(Relation index, case PGrnPrefixInStrategyV2Number: case PGrnPrefixRKInStrategyV2Number: case PGrnQueryInStrategyV2Number: + case PGrnQueryInStrategyV2DeprecatedNumber: case PGrnMatchInStrategyV2Number: + case PGrnMatchInStrategyV2DeprecatedNumber: switch (valueTypeID) { case VARCHAROID: @@ -3373,10 +3392,12 @@ PGrnSearchBuildCondition(Relation index, case PGrnScriptStrategyV2Number: break; case PGrnPrefixStrategyV2Number: + case PGrnPrefixStrategyV2DeprecatedNumber: case PGrnPrefixInStrategyV2Number: operator = GRN_OP_PREFIX; break; case PGrnPrefixRKStrategyV2Number: + case PGrnPrefixRKStrategyV2DeprecatedNumber: case PGrnPrefixRKInStrategyV2Number: break; case PGrnRegexpStrategyNumber: @@ -3384,8 +3405,10 @@ PGrnSearchBuildCondition(Relation index, operator = GRN_OP_REGEXP; break; case PGrnQueryInStrategyV2Number: + case PGrnQueryInStrategyV2DeprecatedNumber: break; case PGrnMatchInStrategyV2Number: + case PGrnMatchInStrategyV2DeprecatedNumber: operator = GRN_OP_MATCH; break; case PGrnContainStrategyV2Number: @@ -3432,6 +3455,7 @@ PGrnSearchBuildCondition(Relation index, GRN_TEXT_LEN(&(buffers->general))); break; case PGrnPrefixRKStrategyV2Number: + case PGrnPrefixRKStrategyV2DeprecatedNumber: PGrnSearchBuildConditionPrefixRK(data, targetColumn, GRN_TEXT_VALUE(&(buffers->general)), @@ -3460,6 +3484,7 @@ PGrnSearchBuildCondition(Relation index, break; } case PGrnQueryInStrategyV2Number: + case PGrnQueryInStrategyV2DeprecatedNumber: { grn_obj *queries = &(buffers->general); unsigned int i, n; @@ -3483,6 +3508,7 @@ PGrnSearchBuildCondition(Relation index, } case PGrnPrefixInStrategyV2Number: case PGrnMatchInStrategyV2Number: + case PGrnMatchInStrategyV2DeprecatedNumber: { grn_obj *keywords = &(buffers->general); grn_obj keywordBuffer; Modified: src/pgroonga.h (+13 -5) =================================================================== --- src/pgroonga.h 2017-06-01 22:11:25 +0900 (695fca8) +++ src/pgroonga.h 2017-06-04 22:59:33 +0900 (f692f9d) @@ -30,14 +30,22 @@ #define PGrnScriptStrategyV2Number 15 /* operator &` (script in Groonga) */ #define PGrnPrefixStrategyV2Number 16 /* operator &^ (prefix search) */ #define PGrnPrefixRKStrategyV2Number 17 /* operator &^~ (prefix RK search) */ -#define PGrnMatchInStrategyV2Number 18 /* operator &@> (@ in Groonga) */ -#define PGrnQueryInStrategyV2Number 19 /* operator &?> (query in Groonga) */ -#define PGrnPrefixInStrategyV2Number 20 /* operator &^> (prefix search) */ -#define PGrnPrefixRKInStrategyV2Number 21 /* operator &^~> (prefix RK search) */ +#define PGrnMatchInStrategyV2Number 18 /* operator &@| (multiple conditions of @ in Groonga) */ +#define PGrnQueryInStrategyV2Number 19 /* operator &?| (multiple conditions of query in Groonga) */ +#define PGrnPrefixInStrategyV2Number 20 /* operator &^| (multiple conditions of prefix search) */ +#define PGrnPrefixRKInStrategyV2Number 21 /* operator &^~| (multiple conditions of prefix RK search) */ #define PGrnRegexpStrategyV2Number 22 /* operator &~ (@~ in Groonga) */ #define PGrnContainStrategyV2Number 23 /* operator &> (@ for vector in Groonga) */ +/* operator &^> (prefix search against text[]). Deprecated since 1.2.1. */ +#define PGrnPrefixStrategyV2DeprecatedNumber 24 +/* operator &^~> (prefix RK search against text[]). Deprecated since 1.2.1. */ +#define PGrnPrefixRKStrategyV2DeprecatedNumber 25 +/* operator &@> (multiple conditions of @ in Groonga). Deprecated since 1.2.1. */ +#define PGrnMatchInStrategyV2DeprecatedNumber 26 +/* operator &?> (multiple conditions of query in Groonga). Deprecated since 1.2.1. */ +#define PGrnQueryInStrategyV2DeprecatedNumber 27 -#define PGRN_N_STRATEGIES PGrnContainStrategyV2Number +#define PGRN_N_STRATEGIES PGrnQueryInStrategyV2DeprecatedNumber /* file and table names */ #define PGrnLogPathDefault "pgroonga.log"