#796

Reserveeri kaup ainult siis, kui see on tegelikult saadaval

Kasutaja lisas toote ostukorvi — taustsüsteem peab laos reserveerima kolm ühikut, kuid ainult siis, kui jääki ka tegelikult jätkub. Kui teha «loe jääki → kontrolli → kirjuta» eraldi lausetena, võivad kaks paralleelset tehingut näha sama arvu ja mõlemad reserveerida viimase ühiku. Üks tingimuslik uuendus lahendab selle atomaarselt: proovi suurendada reserved kolme võrra tootel id-ga 1, kuid ainult siis, kui qty - reserved on vähemalt 3. Kui ükski rida ei saanud uuendatud — tagasta kasutajale «pole laos».

Ainult INSERT/UPDATE/DELETE — lõpus pole vaja SELECT-i.

Sinu päringu tulemus ilmub siia