aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/tests/sql/suites/like
diff options
context:
space:
mode:
authorMaxim Yurchuk <maxim-yurchuk@ydb.tech>2024-11-20 17:37:57 +0000
committerGitHub <noreply@github.com>2024-11-20 17:37:57 +0000
commitf76323e9b295c15751e51e3443aa47a36bee8023 (patch)
tree4113c8cad473a33e0f746966e0cf087252fa1d7a /yql/essentials/tests/sql/suites/like
parent753ecb8d410a4cb459c26f3a0082fb2d1724fe63 (diff)
parenta7b9a6afea2a9d7a7bfac4c5eb4c1a8e60adb9e6 (diff)
downloadydb-f76323e9b295c15751e51e3443aa47a36bee8023.tar.gz
Merge pull request #11788 from ydb-platform/mergelibs-241120-1113
Library import 241120-1113
Diffstat (limited to 'yql/essentials/tests/sql/suites/like')
-rw-r--r--yql/essentials/tests/sql/suites/like/default.cfg2
-rw-r--r--yql/essentials/tests/sql/suites/like/ilike_clause.sql2
-rw-r--r--yql/essentials/tests/sql/suites/like/input.txt4
-rw-r--r--yql/essentials/tests/sql/suites/like/like_clause.sql2
-rw-r--r--yql/essentials/tests/sql/suites/like/like_clause_escape.sql5
-rw-r--r--yql/essentials/tests/sql/suites/like/like_clause_no_pattern.sql9
-rw-r--r--yql/essentials/tests/sql/suites/like/like_escape.sql1
-rw-r--r--yql/essentials/tests/sql/suites/like/like_multiline.sql3
-rw-r--r--yql/essentials/tests/sql/suites/like/like_rewrite.sql11
-rw-r--r--yql/essentials/tests/sql/suites/like/regexp_clause.cfg5
-rw-r--r--yql/essentials/tests/sql/suites/like/regexp_clause.sql4
11 files changed, 48 insertions, 0 deletions
diff --git a/yql/essentials/tests/sql/suites/like/default.cfg b/yql/essentials/tests/sql/suites/like/default.cfg
new file mode 100644
index 0000000000..e300a83153
--- /dev/null
+++ b/yql/essentials/tests/sql/suites/like/default.cfg
@@ -0,0 +1,2 @@
+in Input input.txt
+udf re2_udf
diff --git a/yql/essentials/tests/sql/suites/like/ilike_clause.sql b/yql/essentials/tests/sql/suites/like/ilike_clause.sql
new file mode 100644
index 0000000000..42bb62c45e
--- /dev/null
+++ b/yql/essentials/tests/sql/suites/like/ilike_clause.sql
@@ -0,0 +1,2 @@
+select key, subkey, value from plato.Input
+where value ilike "q_Z" or value ilike "%Q";
diff --git a/yql/essentials/tests/sql/suites/like/input.txt b/yql/essentials/tests/sql/suites/like/input.txt
new file mode 100644
index 0000000000..65949ea745
--- /dev/null
+++ b/yql/essentials/tests/sql/suites/like/input.txt
@@ -0,0 +1,4 @@
+{"key"="075";"subkey"="1";"value"="abc"};
+{"key"="800";"subkey"="2";"value"="ddd"};
+{"key"="020";"subkey"="3";"value"="q"};
+{"key"="150";"subkey"="4";"value"="qzz"};
diff --git a/yql/essentials/tests/sql/suites/like/like_clause.sql b/yql/essentials/tests/sql/suites/like/like_clause.sql
new file mode 100644
index 0000000000..4e190d1a05
--- /dev/null
+++ b/yql/essentials/tests/sql/suites/like/like_clause.sql
@@ -0,0 +1,2 @@
+select key, subkey, value from plato.Input
+where value like "q_z" or value like "%q"; \ No newline at end of file
diff --git a/yql/essentials/tests/sql/suites/like/like_clause_escape.sql b/yql/essentials/tests/sql/suites/like/like_clause_escape.sql
new file mode 100644
index 0000000000..9f7f67fb36
--- /dev/null
+++ b/yql/essentials/tests/sql/suites/like/like_clause_escape.sql
@@ -0,0 +1,5 @@
+select key, subkey, value from plato.Input
+where
+value like "!%z" escape "!" or
+value || "_" like "_?_" escape "?" or
+value || "!" like "ddd!!" escape "!"; \ No newline at end of file
diff --git a/yql/essentials/tests/sql/suites/like/like_clause_no_pattern.sql b/yql/essentials/tests/sql/suites/like/like_clause_no_pattern.sql
new file mode 100644
index 0000000000..59e13dafdf
--- /dev/null
+++ b/yql/essentials/tests/sql/suites/like/like_clause_no_pattern.sql
@@ -0,0 +1,9 @@
+select
+ value,
+ case when
+ value like "abc"
+ then "true"
+ else "false"
+ end as is_abc
+from plato.Input
+order by is_abc desc, value asc; \ No newline at end of file
diff --git a/yql/essentials/tests/sql/suites/like/like_escape.sql b/yql/essentials/tests/sql/suites/like/like_escape.sql
new file mode 100644
index 0000000000..f65d53be35
--- /dev/null
+++ b/yql/essentials/tests/sql/suites/like/like_escape.sql
@@ -0,0 +1 @@
+SELECT 'hawkeye' LIKE 'h%' ESCAPE '#' AS shouldTrue;
diff --git a/yql/essentials/tests/sql/suites/like/like_multiline.sql b/yql/essentials/tests/sql/suites/like/like_multiline.sql
new file mode 100644
index 0000000000..f514a3bf14
--- /dev/null
+++ b/yql/essentials/tests/sql/suites/like/like_multiline.sql
@@ -0,0 +1,3 @@
+SELECT
+"abc\ndef" LIKE "%f" AS match,
+"abc\ndef" LIKE "%a" AS no_match;
diff --git a/yql/essentials/tests/sql/suites/like/like_rewrite.sql b/yql/essentials/tests/sql/suites/like/like_rewrite.sql
new file mode 100644
index 0000000000..551e307ef8
--- /dev/null
+++ b/yql/essentials/tests/sql/suites/like/like_rewrite.sql
@@ -0,0 +1,11 @@
+PRAGMA AnsiLike;
+
+SELECT
+ 'abc' like '%%%%%',
+ 'qqq' like '%q%',
+ 'qqq' like '%q%q%q%',
+ 'def' like '%f',
+ 'def' like '%%%f',
+ 'foo' like 'foo%foo',
+ 'foofoo' like 'foo%%foo',
+ 'abcxzfoo' like '%x_foo',
diff --git a/yql/essentials/tests/sql/suites/like/regexp_clause.cfg b/yql/essentials/tests/sql/suites/like/regexp_clause.cfg
new file mode 100644
index 0000000000..93eff5b6bc
--- /dev/null
+++ b/yql/essentials/tests/sql/suites/like/regexp_clause.cfg
@@ -0,0 +1,5 @@
+in Input input.txt
+in Input2 input2.txt
+in Input3 input3.txt
+udf re2_udf
+udf pire_udf
diff --git a/yql/essentials/tests/sql/suites/like/regexp_clause.sql b/yql/essentials/tests/sql/suites/like/regexp_clause.sql
new file mode 100644
index 0000000000..648029051d
--- /dev/null
+++ b/yql/essentials/tests/sql/suites/like/regexp_clause.sql
@@ -0,0 +1,4 @@
+/* postgres can not */
+/* syntax version 1 */
+select key, subkey, value from plato.Input
+where value regexp "^a";