Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.3(EOL), 10.4(EOL), 10.5
-
None
Description
After adding new column on a SYSTEM VERSIONED Table, the column positions for row_start and rows_end are not updated.
Here the use case:
CREATE TABLE `andreversion` (
|
`id` bigint(20) unsigned NOT NULL, |
`spend` decimal(10,2) NOT NULL, |
PRIMARY KEY (`id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 WITH SYSTEM VERSIONING;
|
Query OK, 0 rows affected (0.008 sec) |
|
|
|
MariaDB [andre]> insert into andreversion values (77,'90.5'); |
Query OK, 1 row affected (0.000 sec) |
|
BINLOG:
|
### INSERT INTO `andre`.`andreversion`
|
### SET
|
### @1=77 /* LONGINT meta=0 nullable=0 is_null=0 */ |
### @2=90.50 /* DECIMAL(10,2) meta=2562 nullable=0 is_null=0 */ |
### @3=1649141510.442272 /* TIMESTAMP(6) meta=6 nullable=0 is_null=0 */ |
### @4=2147483647.999999 /* TIMESTAMP(6) meta=6 nullable=0 is_null=0 */ |
|
|
|
MariaDB [andre]> set session system_versioning_alter_history=KEEP;
|
Query OK, 0 rows affected (0.000 sec) |
|
MariaDB [andre]> alter table andreversion add column newcol int ; |
Query OK, 0 rows affected (0.002 sec) |
Records: 0 Duplicates: 0 Warnings: 0 |
|
|
MariaDB [andre]> insert into andreversion values (2,'20.5',8); |
Query OK, 1 row affected (0.000 sec) |
|
Binlog:
|
|
### INSERT INTO `andre`.`andreversion`
|
### SET
|
### @1=2 /* LONGINT meta=0 nullable=0 is_null=0 */ |
### @2=20.50 /* DECIMAL(10,2) meta=2562 nullable=0 is_null=0 */ |
### @3=1649141654.094756 /* TIMESTAMP(6) meta=6 nullable=0 is_null=0 */ |
### @4=2147483647.999999 /* TIMESTAMP(6) meta=6 nullable=0 is_null=0 */ |
### @5=8 /* INT meta=0 nullable=1 is_null=0 */ |
|
|
When we are going to create a Replica server from logical dump
CREATE TABLE `andreversion` (
|
`id` bigint(20) unsigned NOT NULL, |
`spend` decimal(10,2) NOT NULL, |
`newcol` int(11) DEFAULT NULL, |
PRIMARY KEY (`id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 WITH SYSTEM VERSIONING
|
|
performing new INSERT we are facing this error:
cannot be converted from type 'timestamp' to type 'int(11)' |
Also checking the FRM file we can have the evidence that the order columns is different.
MASTER FRM: �id�spend�row_start�row_end�newcol
|
|
SLAVE FRM: �id�spend�newcol�row_start�row_end
|
Attachments
Issue Links
- is caused by
-
MDEV-16355 Add option for mysqldump to read data as of specific timestamp from system-versioned tables
- Closed