Autor Téma: Spoločná transakcia = kopa hluchého kódu  (Přečteno 338 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6004
  • Karma: 44
    • Verze Delphi: W10 + D11
Spoločná transakcia = kopa hluchého kódu
« kdy: 17-11-2020, 08:30:08 »
Popis situácie:
Formulár
Obsahuje x podformulárov
Každý podformulár má FDTable
Všetky FDTable majú jedinú spoločnú transakciu z DataModul
Niekde inde mám:
  • TableY.UpdateTransaction.StartTransaction
  • TableY.Post
  • TableY.UpdateTransaction.Commit
Podľa mňa príkaz commit spustí reťazovú reakciu  vo všetkých x tabuľkách. Nakoľko len jediná je v stave Edit/Insert tak:
  • pre ňu ten commit má význam
  • vo všetkých ostatných sa spustí hluchý kód, ktorý vlastne nič nevykoná
Je moja úvaha správna? Preto má mať každá tabuľka vlastnú UpdateTransaction!
Ďakujem.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3290
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Spoločná transakcia = kopa hluchého kódu
« Odpověď #1 kdy: 17-11-2020, 22:22:09 »
Podľa mňa príkaz commit spustí reťazovú reakciu  vo všetkých x tabuľkách.
Proc by to spoustelo nejakou retezovou reakci? Tim commitem rikas RDBMS, ze si ma oznacit data za konecna a platna a pokud nekdo nekde nevisi na Before/AfterXxxx u transakce, tak to nic spoustet nebude.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6004
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:Spoločná transakcia = kopa hluchého kódu
« Odpověď #2 kdy: 18-11-2020, 08:58:58 »
Ďakujem. Ja som si neuvedomil, že mám dve vrstvy. Moja aplikácia a RDBMS.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.