IP Library Granted Patent US 9,454,558
Granted Patent B2
US 9,454,558 · App. 14/259,926 · Granted Sep 27, 2016

Managing an index of a table of a database

Inventors: Rafal P. Konik (Oronoco, MN); Roger A. Mittelstadt (Byron, MN); Brian R. Muras (Rochester, MN); Mark W. Theuer (Rochester, MN)
Assignee: International Business Machines Corporation
G06F17/30339G06F17/2264
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 9,454,558
App. No.
14/259,926
Granted
Sep 27, 2016
Kind
B2
Abstract

A method, a system, and a computer program product for managing a database are disclosed. Managing the database includes managing an index of a table of the database. Managing the index includes determining the table includes a first field having a first input value configured to identify a first dynamic data function utilized to determine a first output value for the first field. In embodiments, managing the index includes determining the first dynamic data function is deterministic, determining the first output value for the first field using the first dynamic data function, and storing the first output value for the first field. In embodiments, managing the index includes determining the first dynamic data function is nondeterministic, determining a first special value to represent the first output value for the first field, and storing the first special value for the first field.

Claims (44)

1. A computer-implemented method of managing an index of a table of a database, the method comprising:

determining that the table includes a first field having a first input value configured to identify a first dynamic data function utilized to determine a first output value for the first field, the first dynamic data function being a database query;

determining, in response to a request to create an index entry in the index including the first field, that the first dynamic data function is deterministic, wherein the determining that the first dynamic data function is deterministic includes determining that a result of the query is unchanged based on a data-change temporal-identifier;

determining, in response to the first dynamic data function being deterministic, the first output value for the first field by executing the first dynamic data function; and

storing in the index, in response to determining the first output value for the first field, the first output value for the first field.

2. The method of claim 1 , wherein the first dynamic data function includes a specific system function, the method further comprising:

creating a specific index for the specific system function.

3. The method of claim 1 , further comprising creating a sparse index using the first output value for the first field.

4. The method of claim 1 , wherein determining the first dynamic data function is deterministic includes analyzing a first dynamic data function definition, stored in one of a bit map or a multi-dimensional array, that defines the first dynamic data function.

5. The method of claim 1 , wherein determining the first dynamic data function is deterministic includes determining, in response to determining the first dynamic data function is a specific system function, a computed value of the specific system function to be unchanged based on a varied-parameter for the specific system function.

6. The method of claim 1 , wherein the index is created on a first system, further comprising:

invalidating, in response to a request to create a second index on a second system, the index on the first system; and

creating, using the first dynamic data function, the second index on the second system.

7. The method of claim 6 , the method further comprising:

deleting, in response to receiving the request to create the second index on the second system, the index on the first system.

8. The method of claim 1 , wherein the determining that a result of the query is unchanged based on a data-change temporal-identifier comprises:

executing a first query run using the first dynamic data function at a first time;

executing a second query run using the first dynamic data function at a second time, the second time being subsequent to the first time;

comparing results from the execution of the query at the first and second times, wherein the results include a particular data-change temporal-identifier; and

determining, based on the comparing, that results of the first and second query runs have the same data-change temporal-identifier.

9. The method of claim 1 , wherein the first input value includes a tag that identifies the first dynamic data function as being utilized to determine the first output, wherein the tag is configurable by a user.

10. The method of claim 1 , wherein the first field has a first data type, the first data type indicating that the first field includes a dynamic data function.

11. The method of claim 1 , wherein the first field includes a checkbox system that is configured to identify the first dynamic data function as deterministic.

12. The method of claim 1 , wherein the determining that the first dynamic data function is deterministic comprises:

determining that the first dynamic data function is configured to compute a value for a set of digits of an IP address for a data center used for cloud computing.

13. A computer-implemented method of managing an index of a table of a database, the method comprising:

determining the table includes a first field having a first input value configured to identify a first dynamic data function utilized to determine a first output value for the first field;

determining, in response to a request to create an index entry in the index including the first field, the first dynamic data function is nondeterministic;

determining, in response to the first dynamic data function being nondeterministic, a first special value to represent the first output value for the first field; and

storing in the index, in response to determining the first special value, the first special value for the first field.

14. The method of claim 13 , wherein determining the first dynamic data function is nondeterministic includes analyzing a first dynamic data function definition, stored in one of a bit map or a multi-dimensional array, that defines the first dynamic data function.

15. The method of claim 13 , wherein determining the first dynamic data function is nondeterministic includes determining, in response to determining the first dynamic data function is a query, a result of the query to be changed based on a data-change temporal-identifier.

16. The method of claim 13 , wherein determining the first dynamic data function is nondeterministic includes determining, in response to determining the first dynamic data function is a specific system function, a computed value of the specific system function to be changed based on a varied-parameter for the specific system function.

17. The method of claim 13 , wherein the index is created on a first system, further comprising:

invalidating, in response to a request to create a second index on a second system, the index on the first system; and

creating, using the first dynamic data function, the second index on the second system.

18. The method of claim 13 , wherein determining the first dynamic data function is nondeterministic includes:

determining that the first dynamic data function is a query;

executing a first query run using the first dynamic data function at a first time;

executing a second query run using the first dynamic data function at a second time, the second time being subsequent to the first time;

comparing results from the execution of the query at the first and second times; and

determining, based on the comparing, that results of the first and second query runs are different.

19. The method of claim 13 , wherein the first input value includes a tag that identifies the first dynamic data function as being utilized to determine the first output, wherein the tag is configurable by a user.

20. The method of claim 13 , wherein the first field has a first data type, the first data type indicating that the first field includes a dynamic data function, and wherein the first field includes a checkbox system that is configured to identify the first dynamic data function as nondeterministic.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2014
From: KONIK, RAFAL P.; MITTELSTADT, ROGER A.; MURAS, BRIAN R.; THEUER, MARK W.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 032740/0595 →
Continuity (1)
Related Publication 20150310049A1 · Oct 29, 2015