This is an automated email from the ASF dual-hosted git repository.

twice pushed a commit to branch unstable
in repository https://gitbox.apache.org/repos/asf/kvrocks.git


The following commit(s) were added to refs/heads/unstable by this push:
     new 64de844c feat(search): add TAGGED as an alternative syntax to HASTAG 
(#2692)
64de844c is described below

commit 64de844c08d5cd03ea733ea0af64dedc5956f9b9
Author: Twice <[email protected]>
AuthorDate: Thu Dec 12 19:38:36 2024 +0800

    feat(search): add TAGGED as an alternative syntax to HASTAG (#2692)
    
    Signed-off-by: PragmaTwice <[email protected]>
---
 src/search/README.md             | 1 +
 src/search/sql_parser.h          | 3 ++-
 tests/cppunit/sql_parser_test.cc | 1 +
 3 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/search/README.md b/src/search/README.md
index 022ec750..1fb4bbbe 100644
--- a/src/search/README.md
+++ b/src/search/README.md
@@ -32,3 +32,4 @@ Note that when interacting with users, we also refer to KQIR 
as *Kvrocks Search*
 
 - [KQIR: a query engine for Apache Kvrocks that supports both SQL and 
RediSearch queries](https://kvrocks.apache.org/blog/kqir-query-engine)
 - [Index encoding format for Kvrocks 
Search](https://kvrocks.apache.org/community/kvrocks-search-index-encoding)
+- [User documentation of Kvrocks 
Search](https://kvrocks.apache.org/docs/kvrocks-search)
diff --git a/src/search/sql_parser.h b/src/search/sql_parser.h
index 751b0b47..f90195bd 100644
--- a/src/search/sql_parser.h
+++ b/src/search/sql_parser.h
@@ -35,7 +35,8 @@ struct StringOrParam : sor<StringL, Param> {};
 struct NumberOrParam : sor<Number, Param> {};
 
 struct HasTag : string<'h', 'a', 's', 't', 'a', 'g'> {};
-struct HasTagExpr : WSPad<seq<Identifier, WSPad<HasTag>, StringOrParam>> {};
+struct Tagged : string<'t', 'a', 'g', 'g', 'e', 'd'> {};
+struct HasTagExpr : WSPad<seq<Identifier, WSPad<sor<HasTag, Tagged>>, 
StringOrParam>> {};
 
 struct NumericAtomExpr : WSPad<sor<NumberOrParam, Identifier>> {};
 struct NumericCompareOp : sor<string<'!', '='>, string<'<', '='>, string<'>', 
'='>, one<'=', '<', '>'>> {};
diff --git a/tests/cppunit/sql_parser_test.cc b/tests/cppunit/sql_parser_test.cc
index 9173d4c3..e7a47121 100644
--- a/tests/cppunit/sql_parser_test.cc
+++ b/tests/cppunit/sql_parser_test.cc
@@ -117,6 +117,7 @@ TEST(SQLParserTest, Simple) {
   AssertIR(Parse("select a from b where y > 2"), "select a from b where y > 
2");
   AssertIR(Parse("select a from b where 3 >= z"), "select a from b where z <= 
3");
   AssertIR(Parse("select a from b where x hastag \"hi\""), "select a from b 
where x hastag \"hi\"");
+  AssertIR(Parse("select a from b where x tagged \"hi\""), "select a from b 
where x hastag \"hi\"");
   AssertIR(Parse(R"(select a from b where x hastag "a\nb")"), R"(select a from 
b where x hastag "a\nb")");
   AssertIR(Parse(R"(select a from b where x hastag "")"), R"(select a from b 
where x hastag "")");
   AssertIR(Parse(R"(select a from b where x hastag "hello ,  hi")"), R"(select 
a from b where x hastag "hello ,  hi")");

Reply via email to