From 107ff706aa13b8d988c3d17de85b58641afa44d3 Mon Sep 17 00:00:00 2001 From: zanmato1984 Date: Fri, 13 Aug 2021 21:30:55 +0800 Subject: [PATCH] Update function list pushed down to tiflash --- tiflash/use-tiflash.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tiflash/use-tiflash.md b/tiflash/use-tiflash.md index 57a7663591fac..8dfbb3ac913e5 100644 --- a/tiflash/use-tiflash.md +++ b/tiflash/use-tiflash.md @@ -242,14 +242,15 @@ In TiDB, operators are organized in a tree structure. For an operator to be push Currently, TiFlash supports the following push-down expressions: -* Mathematical functions: `+, -, /, *, >=, <=, =, !=, <, >, round(int), round(double), abs, floor(int), ceil(int), ceiling(int)` -* Logical functions: `and, or, not, case when, if, ifnull, isnull, in` +* Mathematical functions: `+, -, /, *, %, >=, <=, =, !=, <, >, round(int), round(double), round(decimal), abs, floor(int), ceil(int), ceiling(int), sqrt, log, log2, log10, ln, exp, pow, sign, radians, degrees, conv, crc32` +* Logical functions: `and, or, not, case when, if, ifnull, isnull, in, like, coalesce` * Bitwise operations: `bitand, bitor, bigneg, bitxor` -* String functions: `substr, char_length, replace, concat, concat_ws, left, right` -* Date functions: `date_format, timestampdiff, from_unixtime, unix_timestamp(int), unix_timestamp(decimal), str_to_date(date), str_to_date(datetime), date_add(string, int), date_add(datetime, int), date_sub(datetime, int), date_sub(string, int), datediff, year, month, day, extract(datetime)` +* String functions: `substr, char_length, replace, concat, concat_ws, left, right, ascii, length, trim, position` +* Date functions: `date_format, timestampdiff, from_unixtime, unix_timestamp(int), unix_timestamp(decimal), str_to_date(date), str_to_date(datetime), date_add(datetime, int), date_add(string, int), date_add(string, real), date_sub(datetime, int), date_sub(string, int), datediff, year, month, day, extract(datetime), date` * JSON function: `json_length` * Conversion functions: `cast(int as double), cast(int as decimal), cast(int as string), cast(int as time), cast(double as int), cast(double as decimal), cast(double as string), cast(double as time), cast(string as int), cast(string as double), cast(string as decimal), cast(string as time), cast(decimal as int), cast(decimal as string), cast(decimal as time), cast(time as int), cast(time as decimal), cast(time as string)` * Aggregate functions: `min, max, sum, count, avg, approx_count_distinct` +* Miscellaneous functions: `inetntoa, inetaton, inet6ntoa, inet6aton` Among them, the push-down of `cast` and `date_add` is not enabled by default. To enable it, refer to [Blocklist of Optimization Rules and Expression Pushdown](/blocklist-control-plan.md).