Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
-
None
Description
We'll be replacing data type specific constants STRING_ITEM, INT_ITEM, REAL_ITEM, DECIMAL_ITEM, DATE_ITEM to LITERAL_ITEM soon (see MDEV-14630).
Under terms of this task we'll remove STRING_ITEM from:
The code creating concatenated string literals:
Item *THD::make_string_literal_concat(Item *item, const LEX_CSTRING &str)
Instead of testing item->type() for STRING_ITEM, we'll add a virtual method:
virtual Item_basic_constant *Item_basic_constant::make_string_literal_concat(THD *thd, const LEX_CSTRING *)
with implementations for Item_null and Item_string, and a default implementation for Item.
The rule in the bison grammar that parses ODBC style literals:
| '{' ident expr '}'
Instead of testing $3->type() for STRING_ITEM, we'll add a virtual method:
virtual Item *Item::make_odbc_literal(THD *thd, const LEX_CSTRING *typestr);
with an implementation for Item_string, and a default implementation for Item.
Attachments
Issue Links
- blocks
-
MDEV-4912 Data type plugin API version 1
- Closed
-
MDEV-14630 Replace {STRING|INT|REAL|DECIMAL|DATE}_ITEM to CONST_ITEM
- Closed