Patent ID: 8898109

Claim:
A method in a database server, comprising: performing by the database server: establishing a first session with a client to handle a database query for the client; opening a transaction of the first session to execute a plurality of commands associated with the transaction for the client; receiving at least one command associated with the transaction from the client, each received command being received with an associated command identifier; generating a transaction log that stores the command identifier associated with each received command and indicates whether each received command has been successfully executed; receiving a request to reestablish the first session, a further command associated with the transaction, and a command identifier for the further command from the client after a failure in the first session; reestablishing the first session with the client; determining whether a command identifier for the further command has already been stored in the transaction log; and if the command identifier associated with the further command is determined to not already have been stored in the transaction log, attempting to execute the further command, and annotating the transaction log with the command identifier associated with the further command and an indication of whether the further command has been successfully executed.