Klijent koristi legacy aplikaciju pisanu u Delphiju, za koju nema izvorni kod. Firma od koje je softver kupljen odavno je prestala da ga razvija.
Aplikacija izvršava DML operacije nad bazom kroz dinamičke upite, generisane u okviru same aplikacije, i pritom koristi najrestriktivniji nivo izolovanja transakcija - SERIALIZABLE.
Upiti ne nameću SERIALIZABLE nivo eksplicitno (SET TRANSACTION ISOLATION LEVEL ...) već je taj nivo postavljen implicitno, budući da je to defaultni nivo izolovanja u Delphiju.
Kao što se može pretpostaviti, to ima za posledicu česta i dugotrajna blokiranja rada korisnika pri konkurentnom korišćenju aplikacije.
Sa stanovišta poslovne logike, aplikaciji tako restriktivan nivo izolovanja nije neopodan, posebno ne u delovima koji se odnose na pregled podataka.
Postoji li način da se "presretnu" te DML naredbe koje aplikacija izvršava nad bazom, i da im se nametne manje restriktivan nivo izolacije (READ COMMITTED)?
[Ovu poruku je menjao teri_kalijer dana 12.07.2020. u 11:32 GMT+1]