Patent ID: 8161010

Claim:
A computerized method comprising: receiving a set of rows to be saved together as a set to a database; performing a first saving operation, but not committing, wherein the first saving operation saves the set of rows to the database without committing the set of rows to the database; detecting, by a computer interfaced with the database, a fault in performing the first saving operation to save the set of rows to the database; rolling back, by the computer, the set of rows saved but not committed to the database during the first saving operation by rolling back resource allocations associated with performing the first saving operation on behalf of a user in order to prevent the resource allocations from being used up by the user's trying the first saving operation and the subsequent rolling back the set of rows saved but not committed to the database during the first saving operation; forming a new subset of rows derived from the set of rows by removing one or more rows associated with the fault during the first saving operation; performing a second saving operation, but not committing, wherein the second saving operation saves the new subset of rows to the database without committing the new set of rows to the database; determining the new set of rows to be saved to the database without fault; committing the new set of rows to the database responsive to determining the new set of rows to be saved to the database without fault; and ensuring that no side effects have occurred from executing code on behalf of any rows associated with a fault including updating, by the computer, allocated resources used in the performing the first saving operation and checking the allocated resources used against governor limits.