@@ -188,6 +188,148 @@ _ (empty) false true false true
188
188
NULL NULL NULL NULL NULL NULL
189
189
NULL NULL NULL NULL NULL NULL
190
190
191
+ # --------------------------------------
192
+ # dynamic LIKE as filter
193
+ # --------------------------------------
194
+
195
+ query TTT rowsort
196
+ SELECT ascii_1, 'is LIKE', ascii_2 FROM test_basic_operator WHERE ascii_1 LIKE ascii_2
197
+ UNION ALL
198
+ SELECT ascii_1, 'is NOT LIKE', ascii_2 FROM test_basic_operator WHERE ascii_1 NOT LIKE ascii_2
199
+ UNION ALL
200
+ SELECT unicode_1, 'is LIKE', ascii_2 FROM test_basic_operator WHERE unicode_1 LIKE ascii_2
201
+ UNION ALL
202
+ SELECT unicode_1, 'is NOT LIKE', ascii_2 FROM test_basic_operator WHERE unicode_1 NOT LIKE ascii_2
203
+ UNION ALL
204
+ SELECT unicode_2, 'is LIKE', ascii_2 FROM test_basic_operator WHERE unicode_2 LIKE ascii_2
205
+ UNION ALL
206
+ SELECT unicode_2, 'is NOT LIKE', ascii_2 FROM test_basic_operator WHERE unicode_2 NOT LIKE ascii_2
207
+ ----
208
+ % is LIKE \%
209
+ (empty) is LIKE %
210
+ (empty) is LIKE %
211
+ (empty) is LIKE %
212
+ (empty) is LIKE %%
213
+ (empty) is LIKE %%
214
+ (empty) is LIKE %%
215
+ (empty) is NOT LIKE \%
216
+ (empty) is NOT LIKE \%
217
+ (empty) is NOT LIKE \_
218
+ (empty) is NOT LIKE \_
219
+ Andrew is NOT LIKE X
220
+ Pan Tadeusz ma frunąć stąd w kąt is NOT LIKE p%t
221
+ Raphael is NOT LIKE R
222
+ Xiangpeng is LIKE Xiangpeng
223
+ _ is LIKE \_
224
+ chrząszcz na łące w 東京都 is NOT LIKE un_____core
225
+ datafusionДатаФусион is NOT LIKE R
226
+ datafusion数据融合 is NOT LIKE Xiangpeng
227
+ datafusion数据融合 is NOT LIKE Xiangpeng
228
+ datafusion📊🔥 is NOT LIKE X
229
+ pan Tadeusz ma iść w kąt is LIKE p%t
230
+ percent is LIKE p%t
231
+ un iść core is LIKE un_____core
232
+ under_score is LIKE un_____core
233
+ аФус is NOT LIKE R
234
+ 🔥 is NOT LIKE R
235
+ 🔥 is NOT LIKE X
236
+
237
+ # --------------------------------------
238
+ # dynamic LIKE as projection
239
+ # --------------------------------------
240
+
241
+ query TTTTBBBB rowsort
242
+ SELECT
243
+ ascii_1, ascii_2, unicode_1, unicode_2,
244
+ (ascii_1 LIKE ascii_2) AS ascii_1_like_ascii_2,
245
+ (ascii_2 LIKE ascii_1) AS ascii_2_like_ascii_1,
246
+ (unicode_1 LIKE ascii_2) AS unicode_1_like_ascii_2,
247
+ (unicode_2 LIKE ascii_2) AS unicode_2_like_ascii_2
248
+ FROM test_basic_operator
249
+ ----
250
+ % \% (empty) (empty) true true false false
251
+ (empty) % (empty) (empty) true false true true
252
+ (empty) %% (empty) (empty) true false true true
253
+ Andrew X datafusion📊🔥 🔥 false false false false
254
+ NULL % NULL NULL NULL NULL NULL NULL
255
+ NULL R NULL 🔥 NULL NULL NULL false
256
+ Raphael R datafusionДатаФусион аФус false false false false
257
+ Xiangpeng Xiangpeng datafusion数据融合 datafusion数据融合 true true false false
258
+ _ \_ (empty) (empty) true false false false
259
+ percent p%t pan Tadeusz ma iść w kąt Pan Tadeusz ma frunąć stąd w kąt true false true false
260
+ under_score un_____core un iść core chrząszcz na łące w 東京都 true false true false
261
+
262
+ # --------------------------------------
263
+ # dynamic ILIKE as filter
264
+ # --------------------------------------
265
+
266
+ query TTT rowsort
267
+ SELECT ascii_1, 'is ILIKE', ascii_2 FROM test_basic_operator WHERE ascii_1 ILIKE ascii_2
268
+ UNION ALL
269
+ SELECT ascii_1, 'is NOT ILIKE', ascii_2 FROM test_basic_operator WHERE ascii_1 NOT ILIKE ascii_2
270
+ UNION ALL
271
+ SELECT unicode_1, 'is ILIKE', ascii_2 FROM test_basic_operator WHERE unicode_1 ILIKE ascii_2
272
+ UNION ALL
273
+ SELECT unicode_1, 'is NOT ILIKE', ascii_2 FROM test_basic_operator WHERE unicode_1 NOT ILIKE ascii_2
274
+ UNION ALL
275
+ SELECT unicode_2, 'is ILIKE', ascii_2 FROM test_basic_operator WHERE unicode_2 ILIKE ascii_2
276
+ UNION ALL
277
+ SELECT unicode_2, 'is NOT ILIKE', ascii_2 FROM test_basic_operator WHERE unicode_2 NOT ILIKE ascii_2
278
+ ----
279
+ % is ILIKE \%
280
+ (empty) is ILIKE %
281
+ (empty) is ILIKE %
282
+ (empty) is ILIKE %
283
+ (empty) is ILIKE %%
284
+ (empty) is ILIKE %%
285
+ (empty) is ILIKE %%
286
+ (empty) is NOT ILIKE \%
287
+ (empty) is NOT ILIKE \%
288
+ (empty) is NOT ILIKE \_
289
+ (empty) is NOT ILIKE \_
290
+ Andrew is NOT ILIKE X
291
+ Pan Tadeusz ma frunąć stąd w kąt is ILIKE p%t
292
+ Raphael is NOT ILIKE R
293
+ Xiangpeng is ILIKE Xiangpeng
294
+ _ is ILIKE \_
295
+ chrząszcz na łące w 東京都 is NOT ILIKE un_____core
296
+ datafusionДатаФусион is NOT ILIKE R
297
+ datafusion数据融合 is NOT ILIKE Xiangpeng
298
+ datafusion数据融合 is NOT ILIKE Xiangpeng
299
+ datafusion📊🔥 is NOT ILIKE X
300
+ pan Tadeusz ma iść w kąt is ILIKE p%t
301
+ percent is ILIKE p%t
302
+ un iść core is ILIKE un_____core
303
+ under_score is ILIKE un_____core
304
+ аФус is NOT ILIKE R
305
+ 🔥 is NOT ILIKE R
306
+ 🔥 is NOT ILIKE X
307
+
308
+ # --------------------------------------
309
+ # dynamic ILIKE as projection
310
+ # --------------------------------------
311
+ query TTTTBBBB rowsort
312
+ SELECT
313
+ ascii_1, ascii_2, unicode_1, unicode_2,
314
+ (ascii_1 ILIKE ascii_2) AS ascii_1_ilike_ascii_2,
315
+ (ascii_2 ILIKE ascii_1) AS ascii_2_ilike_ascii_1,
316
+ (unicode_1 ILIKE ascii_2) AS unicode_1_ilike_ascii_2,
317
+ (unicode_2 ILIKE ascii_2) AS unicode_2_ilike_ascii_2
318
+ FROM test_basic_operator
319
+ ----
320
+ % \% (empty) (empty) true true false false
321
+ (empty) % (empty) (empty) true false true true
322
+ (empty) %% (empty) (empty) true false true true
323
+ Andrew X datafusion📊🔥 🔥 false false false false
324
+ NULL % NULL NULL NULL NULL NULL NULL
325
+ NULL R NULL 🔥 NULL NULL NULL false
326
+ Raphael R datafusionДатаФусион аФус false false false false
327
+ Xiangpeng Xiangpeng datafusion数据融合 datafusion数据融合 true true false false
328
+ _ \_ (empty) (empty) true false false false
329
+ percent p%t pan Tadeusz ma iść w kąt Pan Tadeusz ma frunąć stąd w kąt true false true true
330
+ under_score un_____core un iść core chrząszcz na łące w 東京都 true false true false
331
+
332
+
191
333
# --------------------------------------
192
334
# substr function
193
335
# --------------------------------------
0 commit comments