Details
-
Bug
-
Status: Stalled (View Workflow)
-
Major
-
Resolution: Unresolved
-
10.1(EOL)
-
None
Description
Inplace algorithm doesn't support change of virtual column data type.
--source include/have_innodb.inc
|
create table t1(f1 int not null, f2 char(100) as ("test") virtual)engine=innodb;
|
alter table t1 modify column f2 varchar(200) as ("db") virtual, algorithm=inplace;
|
drop table t1;
|
Above alter fails with the following error:
failed: 1845: ALGORITHM=INPLACE is not supported for this operation. Try ALGORITHM=COPY
|
There is no reason mentioned why inplace fails. Above alter doesn't affect the data or rebuild
the table. It should be part of INNOBASE_INPLACE_IGNORE flag. I think inplace should support this operation.
Attachments
Issue Links
- relates to
-
MDEV-14046 Allow ALGORITHM=INPLACE for 10.1 tables that contain virtual columns
-
- Closed
-
-
MDEV-14341 Allow LOCK=NONE in table-rebuilding ALTER when indexed virtual columns exist
-
- Open
-
-
MDEV-16332 Allow ALGORITHM=NOCOPY or INSTANT for changes of virtual column type
-
- Confirmed
-
-
MDEV-17468 Avoid table rebuild on operations on generated columns
-
- Stalled
-
-
MDEV-19214 Virtual column type cannot be converted from one to another - unhelpful error message
-
- Open
-
Activity
Field | Original Value | New Value |
---|---|---|
Fix Version/s | 10.1 [ 16100 ] | |
Fix Version/s | 10.2 [ 14601 ] | |
Affects Version/s | 10.1 [ 16100 ] | |
Affects Version/s | 10.2 [ 14601 ] |
Assignee | Thirunarayanan B [ thiru ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Link | This issue relates to MDEV-19214 [ MDEV-19214 ] |
Link | This issue relates to MDEV-16332 [ MDEV-16332 ] |
Link |
This issue relates to |
Link | This issue relates to MDEV-14341 [ MDEV-14341 ] |
Link | This issue relates to MDEV-17468 [ MDEV-17468 ] |
Status | In Progress [ 3 ] | Stalled [ 10000 ] |
Workflow | MariaDB v3 [ 85846 ] | MariaDB v4 [ 143534 ] |
create table t1(f1 int not null, f2 int as (f1 * f1) virtual)engine=innodb;
alter table t1 change f2 f2 int as (f1) virtual, algorithm=inplace;
drop table t1;
Above alter passes in inplace algorithm. Only difference here is datatype change flag enabled in the bug page testcase.
I think it should be fixable in innodb itself.
I have to change reported version to 10.1