Patent ID: 7490084

Claim:
A method of handling transactions including updates in a database management system comprising the steps of: receiving an update to a database maintained by the database management system, the update causing an index of the database to be modified; recording the update in a log; and receiving an indication that the transaction is to be committed and in response, incorporating the update from the log into an index of the database; wherein the update comprises an insert operation, which inserts data into the database, a delete operation, which deletes data from the database, or an update operation, which modifies data in the database; wherein the step of receiving an update comprises the step of, in response to receiving the update, invoking a callback to update the index, wherein the step of invoking a callback comprises the step of passing information relating to the index and information identifying the data to be updated; wherein the log comprises an insert-log storing insert operations and a delete-log storing delete operations; and wherein the step of recording the update in a log comprises the steps of: registering the callback with a transaction manager, if the update is the first update in the transaction; including the index in a list of indexes used in the transaction, if the update is the first update to the index in the transaction; if the update is an insert operation, inserting the insert operation into the insert-log; if the update is a delete operation and there is not an insert operation corresponding to the data to be deleted in the insert-log, inserting the delete operation into the delete-log; and if the update is a delete operation and there is an insert operation corresponding to the data to be deleted in the insert-log deleting the insert from the insert-log.