Generation of a multi-tenant skinny table for a base table
US-2019138658-A1 · May 9, 2019 · US
US11269741B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11269741-B2 |
| Application number | US-201916525818-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 30, 2019 |
| Priority date | Jul 30, 2019 |
| Publication date | Mar 8, 2022 |
| Grant date | Mar 8, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.