IP Library Granted Patent US 10,430,409
Granted Patent B2
US 10,430,409 · App. 15/095,826 · Granted Oct 1, 2019

Maintenance of active database queries

Inventor: Todd L. Veldhuizen (Waterloo, CA)
Assignee: INFOR (US), INC.
G06F16/24539G06F16/2308G06F16/2379G06F16/245G06F16/24537
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,430,409
App. No.
15/095,826
Granted
Oct 1, 2019
Kind
B2
Abstract

An aspect includes a method for maintaining active queries. The method includes executing a query based on data items in at least two relations in a database. The executing includes outputting a query result and control information associated with the query. The query result and the control information are recorded. A notification that at least one of the data items has been updated subsequent to the executing is received. The query result is modified, responsive to the control information, to reflect the data items that were updated subsequent to the executing.

Claims (40)

1. A method to maintain active queries, the method comprising:

executing a query based on data items in at least two relations in a database, the executing including outputting a query result and a sensitivity index associated with the query, the sensitivity index indicating potential changes to the database that may impact the query result; and

recording the query result and the sensitivity index.

2. The method of claim 1 , further comprising:

receiving, subsequent to the executing, a notification of a first update to a first data item within the database; and

modifying, in response to determining that the first update may impact the query result based on the sensitivity index, the query result to reflect an update of the first data item; and

updating the sensitivity index based on the modifying of the query.

3. The method of claim 2 , further comprising:

receiving, subsequent to updating the sensitivity index, a second notification of a second update to a second data item within the database; and

modifying, in response to determining that the second update may impact the query result based on the sensitivity index, the modified query result to reflect an update of the second data item; and

updating the sensitivity index based on the modifying of the modified query.

4. The method of claim 2 , wherein the transaction executes concurrently with another transaction and the first update to the first data item was controlled by the another transaction in response to the another transaction committing to the database.

5. The method of claim 1 , wherein the executing includes performing a merge-join operation and the sensitivity index is generated based on merge-join trace information.

6. The method of claim 1 , wherein the sensitivity index identifies key values that, if modified, have a potential to change the query result.

7. The method of claim 1 , wherein the sensitivity index associated with the query is based on trace information collected during the executing.

8. The method of claim 1 , wherein the recording includes materializing a view of the query result.

9. The method of claim 1 , wherein the query is one of a plurality of queries that form a transaction that is required to be consistent with a state of the database at the time that the transaction commits.

10. A system for maintaining active queries, comprising:

a memory having computer readable computer instructions; and

a processor for executing the computer readable instructions to perform a method comprising:

executing a query based on data items in at least two relations in a database, the executing including outputting a query result and a sensitivity index associated with the query, the sensitivity index indicating potential changes to the database that may impact the query result; and

recording the query result and the sensitivity index.

11. The system of claim 10 , further comprising:

receiving, subsequent to the executing, a notification of a first update to a first data item within the database; and

modifying, in response to determining that the first update may impact the query result based on the sensitivity index, the query result to reflect an update of the first data item; and

updating the sensitivity index based on the modifying of the query.

12. The system of claim 11 , wherein the method further comprises:

receiving, subsequent to updating the sensitivity index, a second notification of a second update to a second data item within the database; and

modifying, in response to determining that the second update may impact the query result based on the sensitivity index, the modified query result to reflect an update of the second data item; and

updating the sensitivity index based on the modifying of the modified query.

13. The system of claim 11 , wherein the transaction executes concurrently with another transaction and the first update to the first data item was controlled by the another transaction in response to the another transaction committing to the database.

14. The system of claim 10 , wherein the executing includes performing a merge-join operation and the sensitivity index is generated based on merge-join trace information.

15. The system of claim 10 , wherein the sensitivity index identifies key values that, if modified, have a potential to change the query result.

16. The system of claim 10 , wherein the sensitivity index associated with the query is based on trace information collected during the executing.

17. The system of claim 10 , wherein the recording includes materializing a view of the query result.

18. The system of claim 10 , wherein the query is one of a plurality of queries that form a transaction that is required to be consistent with a state of the database at the time that the transaction commits.

19. A computer program product for maintaining active queries, the computer program product comprising a non-transitory computer readable storage medium having computer-readable program code embodied thereon, which when executed by a computer processor, causes the computer processor to implement a method, the method comprising:

executing a query based on data items in at least two relations in a database, the executing including outputting a query result and a sensitivity index associated with the query, the sensitivity index indicating potential changes to the database that may impact the query result; and

recording the query result and the sensitivity index.

20. The computer program product of claim 19 , wherein the executing includes performing a merge-join operation and the sensitivity index is generated based on merge-join trace information.

Assignments (7)
CHANGE OF NAME Recorded Apr 26, 2021
From: INFOR (US), INC.
To: INFOR (US), LLC
Reel/Frame 056048/0944 →
MERGER Recorded Jun 19, 2019
From: LOGICBLOX, INC.
To: LOGICBLOX-PREDICTIX ACQUISITIONCO, INC.
Reel/Frame 049519/0489 →
MERGER Recorded Jun 19, 2019
From: LOGICBLOX-PREDICTIX ACQUISTIONCO, INC.
To: LOGICBLOX-PREDICTIX MIDCO, LLC
Reel/Frame 049519/0716 →
MERGER Recorded Jun 19, 2019
From: LOGICBLOX-PREDICTIX MIDCO, LLC
To: INFOR RETAIL HOLDINGS, INC.
Reel/Frame 049519/0856 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2019
From: INFOR RETAIL HOLDINGS, INC.
To: LOGICBLOX LLC
Reel/Frame 049519/0955 →
MERGER Recorded Jun 19, 2019
From: LOGICBLOX LLC
To: INFOR (US), INC.
Reel/Frame 049520/0138 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2017
From: VELDHUIZEN, TODD L.
To: LOGICBLOX, INC.
Reel/Frame 040948/0832 →