Transient and Persistent Representation of a Unified Table Metadata Graph
US-2016147445-A1 · May 26, 2016 · US
US9792318B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9792318-B2 |
| Application number | US-201414553790-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 25, 2014 |
| Priority date | Nov 25, 2014 |
| Publication date | Oct 17, 2017 |
| Grant date | Oct 17, 2017 |
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 database upon opening each of at least one cursor for a transaction, assigns each statement forming part of a transaction a statement sequence number (SSN) involving at least one row of the database. Thereafter, temporary timestamps are assigned to the at least one row using a transaction identifier and the corresponding SSN. Further, active cursors are monitored such that a final timestamp is prevented from being associated with each row until it has no remaining cursors. Related apparatus, systems, techniques and articles are also described.
Opening claim text (preview).
What is claimed is: 1. A method for implementation by one or more hardware data processors forming part of at least one computing device, the method comprising: opening a cursor defining a result set for a transaction on a database, the result set comprising a set of rows in a table of the database that the cursor affects, the transaction having an associated transaction identifier and comprising one or more statements, each statement involving at least one row of the set of rows; assigning a temporary timestamp to each row in the set of rows, the assigning of the temporary timestamp comprising identifying, for each row of the set of rows, a statement sequence number assigned to a statement of the one or more statements that involves that row and the associated transaction identifier for the transaction comprising the statement; monitoring a plurality of active cursors, the plurality of active cursors comprising the cursor, the monitoring comprising determining whether a given row of the table is affected by any active cursor; and preventing a final timestamp to be associated with the given row until there are no remaining active cursors for the given row, the preventing comprising determining that none of the plurality of active cursors relates to any transaction identifiers or statement sequence numbers of the temporary timestamp for the given row. 2. The method of claim 1 , wherein the database is an in-memory database. 3. The method of claim 2 , wherein the database is a columnar in-memory database. 4. The method of claim 1 , wherein the transaction has a corresponding transaction control block index that is specific to such transaction. 5. The method of claim 1 , wherein the temporary timestamp is generated by a commit timestamp generator. 6. The method of claim 1 , wherein the transaction has a corresponding transaction control block index that is specific to such transaction. 7. The method of claim 6 , wherein a visibility function determines whether a record is visible to the transaction if the transaction control block index value of the corresponding temporary timestamp is less than the transaction control block index of the transaction. 8. A non-transitory computer program product storing instructions which, when executed by at least one hardware data processor forming part of at least one computing system, result in operations comprising: opening a cursor defining a result set for a transaction on a database, the result set comprising a set of rows in a table of the database that the cursor affects, the transaction having an associated transaction identifier and comprising one or more statements, each statement involving at least one row of the set of rows; assigning a temporary timestamp to each row in the set of rows, the assigning of the temporary timestamp comprising identifying, for each row of the set of rows, a statement sequence number assigned to a statement of the one or more statements that involves that row and the associated transaction identifier for the transaction comprising the statement; monitoring a plurality of active cursors, the plurality of active cursors comprising the cursor, the monitoring comprising determining whether a given row of the table is affected by any active cursor; and preventing a final timestamp to be associated with the given row until there are no remaining active cursors for the given row, the preventing comprising determining that none of the plurality of active cursors relates to any transaction identifiers or statement sequence numbers of the temporary timestamp for the given row. 9. The computer program product of claim 8 , wherein the database is an in-memory database. 10. The computer program product of claim 9 , wherein the database is a columnar in-memory database. 11. The computer program product of claim 8 , wherein the transaction has a corresponding transaction control block index that is specific to such transaction. 12. The computer program product of claim 8 , wherein the timestamp is generated by a commit timestamp generator. 13. The computer program product of claim 8 , wherein the transaction has a corresponding transaction control block index that is specific to such transaction. 14. The computer program product of claim 8 , wherein a visibility function determines whether a record is visible to the transaction if the transaction control block index value of the corresponding temporary timestamp is less than the transaction control block index of the transaction. 15. A system comprising: an in-memory database comprising: at least one hardware data processor; and memory storing instructions which, when executed by the at least one hardware data processor, result in operations comprising: opening a cursor defining a result set for a transaction on the in-memory database, the result set comprising a set of rows in a table of the database that the cursor affects, the transaction having an associated transaction identifier and comprising one or more statements, each statement involving at least one row of the set of rows; assigning a temporary timestamp to each row in the set of rows, the assigning of the temporary timestamp comprising identifying, for each row of the set of rows, a statement sequence number assigned to a statement of the one or more statements that involves that row and the associated transaction identifier for the transaction comprising the statement; monitoring a plurality of active cursors, the plurality of active cursors comprising the cursor, the monitoring comprising determining whether a given row of the table is affected by any active cursor; and preventing a final timestamp to be associated with the given row until there are no remaining active cursors for the given row, the preventing comprising determining that none of the plurality of active cursors relates to any transaction identifiers or statement sequence numbers of the temporary timestamp for the given row. 16. The system of claim 15 , wherein the transaction has a corresponding transaction control block index that is specific to such transaction. 17. The system of claim 15 , wherein the timestamp is generated by a commit timestamp generator. 18. The system of claim 15 , wherein the transaction has a corresponding transaction control block index that is specific to such transaction.
Ensuring data consistency and integrity · CPC title
Physics · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.