Orders
Safe processing
SET LOCAL lock_timeout = '3s'; BEGIN; SELECT order_id FROM Orders WHERE status='NEW' ORDER BY order_id FETCH FIRST 1 ROW ONLY FOR UPDATE; UPDATE Orders SET status='PROCESSING' WHERE order_id = 7001; COMMIT;
SET LOCAL lock_timeout = '3s'; BEGIN; SELECT order_id FROM Orders WHERE status='NEW' ORDER BY order_id FETCH FIRST 1 ROW ONLY FOR UPDATE; UPDATE Orders SET status='PROCESSING' WHERE order_id = 7001; COMMIT;