[MDEV-29495] Generalize can_convert_xxx() hook engine API to cover any arbitrary data type Created: 2022-09-08 Updated: 2023-03-30 Resolved: 2022-10-27 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Data Definition - Alter Table, Data types |
| Fix Version/s: | 10.4.28, 10.5.19, 10.6.12, 10.7.8, 10.8.7, 10.9.5, 10.10.3 |
| Type: | Task | Priority: | Major |
| Reporter: | Alexander Barkov | Assignee: | Alexander Barkov |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||||||||||||||
| Description |
|
The engine API have hooks to let the engine decide if it can perform ALGORITHM=NOCOPY for a minor data type change.
The above ALTER does not rebuild the table, it only modifies the FRM file. The hooks that we have so far can handle only string data types. They are implemented in these "class handler" methods, overridden by ha_innodb:
In order to fix Let's remove the above three virtual methods and add one method which can handle any arbitrary data type:
|
| Comments |
| Comment by Alexander Barkov [ 2022-10-27 ] |
|
Hi marko, |
| Comment by Marko Mäkelä [ 2022-10-27 ] |
|
Thank you, this corresponds to what we discussed earlier. Looks OK to me. |