[MDEV-23738] Get rid of Item::null_value Created: 2020-09-15 Updated: 2023-11-19 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Critical |
| Reporter: | Alexander Barkov | Assignee: | Oleksandr Byelkin |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
In order to make Items reentrant (see MDEV-6897) we need to get rid of the boolean member Item::null_value. To remove this member, we'll need to modify the following methods in Item to return the actual value and the SQL NULL flag at the same time:
Possible optionsAdd a pointer to the SQL NULL flag:
Return SQL NULL, pass the value target as a pointer:
Return a structure consisting of the value and the SQL NULL flag
where the structures are about the following:
MixedA mixed API could be also considered depending on which exact method performs better for a certain data type. For example:
But this probably won't be convenient. PlanUnder terms of this task we'll:
|