#796

Rezerviraj zalogo samo, če je dejansko na voljo

Uporabnik je izdelek dodal v košarico — zaledje mora rezervirati tri enote v zalogi, vendar le, če je dejansko dovolj zaloge. Če »branje zaloge → preverjanje → zapis« narediš kot ločene stavke, lahko dve vzporedni transakciji vidita isto število in obe rezervirata zadnjo enoto. Ena sama pogojna posodobitev to reši atomarno: poskusi povečati reserved za tri pri izdelku z id-jem 1, vendar samo, ko je qty - reserved vsaj 3. Če na koncu nobena vrstica ni posodobljena — uporabniku vrni »ni na zalogi«.

Samo INSERT/UPDATE/DELETE — zaključni SELECT ni potreben.

Rezultat vaše poizvedbe se bo prikazal tukaj