mirror of
https://github.com/MariaDB/server.git
synced 2025-11-08 23:06:11 +01:00
Make Item_func_eq of the following forms sargable by updating the relevant range analysis methods: 1. substr(col, 1, n) = str 2. str = substr(col, 1, n) 3. left(col, n) = str 4. str = left(col, n) where col is a indexed column and str is a const and inexpensive item of length n. We do this by factoring out Item_func_like::get_mm_leaf() and apply it to a string obtained from escaping str and then appending a wildcard "%" to it. The addition of the two Functype enums, LEFT_FUNC and SUBSTR_FUNC, requires changes in the spider group by handler to continue handling LEFT and SUBSTR correctly. Co-authored-by: Yuchen Pei <ycp@mariadb.com> Co-authored-by: Sergei Petrunia <sergey@mariadb.com> |
||
|---|---|---|
| .. | ||
| examples | ||
| client_settings.h | ||
| CMakeLists.txt | ||
| emb_qcache.cc | ||
| emb_qcache.h | ||
| embedded_priv.h | ||
| lib_sql.cc | ||
| libmysql.c | ||
| libmysqld.c | ||
| libmysqld.def | ||
| libmysqld.rc | ||
| resource.h | ||