Change-protected database system

US11269741B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11269741-B2
Application numberUS-201916525818-A
CountryUS
Kind codeB2
Filing dateJul 30, 2019
Priority dateJul 30, 2019
Publication dateMar 8, 2022
Grant dateMar 8, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A request to update an original data value in a first row in a database table in a database system. An updated data value is written to a second row in a staging table in the database system. The updated data value corresponds with the original data value. The first row includes a database table key, which is also included in the second row. The original data value in the database table is replaced with a corresponding replacement value, which is determined based on a value replacement update function that takes as input the updated data value. The staging table maintains a record value for reversing the update to the database table.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method comprising: receiving a first request to execute a database table change operation updating an original data value in a first row in a database table in a database system, the first row including a database table key; writing an updated data value to a second row in a staging table in the database system, the updated data value corresponding with the original data value, the second row including the database table key; determining a record value and a replacement value, by applying a value replacement update function stored in the database system, for swapping the original d value and the updated data value, wherein the swapping comprises: replacing the original data value in the database table with the replacement value; and replacing the updated data value in the staging table with the record value; and writing a reversal data value to the first row in the database table upon receiving a request to reverse the database table change operation, the reversal value determined by applying a value replacement restore function to the record value and the replacement value, the value replacement restore function inverting the value replacement update function. 2. The method recited in claim 1 , the method further comprising: receiving a second request to reverse the database table change operation. 3. The method recited in claim 2 , the method further comprising: receiving and executing a third request to update the updated data value, the third request occurring after the receipt of the first request and prior to the receipt of the second request. 4. The method recited in claim 1 , wherein the first request is included in a designated database transaction, and wherein the staging table includes only values associated with the designated database transaction. 5. The method recited in claim 1 , wherein the staging table is created after receiving the first request. 6. The method recited in claim 1 , wherein the staging table is implemented as a temporal database that stores values associated with a succession of changes to the database table. 7. The method recited in claim 1 , the method further comprising: determining whether to execute the first request by evaluating the first request based on one or more heuristics, the evaluation of the first request resulting in a risk level associated with the first request. 8. The method recited in claim 7 , wherein the original data value is replaced when the risk level does not exceed a designated threshold. 9. The method recited in claim 1 , wherein the database table is stored in a dynamic schema database, and wherein the first row is associated with a first entity definition that defines a data type for the original data value, and wherein the database table includes a third row associated with a second entity definition that differs from the first entity definition. 10. The method recited in claim 1 , wherein the database table is stored in a multitenant database, and wherein the first row includes an organization identifier. 11. A database system implemented using a server system, the database system configurable to cause: receiving a first request to execute a database table change operation updating an original data value in a first row in a database table in a database system, the first row including a database table key; writing an updated data value to a second row in a staging table in the database system, the updated data value corresponding with the original data value, the second row including the database table key; determining a record value and a replacement value, by applying a value replacement update function stored in the database system, for swapping the original d value and the updated data value, wherein the swapping comprises: replacing the original data value in the database table with the replacement value; and replacing the updated data value in the staging table with the record value; and writing a reversal data value to the first row in the database table upon receiving a request to reverse the database table change operation, the reversal value determined by applying a value replacement restore function to the record value and the replacement value, the value replacement restore function inverting the value replacement update function. 12. The database system recited in claim 11 , wherein the database system is further configurable to cause: receiving a second request to reverse the database table change operation. 13. The database system recited in claim 11 , wherein the database system is further configurable to cause: receiving and executing a third request to update the updated data value, the third request occurring after the receipt of the first request and prior to the receipt of the second request. 14. A computer program product comprising computer-readable program code capable of being executed by one or more processors when retrieved from a non-transitory computer-readable medium, the program code comprising instructions configurable to cause: receiving a first request to execute a database table change operation updating an original data value in a first row in a database table in a database system, the first row including a database table key; writing an updated data value to a second row in a staging table in the database system, the updated data value corresponding with the original data value, the second row including the database table key; determining a record value and a replacement value, by applying a value replacement update function stored in the database system, for swapping the original d value and the updated data value, wherein the swapping comprises: replacing the original data value in the database table with the replacement value; and replacing the updated data value in the staging table with the record value; and writing a reversal data value to the first row in the database table upon receiving a request to reverse the database table change operation, the reversal value determined by applying a value replacement restore function to the record value and the replacement value, the value replacement restore function inverting the value replacement update function.

Assignees

Inventors

Classifications

  • in transactions (updating of structured data in databases G06F16/23) · CPC title

  • Backup restoration techniques · CPC title

  • Monitoring of transactions · CPC title

  • Ensuring data consistency and integrity · CPC title

  • Updates performed during online database operations; commit processing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11269741B2 cover?
A request to update an original data value in a first row in a database table in a database system. An updated data value is written to a second row in a staging table in the database system. The updated data value corresponds with the original data value. The first row includes a database table key, which is also included in the second row. The original data value in the database table is repl…
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/1474. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 08 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 11 related publications on this page (citations in our corpus or others sharing the same primary CPC).