Tema: Re: transakcijos
Autorius: ReM
Data: 2011-11-24 12:52:09
"2x50" <2x50@100.gr> wrote in message news:jajlji$n4k$1@trimpas.omnitel.net...
> Arba galima padaryti viska "teisingai" is pirmo karto :)
> Zvilgtelejau i postgre dokumentacija. Jei gerai suprantu, bazeje galima 
> apsibrezti plsql funkcijas. Tai va, "teisingai", tai butu duomenis redaguoti 
> tik per plsql funkcijas t.y. vartotojas paskaudzia "Save" mygtuka savo 
> aplinkoj, tada kvieciama plsql funkcija, kuri issaugo pakeitimus ir grazina 
> vartotojui ka reikia grazinti (jei reikai is viso). Tokiu budu, nereikes 
> galvoti apie transakcijas, tiesiog vienoj funkcijoj turi buti atliekami visi 
> reikalingi zingsniai, nes kiekviena funkcija bus iterpta tarp begin ir 
> commit. Ta prasme kazkoks data provideris (nzn, ka naudoji, bet pvz. odbc 
> driveris) persius postrgre funkcijos iskvietimo sakini (tipo execute 
> my_function), o postgre jau pats prades transakcija pries(!) pradedamas 
> vykdyti funkcija ir tokiu budu visos DML komandos esancios funkcijos viduje 
> bus vienoj transakcijoj. 
> 

Kuo toliau į mišką tuo daugiau medžių. :)
Tada dar vienas klausimas. Kas bus, jei insertinant ar updeitinant kelis šimtus įrašų vienoje transakcijoje kažkas susiknis, ir nebus įvykdyta nei commit, nei rollback. Liks nebaigta transakcija. Bazė pati po kiek laiko padarys rollback?