Initial: stock=10, reservations=0
Committed: stock=7, reservations=1
Duplicate reference rejected; transaction rolled back.
After duplicate: stock=7, reservations=1
Insufficient stock rejected; transaction rolled back.
After shortage: stock=7, reservations=1
