IP Library Granted Patent US 9,460,138
Granted Patent B2
US 9,460,138 · App. 14/292,229 · Granted Oct 4, 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,460,138
App. No.
14/292,229
Granted
Oct 4, 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 (46)

1. An apparatus, comprising:

a processor; and

a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to:

determine a table includes a first field having a first input value, the first input value including a special character that indicates that a first dynamic data function is to be utilized to determine a first output value for the first field, the first dynamic data function being a function that retrieves dynamic data when the first field is read;

determine, in response to a request to create an index including the first field, whether the first dynamic data function is deterministic,

determine, in response to determining that the first dynamic data function is deterministic, the first output value for the first field using the first dynamic data function, and

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

2. An apparatus, comprising:

a processor; and

a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to:

determine a 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,

determine, in response to a request to create an index including the first field, whether the first dynamic data function is deterministic,

determine, in response to determining the first dynamic data function to be deterministic, the first output value for the first field using the first dynamic data function, and

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

3. The apparatus of claim 1 , further comprising instructions which, when executed by the processor, cause the processor to:

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

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

4. The apparatus of claim 1 , wherein the first dynamic data function includes a specific system function, and further comprising instructions which, when executed by the processor, cause the processor to:

create a specific index for the specific system function.

5. The apparatus of claim 1 , further comprising instructions which, when executed by the processor, cause the processor to create a sparse index using the first output value for the first field.

6. The apparatus of claim 1 , wherein determine whether the first dynamic data function is deterministic includes analyzing a first dynamic data function definition, stored in a bit map, that defines the first dynamic data function.

7. The apparatus of claim 1 , wherein determine whether the first dynamic data function is deterministic includes analyzing a first dynamic data function definition, stored in a multi-dimensional array, that defines the first dynamic data function.

8. The apparatus of claim 1 , wherein the first field includes a checkbox system configured to identify the dynamic data function as deterministic or nondeterministic.

9. The apparatus of claim 1 , wherein determining the first dynamic data function is deterministic 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 the same.

10. The apparatus of claim 1 , wherein 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.

11. The apparatus of claim 1 , wherein the index is stored on a first system, the apparatus further comprising instructions which, when executed by the processor, cause the processor to:

receive a request to create the index on a second system;

invalidate, in response to receiving the request to create the index on the second system, the index on the first system; and

generate the index on the second system using the first dynamic data function.

12. The apparatus of claim 1 , wherein the index is stored on a first system, the apparatus further comprising instructions which, when executed by the processor, cause the processor to:

receive a request to create the index on a second system;

delete, in response to receiving the request to create the index on the second system, the index on the first system; and

generate the index on the second system using the first dynamic data function.

13. The apparatus of claim 3 , wherein determining the first dynamic data function to be 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.

14. The apparatus of claim 3 , 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.

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