From fa9829d4af01a82b79aadd2097c694f783299fba Mon Sep 17 00:00:00 2001 From: Maximilian Roos Date: Sat, 6 May 2023 19:31:24 -0700 Subject: [PATCH 1/2] feat: Add custom operator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From #863 - It doesn't parse anything — I'm not sure how to parse ` SELECT 'a' REGEXP '^[a-d]';` with `REGEXP` as the operator... (but fine for my narrow purpose) - If we need tests, where would I add them? --- src/ast/operator.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ast/operator.rs b/src/ast/operator.rs index 75877c949..2981799d5 100644 --- a/src/ast/operator.rs +++ b/src/ast/operator.rs @@ -85,6 +85,7 @@ pub enum BinaryOperator { BitwiseOr, BitwiseAnd, BitwiseXor, + Custom(String), PGBitwiseXor, PGBitwiseShiftLeft, PGBitwiseShiftRight, @@ -122,6 +123,7 @@ impl fmt::Display for BinaryOperator { BinaryOperator::BitwiseOr => f.write_str("|"), BinaryOperator::BitwiseAnd => f.write_str("&"), BinaryOperator::BitwiseXor => f.write_str("^"), + BinaryOperator::Custom(s) => f.write_str(s), BinaryOperator::PGBitwiseXor => f.write_str("#"), BinaryOperator::PGBitwiseShiftLeft => f.write_str("<<"), BinaryOperator::PGBitwiseShiftRight => f.write_str(">>"), From 924e6905e8e6a037a548ce4922b3146d633ae4fe Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Wed, 17 May 2023 13:07:14 -0400 Subject: [PATCH 2/2] Update src/ast/operator.rs --- src/ast/operator.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ast/operator.rs b/src/ast/operator.rs index 2981799d5..14d91362c 100644 --- a/src/ast/operator.rs +++ b/src/ast/operator.rs @@ -85,6 +85,7 @@ pub enum BinaryOperator { BitwiseOr, BitwiseAnd, BitwiseXor, + /// Support for custom operators (built by parsers outside this crate) Custom(String), PGBitwiseXor, PGBitwiseShiftLeft,