Claims Analysis
Total Claims: 13
Claim 1
Independent Claim
122 words
A method for restoring data in a computing system including a database management system which provides for multi-row operations with respect to data objects, characterized by the steps of: logging selectively to a soft log (20) in main storage and to a hard log (22) in non-volatile storage changes made to said data objects; responsive to an error (42) not involving loss of information in the soft log, restoring said data objects to their state at the beginning (40) of the current multi-row operation (38); and responsive to an error (42) involving loss of information in the soft log, restoring said data objects to their state at the beginning (32) of the unit of recovery (30) including the current multi-row operation (38).
Claim 2
Independent Claim
122 words
A method for restoring data in a computing system including a database management system which provides for multi-row operations with respect to data objects, characterized by the steps of: logging selectively to a soft log (20) in main storage and to a hard log (22) in non-volatile storage changes made to said data objects; responsive to an error (42) not involving loss of information in the soft log, restoring said data objects to their state at the beginning (40) of the current multi-row operation (38); and responsive to an error (42) involving loss of information in the soft log, restoring said data objects to their state at the beginning (32) of the unit of recovery (30) including the current multi-row operation (38).
Claim 3
Dependent Claim
99 words
The method of claim 1 wherein the step of logging to the hard log (22) changes made to the data objects includes the steps of: recording in a hard log record an identifier of the data object being changed and an identifier of the resource manager making the change; recording in the hard log record selectively UNDO, or REDO, or both UNDO and REDO information; and responsive to an error involving loss of information in said soft log, restoring said data objects to their state at the beginning of the unit of recovery by reference to said UNDO information.
Claim 4
Dependent Claim
30 words
The method of claim 2 wherein said UNDO information contains either before and after images of the data object being changed or the information necessary to conduct a reversing operation.
Claim 5
Independent Claim
54 words
The method of claims 1 and 2 wherein the step of logging to the soft log changes made to the data objects includes the steps of: recording in a soft log record a pointer to the previous soft log record and the log record type; and recording in the soft log record UNDO information.
Claim 6
Dependent Claim
113 words
The method of claim 1 wherein data objects stored in multi-row tables are updated, deleted and inserted, in- cludin g the steps of: selectively operating on a data object by performing an update, delete or insert operation; recording in a hard log a record of the operation if made to a data object where the data object is recoverable and the data object operated on may have been copied to non-volatile storage; and recording in a soft log a record of the operation if made to a data object where the data object is not recoverable or if the data object operated on is guaranteed not to have been copied to non-volatile storage.
Claim 7
Dependent Claim
97 words
The method of claim 5 comprising the further steps: recording a hard log savepoint record including a savepoint name at the beginning of a multi-row operation; recording a soft log savepoint record at the beginning of the multi-row operation, the soft log savepoint record including the savepoint name, a pointer to the hard log savepoint record written for this multirow operation, and a list of identifiers of cursor blocks positions to be saved; and responsive to a failure occuring during the multi-row operation, restoring the table to its state at the time of recording the savepoint record.
Claim 8
Dependent Claim
71 words
The method of claim 6 comprising the further steps: obtaining from the soft log savepoint record the location of the hard log savepoint record and identifiers of cursor blocks to be saved; processing hard log UNDO records from the point of the failure back to the hard log savepoint record; and restoring the cursor blocks identified by the soft log savepoint record to their positions at the time of the savepoint.
Claim 9
Dependent Claim
24 words
The method of claim 6 comprising the further step of stacking a plurality of savepoint records with respect to a plurality of multi-row operations.
Claim 10
Dependent Claim
24 words
The method of claim 6 comprising the further step of dropping savepoint records with respect to a multi-row operation which successfully concludes without failure.
Claim 11
Independent Claim
165 words
The method according to any of the claims 1-9 wherein user requested multi-row update operations to tables of the type including UPDATE, INSERT, and DELETE that fails, are generating the operation steps of: in response to an update operation request, establishing an execution module containing machine language code instructions implementing the update operation request with a savepoint request at the beginning of said execution module; for each set of instructions in or called by the execution module which modifies the user perceived system state, selectively recording undo information in a soft or hard log; upon completing an execution module, dropping the savepoint, causing all soft log information recorded since the savepoint to be deleted and releasing all resources held to guarantee restoration of the user perceived system state at the time of the savepoint request; upon detecting an error and responsive to undo information recorded in the soft and/or hard log, restoring the user perceived state to that at the time of the savepoint request.
Claim 12
Dependent Claim
204 words
Apparatus for restoring data in a computing system executing user requested multi-row update operations of the type including UPDATE, DELETE, and INSERT . to tables in a relational database, characterized by: means (16) responsive to an update operation request for establishing an execution module containing machine language code instructions implementing the update operation request with a savepoint request at the beginning of said execution module; means for recording undo information in a soft log (20) for each set of instructions in or called by the execution module which modifies the user perceived system state; means for dropping the savepoint upon completing an execution module, thereby causing all soft log information recorded since the savepoint to be deleted and releasing all resources held to guarantee restoration of the user perceived system state at the time of the savepoint request; and means responsive to undo information recorded in the soft log and operative upon detecting an error for restoring the user perceived state to that at the time of the savepoint request; said means quaranteeing that for any update operation that succeeds all stated effects will have occurred and that for any update operation that fails the system state as perceived by the usor remains unchanged.
Claim 13
Dependent Claim
204 words
Apparatus for restoring data in a computing system executing user requested multi-row update operations of the type including UPDATE, DELETE, and INSERT . to tables in a relational database, characterized by: means (16) responsive to an update operation request for establishing an execution module containing machine language code instructions implementing the update operation request with a savepoint request at the beginning of said execution module; means for recording undo information in a soft log (20) for each set of instructions in or called by the execution module which modifies the user perceived system state; means for dropping the savepoint upon completing an execution module, thereby causing all soft log information recorded since the savepoint to be deleted and releasing all resources held to guarantee restoration of the user perceived system state at the time of the savepoint request; and means responsive to undo information recorded in the soft log and operative upon detecting an error for restoring the user perceived state to that at the time of the savepoint request; said means quaranteeing that for any update operation that succeeds all stated effects will have occurred and that for any update operation that fails the system state as perceived by the usor remains unchanged.