diff --git a/src/ast/operator.rs b/src/ast/operator.rs index 3c4f192e3..54c5cf510 100644 --- a/src/ast/operator.rs +++ b/src/ast/operator.rs @@ -240,6 +240,18 @@ pub enum BinaryOperator { /// See [CREATE OPERATOR](https://www.postgresql.org/docs/current/sql-createoperator.html) /// for more information. PGCustomBinaryOperator(Vec), + /// PGroonga Full text search by a keyword operator, e.g. `a &@ b` (PGroonga-specific. See ) + PGroongaFullTextSearch, + /// PGroonga Full text search by easy to use query language operator, e.g. `a &@~ b` (PGroonga-specific. See ) + PGroongaEasyQuerySearch, + /// PGroonga Similar search operator, e.g. `a &@* b` (PGroonga-specific. See ) + PGroongaSimilarSearch, + /// PGroonga Advanced search by ECMAScript like query language operator, e.g. `a &` b` (PGroonga-specific. See ) + PGroongaAdvancedSearch, + /// PGroonga Full text search by an array of keywords operator, e.g. `a &@| b` (PGroonga-specific. See ) + PGroongaArrayKeywordSearch, + /// PGroonga Full text search by an array of queries in easy to use query language operator, e.g. `a &@~| b` (PGroonga-specific. See ) + PGroongaArrayQuerySearch, } impl fmt::Display for BinaryOperator { @@ -295,7 +307,13 @@ impl fmt::Display for BinaryOperator { BinaryOperator::QuestionPipe => f.write_str("?|"), BinaryOperator::PGCustomBinaryOperator(idents) => { write!(f, "OPERATOR({})", display_separated(idents, ".")) - } + }, + BinaryOperator::PGroongaFullTextSearch => f.write_str("&@"), + BinaryOperator::PGroongaEasyQuerySearch => f.write_str("&@~"), + BinaryOperator::PGroongaSimilarSearch => f.write_str("&@*"), + BinaryOperator::PGroongaAdvancedSearch => f.write_str("&`"), + BinaryOperator::PGroongaArrayKeywordSearch => f.write_str("&@|"), + BinaryOperator::PGroongaArrayQuerySearch => f.write_str("&@~|"), } } }