[quote link=topic=16197.msg100296#msg100296 date=1529924131]
se FireDAC sice tvari, ze pracuje s vice transakcemi, ale ve skutecnosti dela buhvi co, takze jde napr. commitnout data i v RO txn
Nevim presne o jaky pripad se jedna (vnorene transakce?). Nicmene to by se dit urcite nemelo. Transakce s nastavenym ReadOnly priznakem by urcite nemela mit pravo menit data (uz na strane klienta bych ocekaval vyjimku). Pokud tomu tak je, napisu bug report.
Jen v rychlosti pri veceri :-(
Tohle nevim uplne presne, protoze jsem to na MSSQL nemigroval na Interbase/FB se to nevyskytuje. Nejedna se o nested transakce, ale o
Multiple Active Transactions viz napr.
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Managing_Transactions_(FireDAC) dole. A problemy byly zrejme s tim sdilenim vice instanci
TFDTransaction, jak o tom pisou v poznamce:
Note: You can use more than one TFDTransaction for other database management systems. Then, all TFDTransaction components share the same transaction.A projevovalo se to v situaci, kdy kolegove pouzili obvykle schema tj. v jednom DB spojeni:
1. jedna trvale zahajena RO transakce
2. na kazdy zapis do DB zahajena extra transakce (s ruznym stupnem izolace, podle toho, co se dela), ktera se explicitne commituje
A jak mi to licili, tak se to chovalo naprosto zhovadile, ze to menilo obsah DB, i kdyz RW transakci commitnuli a instanci uvolnili atd. Myslim, ze na tom nic nevynalezali, proste preklopili fungujici aplikaci pro FB a narazili. Ale skutecne ted nemame cas se tomu venovat. Jen tema, ze tam jsou nejake pitfalls, ktere nuti cloveka vyvarovat se urcitym technikam.
[/quote]
Tema je to urcite uzitecne (pisu si

). On totiz FireDAC mimo Firebird a InterBase DBMS podporuje jen savepointy uvnitr transakci.