pingcap/tidb

Enable more expressions to be pushdown to TiKV

Open

#26,954 opened on Aug 6, 2021

View on GitHub
 (5 comments) (0 reactions) (0 assignees)Go (40,090 stars) (6,186 forks)batch import
component/jsonhelp wantedsig/executiontype/enhancement

Description

Enhancement

There are some expressions that has been implemented in TiKV copr but the push down is not enabled. There are two reasons:

  1. The test is insufficient.
  2. The implementation is not compatible with MySQL because the underlying library is different(such as the math library).

For the first situation, we can add more testcase to ensure its correctness. Especially when Projection push down is finished, We can do testing with greater efficiency.

Misc

  • AnyValue
  • InetNtoa
  • InetAton
  • Inet6Ntoa
  • Inet6Aton
  • IsIPv4
  • IsIPv4Compat
  • IsIPv4Mapped
  • IsIPv6
  • BitAnd
  • BitOr
  • BitCount
  • Bin
  • UnHex
  • Sha2
  • Compress
  • Uncompress
  • RandomBytes
  • Password
  • FromBase64

Json

  • JsonDepth
  • JsonReplace
  • JsonKeys
  • JsonQuote

Math

  • abs
  • Pi
  • Sin
  • Asin
  • Cos
  • Acos
  • Tan
  • Atan
  • Atan2
  • Cot

String

  • locate
  • truncate
  • Regexp
  • ord
  • lpad
  • rpad
  • left
  • right
  • insert
  • upper
  • lower
  • makeset
  • substringIndex
  • instr
  • quote
  • octant
  • findInSet
  • CharLength
  • ToBase64
  • repeat

Time

  • WeekOfYear
  • DayOfWeek
  • Week
  • WeekDay
  • ToDays
  • ToSeconds
  • DateDiff
  • NullTimeDiff
  • AddDate
  • MakeDate
  • Hour
  • Minute
  • Second
  • MicroSecond
  • DayName
  • TimestampDiff
  • DateAdd
  • FromUnixTime

Contributor guide