Claims
- 1. A computer program product for use with a database management system, comprising:
- a computer usable medium having computer readable program code means embodied in said medium for mapping on demand a page of a data object contained in a database and stored in one or more database storage disks, wherein the database comprises one or more database data objects, wherein the database is accessed via a contiguous data space representation, the contiguous data space being represented by a plurality of concatenated sub-data spaces, wherein each sub-data space is a virtual data space of a maximum size that is addressable by a computer operating system, each sub-data space comprising a plurality of data segments, each data segment comprising a plurality of pages, wherein the pages of the contiguous data space representation are contiguous, each page comprising a known number of addressable storage locations, wherein the contiguous data space, the sub-data spaces, the data segments, and the pages are addressable by the database management system, wherein the address of a page to be mapped has been determined to be placed in a data segment of a sub-data space, said computer program product having:
- first computer readable program code means for determining whether the sub-data space has been created for representation in the contiguous data space;
- second computer readable program code means for creating the sub-data space for representation in the contiguous data space if said first computer readable program code means determines that the sub-data space has not been created in the contiguous data space;
- third computer readable program code means for creating a segment bit map for the sub-data space if said first computer readable program code means determines that the sub-data space has not been created in the contiguous data space, wherein said segment bit map comprises a plurality of bits, each bit representing a data segment contained in the sub-data space and indicating whether said data segment has been mapped to the database storage disk;
- fourth computer readable program code means for determining if a bit in said segment bit map is equal to a predetermined value, wherein said bit corresponds to the data segment of the sub-data space containing the page to be mapped, and said predetermined value indicates that the data segment corresponding to said bit has been mapped to the database storage disk;
- fifth computer readable program code means for mapping a data segment of the data object from the database storage disk to the data segment of the sub-data space, wherein said data segment from the database storage disk contains the page to be mapped, and said mapping occurs if said fourth computer readable program code means determines that said bit in said segment bit map does not equal said predetermined value; and
- sixth computer readable program code means for setting said bit in said segment bit map to said predetermined value, wherein said setting occurs when said fifth computer readable program code means is performed.
- 2. The computer program product according to claim 1, wherein the page to be mapped is to be modified, thereby creating a page to be modified, further comprising:
- seventh computer readable program code means for determining whether said page to be modified requires a new mapping to the database storage disk;
- wherein if said seventh computer readable program code means determines that said page to be modified requires said new mapping to the database storage disk, the computer program product still further comprising:
- eighth computer readable program code means for copying said page to be modified to another work space in computer memory and modifying said page to be modified in said another work space in computer memory;
- ninth computer readable program code means for allocating a new database storage page in the database storage disk;
- tenth computer readable program code means for determining whether a mapping request to map said page to be modified to said new database storage page in said database storage disk can be combined with a prior mapping request, wherein said prior mapping request maps a second page in the sub-data space to a second database storage page in said database storage disk and said page to be modified is adjacent to said second page in the sub-data space;
- eleventh computer readable program code means for issuing said prior mapping request if said tenth computer readable program code means determines that said mapping request cannot be combined with said prior mapping request and said prior mapping request exists;
- twelfth computer readable program code means for copying said second page of said prior mapping request from said another work space in computer memory if said eleventh computer readable program code means issues said prior mapping request;
- thirteenth computer program code means for preparing said mapping request if said eleventh computer program code means issues said prior mapping request or said prior mapping request does not exist; and
- fourteenth computer program code means for combining said mapping request with said prior mapping request if said tenth computer program code means determines that said mapping request can be combined with said prior mapping request.
Priority Claims (1)
Number |
Date |
Country |
Kind |
2055295 |
Dec 1991 |
CAX |
|
Parent Case Info
This application is a division of application No. 08/442,770 filed May 17, 1995, which is a division of application no. 08/443,397, filed May 17, 1995, which is a continuation of application no. 07/975,245, filed Nov. 12, 1992, now abandoned.
US Referenced Citations (7)
Divisions (2)
|
Number |
Date |
Country |
Parent |
442770 |
May 1995 |
|
Parent |
443397 |
May 1995 |
|
Continuations (1)
|
Number |
Date |
Country |
Parent |
975245 |
Nov 1992 |
|