Full load musí být změněn tak že nevolá TRUNCATE.
Bude fungovat následujícím způsobem:
Vytvoření staging tabulky (nesmí jít o temp tabulku)
Load dat do staging tabulky a jejich dedupe
V transakci prohození tabulek
drop cílové tabulky drop table destination
přejmenování staging na cílouvou alter table staging rename to destination;
Tohle ale nefunguje v případě že je cílová tabulka použita ve VIEW, musí být pro staré projekty které ještě používají SQL aliasy (views) zachováno staré chování. To se bude zapínat přes flag v konstruktoru.
Debug je tady https://github.com/keboola/connection/issues/890
Implementace
Full load musí být změněn tak že nevolá TRUNCATE. Bude fungovat následujícím způsobem:
drop table destination
alter table staging rename to destination
;Tohle ale nefunguje v případě že je cílová tabulka použita ve VIEW, musí být pro staré projekty které ještě používají SQL aliasy (views) zachováno staré chování. To se bude zapínat přes flag v konstruktoru.