Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
Description
Under terms of MDEV-27490 we'll swith to Unicode-14.0.0. In this Unicode version a string can grow during a casedb conversion. We need to remove all my_casedn_str() calls done for identifiers.
Under tems of this task, let's remove my_casedn_str() whose results are further passed to append_identifier().
Let's add this helper function:
bool append_identifier_opt_casedn(THD *thd, String *to, |
const LEX_CSTRING &ident, bool casedn) |
{
|
if (!casedn) |
return append_identifier(thd, to, &ident); |
CharBuffer<MAX_ALIAS_NAME> buff;
|
LEX_CSTRING ls= buff.copy_casedn(system_charset_info, ident).to_lex_cstring();
|
return append_identifier(thd, to, &ls); |
}
|
and reuse it in:
- Item_ident::print()
- Item_func_nextval::print()
- Item_func_setval::print()
This change is also expected to reduce the code size.
Attachments
Issue Links
- blocks
-
MDEV-27490 Allow full utf8mb4 for identifiers
-
- Stalled
-
-
MDEV-31531 Remove my_casedn_str() and my_caseup_str()
-
- Closed
-
-
MDEV-31606 Refactor check_db_name() to get a const argument
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Link | This issue blocks MDEV-27490 [ MDEV-27490 ] |
issue.field.resolutiondate | 2023-08-24 11:10:11.0 | 2023-08-24 11:10:11.387 |
Fix Version/s | 11.3.0 [ 29302 ] | |
Fix Version/s | 11.3 [ 28565 ] | |
Resolution | Fixed [ 1 ] | |
Status | Open [ 1 ] | Closed [ 6 ] |
Link |
This issue blocks |
Assignee | Alexander Barkov [ bar ] | |
Status | Open [ 1 ] | Stalled [ 10000 ] |
Resolution | Fixed [ 1 ] | |
Status | Stalled [ 10000 ] | Closed [ 6 ] |
Link |
This issue blocks |