1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-31153 New methods Schema::make_item_func_* for REPLACE, SUBSTRING, TRIM

Adding virtual methods to class Schema:

  make_item_func_replace()
  make_item_func_substr()
  make_item_func_trim()

This is a non-functional preparatory change for MDEV-27744.
This commit is contained in:
Alexander Barkov
2023-04-29 07:39:38 +04:00
parent 2e74f9d281
commit ddcc9d2281
7 changed files with 170 additions and 74 deletions

View File

@ -779,6 +779,11 @@ public:
}
Item *make_item_func_trim_std(THD *thd) const;
Item *make_item_func_trim_oracle(THD *thd) const;
/*
This method is still used to handle LTRIM and RTRIM,
while the special syntax TRIM(... BOTH|LEADING|TRAILING)
is now handled by Schema::make_item_func_trim().
*/
Item *make_item_func_trim(THD *thd) const;
};
@ -790,6 +795,25 @@ public:
};
class Lex_substring_spec_st
{
public:
Item *m_subject;
Item *m_from;
Item *m_for;
static Lex_substring_spec_st init(Item *subject,
Item *from,
Item *xfor= NULL)
{
Lex_substring_spec_st res;
res.m_subject= subject;
res.m_from= from;
res.m_for= xfor;
return res;
}
};
class st_select_lex;
class Lex_select_lock