Patent US4498145A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4498145A Expired / Lapsed US ⏱️ 0.0 years remaining

Method for assuring atomicity of multi-row update operations in a database system

Assignee: International Business Machines Corp
•
Filing: 1982-06-30
•
Granted: 1985-02-05
•
Expires: 2002-06-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for assuring atomicity of user requested multi-row update operations to tables such as in a relational database, guarantees 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 user remains unchanged. This is accomplished by establishing, in response to a multi-row update operation request, an execution module of a program containing sets of machine language code instructions implementing the update operation request with a savepoint request at the beginning of the execution module of the program. For each set of machine language code instructions in or called by the execution module which modified the user perceived system state, information is logged to a soft log. Upon completing the execution module of the program, the savepoint is dropped, 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. Responsive to the detection of an error during execution of the execution module of the program, the soft logged information is used to restore the user perceived state to that existing at the time of the savepoint request.

Inventors

  • 👤 Jerry W. Baker
  • 👤 Richard A. Crus
  • 👤 Donald J. Haderle

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 09:55
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/461; G06F9/463; G06F11/00; G06F11/07; G06F11/14; G06F11/1474; G06F16/00; G06F16/20; G06F16/28; G06F16/284; G06F2201/00; G06F2201/80; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99953

Claims Analysis

Total Claims: 9
Claim 1
Independent Claim 228 words
A method for assuring atomicity of user requested multi-row update operations to tables in a relational database, guaranteeing that for any update operation that succeeds all stated effects will have occurred and that for any update operation of the type including UPDATE, INSERT, and DELETE that fails, the system state as perceived by the user remains unchanged, comprising the steps of: in response to an update operation request, establishing an execution module of a program containing sets of machine language code instructions implementing the update operation request with a savepoint request at the beginning of the execution module of the program; for each set of machine language code instructions in or called by the execution module of the program which modifies the user perceived system state, selectively recording in a soft or hard log information required to reverse the update operation in order that it appears that the operation was never performed; upon completing the execution module of the program, dropping the savepoint and 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 the information selectively recorded in the soft or hard log, restoring the user perceived state to that at the time of the savepoint request.
Claim 2
Independent Claim 228 words
A method for assuring atomicity of user requested multi-row update operations to tables in a relational database, guaranteeing that for any update operation that succeeds all stated effects will have occurred and that for any update operation of the type including UPDATE, INSERT, and DELETE that fails, the system state as perceived by the user remains unchanged, comprising the steps of: in response to an update operation request, establishing an execution module of a program containing sets of machine language code instructions implementing the update operation request with a savepoint request at the beginning of the execution module of the program; for each set of machine language code instructions in or called by the execution module of the program which modifies the user perceived system state, selectively recording in a soft or hard log information required to reverse the update operation in order that it appears that the operation was never performed; upon completing the execution module of the program, dropping the savepoint and 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 the information selectively recorded in the soft or hard log, restoring the user perceived state to that at the time of the savepoint request.
Claim 3
Independent Claim 129 words
A method of operating a computing system including a database management system which provides for multi-row update and related savepoint recovery request operations with respect to data, comprising the steps of: for each update operation, logging selectively to a soft log in a main storage and to a hard log in a non-volatile storage changes made to the data; responsive to an error not involving loss of information in the soft log, restoring the data to their state at the beginning of the multi-row update operation in which the error occurs; and responsive to an error involving loss of information in said soft log, restoring the data to their state at the time of the savepoint recovery request related to the multi-row update operation in which the error occurs.
Claim 4
Independent Claim 129 words
A method of operating a computing system including a database management system which provides for multi-row update and related savepoint recovery request operations with respect to data, comprising the steps of: for each update operation, logging selectively to a soft log in a main storage and to a hard log in a non-volatile storage changes made to the data; responsive to an error not involving loss of information in the soft log, restoring the data to their state at the beginning of the multi-row update operation in which the error occurs; and responsive to an error involving loss of information in said soft log, restoring the data to their state at the time of the savepoint recovery request related to the multi-row update operation in which the error occurs.
Claim 5
Dependent Claim 138 words
The method of claim 2, wherein the step of logging to the hard log changes made to the data includes the steps of: recording in the hard log an identifier of the data being changed and an identifier of a resource manager making the change; recording in the hard log selectively either information required to reserve a said update operation in order that it appears that the update operation was never performed, information required to re-perform a said update operation, or both such information; and responsive to an error involving loss of information in said soft log, restoring the data to their state at the beginning of the related recovery request by reference to the information required to reverse the update operation in which the error occurs in order that it appears that the operation was never performed.
Claim 6
Independent Claim 89 words
A method for operating a computing apparatus including a database management system for updating, deleting, or inserting data in tables of a relational database, comprising the steps: selectively updating the database in a multi-row update operation including update, insert, and delete; recording in a hard log a record of the update operation if made to data where the data operated on are copied to a non-volatile storage; and recording in a soft log a record of the update operation if made to data where the data are not recoverable.
Claim 7
Independent Claim 89 words
A method for operating a computing apparatus including a database management system for updating, deleting, or inserting data in tables of a relational database, comprising the steps: selectively updating the database in a multi-row update operation including update, insert, and delete; recording in a hard log a record of the update operation if made to data where the data operated on are copied to a non-volatile storage; and recording in a soft log a record of the update operation if made to data where the data are not recoverable.
Claim 8
Dependent Claim 131 words
The method of claim 4 comprising the further steps: recording a hard log savepoint request including a savepoint name at the beginning of the multi-row update operation in the tables of the relational database; recording a soft log savepoint request at the beginning of the multi-row update operation wherein the soft log savepoint record includes the savepoint name, a pointer to the hard log savepoint record recorded for this multi-row update operation, and a list of entries including record identifiers of positions of the database to be saved; and responsive to a failure occurring during the multi-row update operation, restoring the table of the relational database multi-row update operation in which the error occurs to its state at the time of recording the savepoint request in the soft or hard log.
Claim 9
Dependent Claim 98 words
The method of claim 5 comprising the further steps: obtaining from the soft log savepoint record the pointer of the hard log savepoint request and the entries of the positions of the database to be saved; processing the hard log requests for information necessary to reserve an update operation in order that it appears that the operation was never performed from the point of the failure back to the hard log savepoint request; and restoring the positions of the database identified by the soft log savepoint request to their positions at the time the savepoint request was made.

References Cited (Backward Citations)

US4042912A Cited
US4130867A Cited
US4159517A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1988-02-05 1988-08-06 1989-02-05 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1992-02-05 1992-08-06 1993-02-05 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1996-02-05 1996-08-06 1997-02-05 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag