An information processing apparatus includes memory for storing a plurality of
data; updating means for updating data stored in the memory in a transaction; and
setting means for setting, with regard to each of the plurality of data stored
in the memory, whether updated data updated by the updating means is to be validated
or invalidated at abortion of the transaction, respectively. The setting means
performs its setting in advance of the transaction. Saving means saves data, for
which updated data has been set to be invalidated at abortion of the transaction
by the setting means, except for data for which updated data has been set to be
validated at abortion of the transaction by the setting means, before execution
of data update by the updating means in the transaction. Control means invalidates
the updated data set to be invalidated by restoring the data saved the saving means
and validates the updated data set to be validated by maintaining the updated data
for which data before execution of updating has not been saved at an end of the
transaction if the transaction has been aborted.