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);