Conditional commit for data in a database
AssigneeMatrixx Software, Inc.
InventorDavid Labuda
Life of this patent
Estimating the term…
Abstract
A database comprises a database interface and a database updater. The database interface enables a reading of a first set of information from the database. The database updater updates a second set of information in the database based at least in part on one or more conditions. The one or more conditions limit changes allowable to the first set of information from the database that occurred after the reading of the first set of information from the database.
Claims16
A conditionally updated database, comprising:
- a database interface, wherein the database interface enables a reading of a first set of information from the database during a first transaction and receiving a conditional update instruction for a second set of information in the database during the first transaction based at least in part on the first set of information from the database;
- a database updater, comprising a processor, wherein the database updater allows other transactions to read and modify the first set of information and the second set of information in the database, wherein the database updater is configured to:
- in the event that one or more conditions in the conditional update instruction are met, commit an update of the second set of information in the database to a commit queue, wherein the one or more conditions limit changes allowable to the second set of information from the database that occurred after the reading of the first set of information from the database, wherein the one or more conditions comprise at least one of the following:
- a condition that a database entry is less than an upper limit, is less than or equal to the upper limit value, is more than a lower limit value, is more than or equal to the lower limit, is equal to a predetermined value, or the condition comprises an action related to a database value since a specific prior read or a specific prior write;
- and
- in the event that the update of the second set of information reaches an end of the commit queue and in the event that the one or more conditions in the conditional update instruction are met, the update of the second set of information is written to a logging storage.
A method for a conditionally updated database, comprising:
- enabling a reading of a first set of information from the database during a first transaction;
- receiving a conditional update data instruction for a second set of information in the database during the first transaction based at least in part on the first set of information from the database;
- and
- allowing other transactions to read and modify the first set of information and second set of information in the database;
- in the event that one or more conditions in the conditional update instruction are met, committing, using a processor, an update of the second set of information in the database based at least in part on one or more conditions to a commit queue, wherein the one or more conditions limit changes allowable to the second set of information from the database that occurred after the reading of the first set of information from the database, wherein the one or more conditions comprise at least one of the following:
- a condition that a database entry is less than an upper limit, is less than or equal to the upper limit value, is more than a lower limit value, is more than or equal to the lower limit, is equal to a predetermined value, or the condition comprises an action related to a database value since a specific prior read or a specific prior write;
- in the event that the update of the second set of information reaches an end of the commit queue and in the event that the one or more conditions in the conditional update instruction are met, the update of the second set of information is written to a logging storage.
A computer program product for a database, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
- enabling a reading of a first set of information from the database during a first transaction;
- receiving a conditional update data instruction for a second set of information in the database during the first transaction based at least in part on the first set of information from the database;
- allowing other transactions to read and modify the first set of information and second set of information in the database;
- in the event that one or more conditions in the conditional update instruction are met, committing, using a processor, an update of the second set of information in the database based at least in part on one or more conditions to a commit queue, wherein the one or more conditions limit changes allowable to the second set of information from the database that occurred after the reading of the first set of information from the database, wherein the one or more conditions comprise at least one of the following:
- a condition that a database entry is less than an upper limit, is less than or equal to the upper limit value, is more than a lower limit value, is more than or equal to the lower limit, is equal to a predetermined value, or the condition comprises an action related to a database value since a specific prior read or a specific prior write;
- in the event that the update of the second set of information reaches an end of the commit queue and in the event that the one or more conditions in the conditional update instruction are met, the update of the second set of information is written to a logging storage.
Dependencies are inferred from the claim text.