# US 2013/0159247 A1 · Change data capturing during an upgrade

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2013/0159247 A1
- Document ID: US20130159247A1
- Status: Published application
- Kind: A1
- Application number: 13/325,896
- Filed: 2011-12-14
- Published: 2013-06-20
- Earliest claimed: 2011-12-14
- Assignees: Sap SE
- Inventors: Andrey Engelko; Wieland Hoprich; Dirk Debertin; Klaus Daschawkowsky; Tobias Wenner
- Web page: https://patentgrep.com/patent/US20130159247A1

## CPC

- G06F 16/219: {Managing data history or versioning (querying versioned data G06F16/2474; querying temporal data G06F16/2477)}
- G06F 16/23: Updating
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In one general aspect, a computer system can include instructions stored on a non-transitory computer-readable storage medium. The computer system can include a logging table generator configured to generate a logging table corresponding with an original table targeted for an upgrade, and a control table generator configured to generate a control table configured to store a version identifier for changes logged in the logging table. The computer system can include a change recorder configured to receive an indicator of a change to a record of the original table during execution of at least a portion of the upgrade of the original table, and a key recorder configured to store in the logging table a primary key identifying the record of the original table and the version identifier stored in the control table.

## Claims

### Claim 1

A computer system including instructions stored on a non-transitory computer-readable storage medium, the computer system comprising:
a logging table generator configured to generate a logging table corresponding with an original table targeted for an upgrade;
a control table generator configured to generate a control table configured to store a version identifier for changes logged in the logging table;
a change recorder configured to receive an indicator of a change to a record of the original table during execution of at least a portion of the upgrade of the original table; and
a key recorder configured to store in the logging table a primary key identifying the record of the original table and the version identifier stored in the control table,
wherein all data included in the record and associated with the primary key is excluded from the logging table.

### Claim 2 (depends on 1)

The computer system of claim 1, wherein the change to the record occurs at a first time, the change recorder configured to receive an indicator of a change to the record at a second time after the first time, the primary key is stored only once in the logging table for the change to the record at the first time and for the change to the record at the second time.

### Claim 3 (depends on 1)

The computer system of claim 1, further comprising:
an upgrade module configured to generate a shadow table corresponding with the original table, the portion of the upgrade including operating on the shadow table while the original table is in uptime.

### Claim 4 (depends on 1)

The computer system of claim 1, wherein the version identifier is a first version identifier,
the computer system further comprising:
a version generator configured to toggle between the first version identifier and a second version identifier associated with one or more secondary changes to records of the original table during the upgrade.

### Claim 5

(canceled)

### Claim 6 (depends on 1)

The computer system of claim 1, wherein the logging table is included in a plurality of logging tables associated with a plurality of original tables including the original table, each original table from the plurality of tables is associated a single logging table from the plurality of logging tables.

### Claim 7 (depends on 1)

The computer system of claim 1, wherein the logging table is included in a plurality of logging tables, the control table is a single control table associated with the plurality of logging tables.

### Claim 8 (depends on 1)

The computer system of claim 1, where the change to the record includes a modification of the record,
the computer system further comprising:
a view generator configured to define, based on the logging table, the original table, and the control table, a modification view including a reference to the record of the original table, the view generator configured to provide the modification view to a user such that the user can view the modification of the record.

### Claim 9 (depends on 1)

The computer system of claim 1, where the change to the record includes a deletion of the record,
the computer system further comprising:
a view generator configured to define, based on the logging table, the original table, and the control table, a deletion view including the primary key of the record of the original table, the view generator configured to provide the deletion view to a user such that the user can review the deletion of the record.

### Claim 10 (depends on 1)

The computer system of claim 1, wherein the logging table has a first partition for identifying changes to the original table during a first time period and a second partition for identifying changes to the original table during a second time period, the version identifier including a first version identifier associated with the first partition and a second version identifier associated with the second partition,
the computer system further comprising:
a change transfer module configured to transfer the identified changes associated with the first version identifier from the first partition during the second time period during which primary keys of records associated with the second version identifier are stored in the second partition of the logging table by the key recorder.

### Claim 11 (depends on 10)

The computer system of claim 10, wherein
the change transfer module is configured to lock the first partition of the logging table while the identified changes associated with the first version identifier are transferred from the first partition such that information cannot be recorded to the first partition, and the key recorder is configured to store the primary keys of records associated with the second version identifier while the first partition is locked.

### Claim 12 (depends on 1)

The computer system of claim 1, wherein the change to the record is included in a batch of changes associated with the version identifier,
the computer system further comprising:
a change transfer module configured to transfer the batch of changes to a shadow table included in a shadow system while recording changes to the original table in a second batch of changes remains enabled.

### Claim 13 (depends on 1)

The computer system of claim 1, wherein the primary key includes a plurality of keys,
the computer system further comprising:
an index module configured to define a unique index for the primary key when a number of keys included in the plurality of keys is less than a threshold value and configured to define a non-unique index for the primary key when the number of keys included in the plurality of keys is greater than or equal to the threshold value.

### Claim 14 (depends on 1)

The computer system of claim 1, wherein the primary key includes a plurality of keys,
the computer system further comprising:
an index module configured to define a non-unique index including a number of fields when a total number of fields including the plurality of keys and the version identifier is more than sixteen.

### Claim 15

A non-transitory computer-readable storage medium storing code representing instructions that when executed are configured to cause a processor to perform a process, the code comprising code to:
generate a logging table corresponding with an original table targeted for an upgrade;
generate a control table configured to store a version identifier for changes logged in the logging table;
receive an indicator of a change to a record of the original table during execution of at least a portion of the upgrade of the original table; and
store in the logging table a primary key identifying the record of the original table and the version identifier stored in the control table,
wherein specifics of the change to the record of the original table associated with the primary key is excluded from the logging table.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the change to the record occurs at a first time,
the code further comprising code to:
receive an indicator of a change to the record at a second time after the first time, the primary key being stored only once in the logging table for the change to the record at the first time and for the change to the record at the second time.

### Claim 17 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, further comprising code to:
generate a shadow table corresponding with the original table, the portion of the upgrade includes operating on the shadow table while the original table is in uptime.

### Claim 18

A method including executing instructions recorded on a non-transitory computer-readable storage media using at least one processor, the method comprising:
generating a logging table corresponding with an original table targeted for an upgrade,. the logging table including a first partition for logging changes to the original table during a first time period and a second partition for logging changes to the original table during a second time period;
generating a control table configured to store a first version identifier for changes logged in the first partition of the logging table during the first time period, and a second version identifier for changes logged in the second partition of the logging table during the second time period;
storing, in the first partition of the logging table, primary keys of records for the changes associated with the first version identifier during the first time period;
storing, in the second partition of the logging table, primary keys of records for the changes associated with the second version identifier during the second time period; and
transferring, from the first partition of the logging table, the changes associated with the first version identifier during the second time period during which the primary keys of records associated with the second version identifier are stored in the second partition.

### Claim 19

(canceled)

### Claim 20 (depends on 18)

The method of claim 18, further comprising:
generating a shadow table corresponding with the original table, the portion of the upgrade including operating on the shadow table while the original table is in uptime.

### Claim 21 (depends on 18)

The method of claim 18, further comprising:
locking the first partition of the logging table while the changes associated with the first version identifier are transferred from the first partition such that information cannot be recorded to the first partition; and
storing the primary keys of records associated with the second version identifier while the first partition is locked.
