Method for maintaining log compatibility in database systems
First Claim
1. In a database system, said database system maintaining a log for recording transactions which occur in said system, an improved method for translating logging information from one version of the system to another, the method comprising:
- storing information about the transactions which occur in the system as a plurality of log records, each log record having a particular log record type and being associated with a particular version of the system in use when said each log record is created;
receiving a request to process a particular set of log records;
determining for said particular set of log records whether a different version of the system was in use to create the log records;
if the determined version is different from the current version of the system, establishing a translation methods table, said table having one entry for each particular type of log record, wherein each entry references a particular translation method for each particular type of log record;
receiving a request for access to said particular set of log records; and
in response to said request, providing access to logging information which has been translated to the current version, by performing for each log record the following substeps;
determining a type for the log record;
based on the determined type, determining a particular translation method for the log record;
translating logging information in the log record to the current version by invoking said particular translation method; and
satisfying said request by providing access to the translated logging information.
1 Assignment
0 Petitions
Accused Products
Abstract
A relational database system providing improved data structures and methods which operate for translating log records is described. A table of translation functions or methods (pointers) is provided, one per "logop" (i.e., log operation) record type. The logop, which is a single byte value, can be used as an index into the table. During times when a log incompatibility state exists in a database, a Log Compatibility module is invoked for performing appropriate translations. In the client'"'"'s stack space, hidden from client code, a buffer is provided in which a reformatted log record can be stored. An appropriate translate method installed for the current logop is called; it procures a pointer to that buffer, and reformats the log record into that space. The system returns to the client a pointer to a reformatted log record in its own stack space, with the client largely unaware of the issue. Thus, each logop code indexes (in natural order) into an array or table which, in turn, references particular methods which perform appropriate translation, with the client (caller) receiving a pointer to the translated log record in the client'"'"'s stack space.
129 Citations
8 Claims
-
1. In a database system, said database system maintaining a log for recording transactions which occur in said system, an improved method for translating logging information from one version of the system to another, the method comprising:
-
storing information about the transactions which occur in the system as a plurality of log records, each log record having a particular log record type and being associated with a particular version of the system in use when said each log record is created; receiving a request to process a particular set of log records; determining for said particular set of log records whether a different version of the system was in use to create the log records; if the determined version is different from the current version of the system, establishing a translation methods table, said table having one entry for each particular type of log record, wherein each entry references a particular translation method for each particular type of log record; receiving a request for access to said particular set of log records; and in response to said request, providing access to logging information which has been translated to the current version, by performing for each log record the following substeps; determining a type for the log record; based on the determined type, determining a particular translation method for the log record; translating logging information in the log record to the current version by invoking said particular translation method; and satisfying said request by providing access to the translated logging information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
Specification