#2612 - Incorrect DDL generation for MySql on history tables that use quoted identifiers

This commit is contained in:
Rob Bygrave
2022-03-28 13:05:59 +13:00
parent c8bb3c7b57
commit 5c3b680c8a
8 changed files with 27 additions and 49 deletions
@@ -302,15 +302,15 @@ create table table_history(
sys_period_end datetime(6)
);
create view table_with_history as select * from `table` union all select * from table_history;
lock tables "table" write;
lock tables `table` write;
delimiter $$
create trigger table_history_upd before update on "table" for each row begin
insert into table_history (sys_period_start,sys_period_end,"index", "from", "to", "varchar", "foreign") values (OLD.sys_period_start, now(6),OLD."index", OLD."from", OLD."to", OLD."varchar", OLD."foreign");
create trigger table_history_upd before update on `table` for each row begin
insert into table_history (sys_period_start,sys_period_end,`index`, `from`, `to`, `varchar`, `foreign`) values (OLD.sys_period_start, now(6),OLD.`index`, OLD.`from`, OLD.`to`, OLD.`varchar`, OLD.`foreign`);
set NEW.sys_period_start = now(6);
end$$
delimiter $$
create trigger table_history_del before delete on "table" for each row begin
insert into table_history (sys_period_start,sys_period_end,"index", "from", "to", "varchar", "foreign") values (OLD.sys_period_start, now(6),OLD."index", OLD."from", OLD."to", OLD."varchar", OLD."foreign");
create trigger table_history_del before delete on `table` for each row begin
insert into table_history (sys_period_start,sys_period_end,`index`, `from`, `to`, `varchar`, `foreign`) values (OLD.sys_period_start, now(6),OLD.`index`, OLD.`from`, OLD.`to`, OLD.`varchar`, OLD.`foreign`);
end$$
unlock tables;
@@ -184,15 +184,15 @@ create trigger migtest_e_history6_history_del before delete on migtest_e_history
end$$
unlock tables;
create view table_with_history as select * from `table` union all select * from table_history;
lock tables "table" write;
lock tables `table` write;
delimiter $$
create trigger table_history_upd before update on "table" for each row begin
insert into table_history (sys_period_start,sys_period_end,"index", "from", "to", "varchar", "select", "foreign") values (OLD.sys_period_start, now(6),OLD."index", OLD."from", OLD."to", OLD."varchar", OLD."select", OLD."foreign");
create trigger table_history_upd before update on `table` for each row begin
insert into table_history (sys_period_start,sys_period_end,`index`, `from`, `to`, `varchar`, `select`, `foreign`) values (OLD.sys_period_start, now(6),OLD.`index`, OLD.`from`, OLD.`to`, OLD.`varchar`, OLD.`select`, OLD.`foreign`);
set NEW.sys_period_start = now(6);
end$$
delimiter $$
create trigger table_history_del before delete on "table" for each row begin
insert into table_history (sys_period_start,sys_period_end,"index", "from", "to", "varchar", "select", "foreign") values (OLD.sys_period_start, now(6),OLD."index", OLD."from", OLD."to", OLD."varchar", OLD."select", OLD."foreign");
create trigger table_history_del before delete on `table` for each row begin
insert into table_history (sys_period_start,sys_period_end,`index`, `from`, `to`, `varchar`, `select`, `foreign`) values (OLD.sys_period_start, now(6),OLD.`index`, OLD.`from`, OLD.`to`, OLD.`varchar`, OLD.`select`, OLD.`foreign`);
end$$
unlock tables;
alter table `table` add constraint uq_table_select unique (`select`);
@@ -1,6 +1,6 @@
1835064798, I__create_procs.sql
-1894322966, 1.0__initial.sql
718635669, 1.1.sql
776107385, 1.0__initial.sql
-1360065766, 1.1.sql
-1097227916, 1.2__dropsFor_1.1.sql
-1972055805, 1.3.sql
379252952, 1.4__dropsFor_1.3.sql
@@ -302,15 +302,15 @@ create table table_history(
sys_period_end datetime(6)
);
create view table_with_history as select * from `table` union all select * from table_history;
lock tables "table" write;
lock tables `table` write;
delimiter $$
create trigger table_history_upd before update on "table" for each row begin
insert into table_history (sys_period_start,sys_period_end,"index", "from", "to", "varchar", "foreign") values (OLD.sys_period_start, now(6),OLD."index", OLD."from", OLD."to", OLD."varchar", OLD."foreign");
create trigger table_history_upd before update on `table` for each row begin
insert into table_history (sys_period_start,sys_period_end,`index`, `from`, `to`, `varchar`, `foreign`) values (OLD.sys_period_start, now(6),OLD.`index`, OLD.`from`, OLD.`to`, OLD.`varchar`, OLD.`foreign`);
set NEW.sys_period_start = now(6);
end$$
delimiter $$
create trigger table_history_del before delete on "table" for each row begin
insert into table_history (sys_period_start,sys_period_end,"index", "from", "to", "varchar", "foreign") values (OLD.sys_period_start, now(6),OLD."index", OLD."from", OLD."to", OLD."varchar", OLD."foreign");
create trigger table_history_del before delete on `table` for each row begin
insert into table_history (sys_period_start,sys_period_end,`index`, `from`, `to`, `varchar`, `foreign`) values (OLD.sys_period_start, now(6),OLD.`index`, OLD.`from`, OLD.`to`, OLD.`varchar`, OLD.`foreign`);
end$$
unlock tables;
@@ -184,15 +184,15 @@ create trigger migtest_e_history6_history_del before delete on migtest_e_history
end$$
unlock tables;
create view table_with_history as select * from `table` union all select * from table_history;
lock tables "table" write;
lock tables `table` write;
delimiter $$
create trigger table_history_upd before update on "table" for each row begin
insert into table_history (sys_period_start,sys_period_end,"index", "from", "to", "varchar", "select", "foreign") values (OLD.sys_period_start, now(6),OLD."index", OLD."from", OLD."to", OLD."varchar", OLD."select", OLD."foreign");
create trigger table_history_upd before update on `table` for each row begin
insert into table_history (sys_period_start,sys_period_end,`index`, `from`, `to`, `varchar`, `select`, `foreign`) values (OLD.sys_period_start, now(6),OLD.`index`, OLD.`from`, OLD.`to`, OLD.`varchar`, OLD.`select`, OLD.`foreign`);
set NEW.sys_period_start = now(6);
end$$
delimiter $$
create trigger table_history_del before delete on "table" for each row begin
insert into table_history (sys_period_start,sys_period_end,"index", "from", "to", "varchar", "select", "foreign") values (OLD.sys_period_start, now(6),OLD."index", OLD."from", OLD."to", OLD."varchar", OLD."select", OLD."foreign");
create trigger table_history_del before delete on `table` for each row begin
insert into table_history (sys_period_start,sys_period_end,`index`, `from`, `to`, `varchar`, `select`, `foreign`) values (OLD.sys_period_start, now(6),OLD.`index`, OLD.`from`, OLD.`to`, OLD.`varchar`, OLD.`select`, OLD.`foreign`);
end$$
unlock tables;
alter table `table` add constraint uq_table_select unique (`select`);
@@ -1,6 +1,6 @@
1835064798, I__create_procs.sql
955526296, 1.0__initial.sql
718635669, 1.1.sql
-1717521141, 1.0__initial.sql
-1360065766, 1.1.sql
-1097227916, 1.2__dropsFor_1.1.sql
-1972055805, 1.3.sql
379252952, 1.4__dropsFor_1.3.sql