EVOLUTION-MANAGER
Edit File: federatedx_versioning.result
create or replace table t1 ( x int, row_start SYS_TYPE as row start invisible, row_end SYS_TYPE as row end invisible, period for system_time (row_start, row_end)) with system versioning; create or replace table tf engine=FEDERATED connection='mysql://root@127.0.0.1:MASTER_MYPORT/test/t1'; show create table tf; Table Create Table tf CREATE TABLE `tf` ( `x` int(11) DEFAULT NULL, `row_start` SYS_TYPE NOT NULL INVISIBLE DEFAULT 0, `row_end` SYS_TYPE NOT NULL INVISIBLE DEFAULT 0 ) ENGINE=FEDERATED DEFAULT CHARSET=latin1 CONNECTION='mysql://root@127.0.0.1:MASTER_MYPORT/test/t1' # INSERT insert into t1 values (1); select * from tf; x 1 insert into tf (x) values (2); select * from t1; x 1 2 select * from tf; x 1 2 # UPDATE update tf set x= x + 2; select *, check_row(row_start, row_end) from t1 for system_time all order by x; x check_row(row_start, row_end) 1 HISTORICAL ROW 2 HISTORICAL ROW 3 CURRENT ROW 4 CURRENT ROW # DELETE delete from tf; select *, check_row(row_start, row_end) from t1 for system_time all order by x; x check_row(row_start, row_end) 1 HISTORICAL ROW 2 HISTORICAL ROW 3 HISTORICAL ROW 4 HISTORICAL ROW select * from tf; x # TRUNCATE truncate tf; select * from t1 for system_time all; x # REPLACE create or replace table t2 ( id int primary key, y int, row_start SYS_TYPE as row start invisible, row_end SYS_TYPE as row end invisible, period for system_time (row_start, row_end)) with system versioning; create or replace table t2f engine=FEDERATED connection='mysql://root@127.0.0.1:MASTER_MYPORT/test/t2'; insert t2f (id, y) values (1, 2); replace t2f (id, y) values (1, 3); select *, check_row(row_start, row_end) from t2 for system_time all order by y; id y check_row(row_start, row_end) 1 2 HISTORICAL ROW 1 3 CURRENT ROW # VIEW create or replace view vt1 as select * from tf; insert into vt1 values (3); update vt1 set x= x + 1; select *, check_row(row_start, row_end) from t1 for system_time all order by x; x check_row(row_start, row_end) 3 HISTORICAL ROW 4 CURRENT ROW delete from vt1; select *, check_row(row_start, row_end) from t1 for system_time all order by x; x check_row(row_start, row_end) 3 HISTORICAL ROW 4 HISTORICAL ROW # multi-UPDATE truncate t1; truncate t2; insert into t1 values (1); insert into t2 values (2, 2); update tf, t2f set tf.x= 11, t2f.y= 22; select *, check_row(row_start, row_end) from t1 for system_time all order by x; x check_row(row_start, row_end) 1 HISTORICAL ROW 11 CURRENT ROW select *, check_row(row_start, row_end) from t2 for system_time all order by y; id y check_row(row_start, row_end) 2 2 HISTORICAL ROW 2 22 CURRENT ROW drop database test; create database test;