IP Library Granted Patent US 9,672,241
Granted Patent B2
US 9,672,241 · App. 14/288,884 · Granted Jun 6, 2017

Representing an outlier value in a non-nullable column as null in metadata

Inventor: Garth A. Dickie (Framingham, MA)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F17/30371
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,672,241
App. No.
14/288,884
Granted
Jun 6, 2017
Kind
B2
Abstract

According to embodiments of the present invention, methods, systems and computer-readable media are presented for accessing data within a database object, wherein an element of the database object is stored among a plurality of different storage regions with each storage region being associated with first and second range values indicating a value range for element values within that storage region. One or more element values within a storage region are identified residing outside a range of values of remaining elements within that storage region. Each identified element value is mapped to a second value. The first and second range values are determined for the storage region in accordance with the range of values of the remaining elements within that storage region. The storage region is scanned in accordance with a comparison of a requested value to at least one of the determined first and second range values of those storage regions.

Claims (32)

1. A computer-implemented method of accessing data within a database object, wherein an element of the database object is stored among a plurality of different storage regions in persistent storage with each storage region being associated with first and second range values indicating a value range for element values within that storage region, the computer-implemented method comprising:

identifying one or more element values within a storage region in persistent storage residing outside a range of values of remaining elements within that storage region, wherein the storage region contains column data in the persistent storage for a database program not allowing processing on columns with NULL values;

storing each identified element value in metadata of the storage region and mapping each identified element value to a NULL value in persistent storage;

determining the first and second range values for the storage region in accordance with the range of values of the remaining elements within that storage region;

scanning the storage region in accordance with a comparison of a requested value of a query to at least one of the determined first and second range values of those storage regions, wherein scanning the storage region comprises re-writing the query to account for the mapped NULL value in persistent storage of each identified element value; and

substituting the mapped NULL value of each identified element value in persistent storage with the corresponding stored identified element value in the metadata of the storage region to provide non-null column data for the database program to process the query.

2. The computer-implemented method of claim 1 , wherein the database object includes a database table, and the database object element includes a database table column.

3. The computer-implemented method of claim 1 , wherein at least one identified element value is generated from rolling back a prior database operation.

4. The computer-implemented method of claim 1 , wherein each identified element value is zero.

5. The computer-implemented method of claim 1 , further comprising setting a flag in metadata, indicating whether mapped NULL values are present within the corresponding storage region.

6. A system comprising:

a memory comprising a plurality of different storage regions in persistent storage with each storage region being associated with first and second range values indicating a value range for element values within that storage region and wherein an element of a database object is stored among the plurality of different storage regions;

a network interface; and

a processor configured to:

identify one or more element values within a storage region in persistent storage residing outside a range of values of remaining elements within that storage region, wherein the storage region contains column data in the persistent storage for a database program not allowing processing on columns with NULL values;

store each identified element value in metadata of the storage region and map each identified element value to a NULL value in persistent storage;

determine the first and second range values for the storage region in accordance with the range of values of the remaining elements within that storage region;

scan the storage region in accordance with a comparison of a requested value of a query to at least one of the determined first and second range values of those storage regions, wherein scanning the storage region comprises re-writing the query to account for the mapped NULL value in persistent storage of each identified element value; and

substitute the mapped NULL value of each identified element value in persistent storage with the corresponding stored identified element value in the metadata of the storage region to provide non-null column data for the database program to process the query.

7. The system of claim 6 , wherein the database object includes a database table, and the database object element includes a database table column.

8. The system of claim 6 , wherein at least one identified element value is generated from rolling back a prior database operation.

9. The system of claim 6 , wherein each identified element value is zero.

10. The system of claim 6 , wherein the processor is configured to set a flag in metadata, indicating whether mapped NULL values are present within the corresponding storage region.

11. A computer program product for providing information to a user, wherein an element of a database object is stored among a plurality of different storage regions in persistent storage with each storage region being associated with first and second range values indicating a value range for element values within that storage region, and the computer program product comprising a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code, when executed by a processor, causes the processor to:

identify one or more element values within a storage region in persistent storage residing outside a range of values of remaining elements within that storage region, wherein the storage region contains column data in the persistent storage for a database program not allowing processing on columns with NULL values;

store each identified element value in metadata of the storage region and map each identified element value to a NULL value in persistent storage;

determine the first and second range values for the storage region in accordance with the range of values of the remaining elements within that storage region;

scan the storage region in accordance with a comparison of a requested value of a query to at least one of the determined first and second range values of those storage regions, wherein scanning the storage region comprises re-writing the query to account for the mapped NULL value in persistent storage of each identified element value; and

substitute the mapped NULL value of each identified element value in persistent storage with the corresponding stored identified element value in the metadata of the storage region to provide non-null column data for the database program to process the query.

12. The computer program product of claim 11 , wherein the database object includes a database table, and the database object element includes a database table column.

13. The computer program product of claim 11 , wherein at least one identified element value is generated from rolling back a prior database operation.

14. The computer program product of claim 11 , wherein each identified element value is zero.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2014
From: DICKIE, GARTH A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 032976/0798 →
Continuity (1)
Related Publication 20150347492A1 · Dec 3, 2015