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

mhubail pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 82b067c  [ASTERIXDB-2633][FUN] Fix LIKE to regex translation
     new cbfeef8  Merge commit '82b067c' from stabilization-f69489
82b067c is described below

commit 82b067cf0ac6c122802006e2220504e0176cdbc2
Author: Till Westmann <[email protected]>
AuthorDate: Wed Sep 11 21:08:47 2019 -0700

    [ASTERIXDB-2633][FUN] Fix LIKE to regex translation
    
    - user model changes: no
    - storage format changes: no
    - interface changes: no
    
    Change-Id: I6138f62fdcd60bcc641f662d1fdb05b46dafbebf
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/3558
    Tested-by: Jenkins <[email protected]>
    Integration-Tests: Jenkins <[email protected]>
    Reviewed-by: Murtadha Hubail <[email protected]>
---
 .../runtimets/queries/string/like_01/like_01.3.query.aql       |  2 +-
 .../queries_sqlpp/string/like_01/like_01.3.query.sqlpp         |  8 ++++++--
 .../resources/runtimets/results/string/like_01/like_01.1.adm   |  2 +-
 .../results_parser_sqlpp/string/like_01/like_01.3.ast          | 10 ++++++++++
 .../runtime/evaluators/functions/StringEvaluatorUtils.java     |  3 ++-
 5 files changed, 20 insertions(+), 5 deletions(-)

diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/queries/string/like_01/like_01.3.query.aql
 
b/asterixdb/asterix-app/src/test/resources/runtimets/queries/string/like_01/like_01.3.query.aql
index 2f6ccbd..608d184 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/queries/string/like_01/like_01.3.query.aql
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/queries/string/like_01/like_01.3.query.aql
@@ -18,4 +18,4 @@
  */
 use dataverse test;
 
-[like("A6BBB", "_6%"), like("A8BBB", "_6%")]
+[like("A6BBB", "_6%"), like("A8BBB", "_6%"), like("+0300", "+03%"), 
like("?0300", "?03%")]
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/string/like_01/like_01.3.query.sqlpp
 
b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/string/like_01/like_01.3.query.sqlpp
index fa4a4e0..c0994c1 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/string/like_01/like_01.3.query.sqlpp
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/string/like_01/like_01.3.query.sqlpp
@@ -19,5 +19,9 @@
 
 use test;
 
-
-select element ['A6BBB' LIKE '_6%', 'A8BBB' LIKE '_6%' ];
+select element [
+  'A6BBB' LIKE '_6%',
+  'A8BBB' LIKE '_6%',
+  '+0300' like "+03%",
+  "?0300" like '?03%'
+];
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/string/like_01/like_01.1.adm
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/string/like_01/like_01.1.adm
index 984d066..95f3f50 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/string/like_01/like_01.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/string/like_01/like_01.1.adm
@@ -1 +1 @@
-[ true, false ]
+[ true, false, true, true ]
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/string/like_01/like_01.3.ast
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/string/like_01/like_01.3.ast
index ee361dd..ac04a07 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/string/like_01/like_01.3.ast
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/string/like_01/like_01.3.ast
@@ -12,5 +12,15 @@ OrderedListConstructor [
     like
     LiteralExpr [STRING] [_6%]
   ]
+  OperatorExpr [
+    LiteralExpr [STRING] [+0300]
+    like
+    LiteralExpr [STRING] [+03%]
+  ]
+  OperatorExpr [
+    LiteralExpr [STRING] [?0300]
+    like
+    LiteralExpr [STRING] [?03%]
+  ]
 ]
 ]
diff --git 
a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/StringEvaluatorUtils.java
 
b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/StringEvaluatorUtils.java
index 7abc721..9c2076d 100644
--- 
a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/StringEvaluatorUtils.java
+++ 
b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/StringEvaluatorUtils.java
@@ -57,7 +57,8 @@ public class StringEvaluatorUtils {
         return destString;
     }
 
-    static char[] reservedRegexChars = new char[] { '\\', '(', ')', '[', ']', 
'{', '}', '.', '^', '$', '*', '|' };
+    static char[] reservedRegexChars =
+            new char[] { '\\', '(', ')', '[', ']', '{', '}', '.', '^', '$', 
'*', '|', '+', '?' };
 
     static {
         Arrays.sort(reservedRegexChars);

Reply via email to