TurboIMAGE/XL Database Management System Reference Manual MPE/iX V6.5 (30391-90011)
476 Chapter10
Internal Structures and Techniques
Dynamic Data Set Expansion
Dynamic Data Set Expansion
The capacity of non-jumbo (less than or equal to 4 GB in size) master and detail data sets
can be expanded dynamically during DBPUT, or implied DBPUT for automatic master. The
expansion can occur only if the data set is enabled for dynamic expansion, that is, if the
required capacity parameters are set prior to the expansion.
The capacity parameters are:
• maximum capacity
is a required parameter and is a maximum number of entries the data set can contain.
It must be less than or equal to 2
31
−1 (2,147,483,647). The maximum capacity both for
masters and details is adjusted by TurboIMAGE/XL to represent an even multiple of
the blocking factor.
• initial capacity
is a required parameter and is the initial capacity for the data set, that is, the number
of entries for which space will be allocated and initialized when the data set is created.
For a master data set, this is also the primary or hashing capacity. This number must
be between 1 and 2
31
−1 inclusive but must be less than or equal to the maximum
capacity. This parameter should be used to closely approximate the current volume of
data. If it is very low, there can be frequent expansions leading to severe disk
fragmentation. If it is very high, DBPUT may take a long time to complete which could
impact other database users. The initial capacity is adjusted to represent an even
multiple of the blocking factor. If initial capacity is not specified, or if initial capacity is
either zero or equal to the maximum capacity, then dynamic capacity expansion is not
enabled for the data set, and maximum capacity is used for the data set file creation.
• increment
is an optional parameter and is either the number of entries or the percentage of the
initial capacity by which the data set will be expanded each time its initialized space is
exhausted. If a percentage is used, the percent sign (%) must follow the incremental
amount. This increment parameter can only be used if the initial capacity parameter is
also specified. This number must be 1 to 32767 inclusive for percent, or 1 to 2
31
−1
(2,147,483,647) inclusive for number of entries. If it is very low, there can be frequent
expansions leading to severe disk fragmentation. If it is very high, DBPUT may take a
long time to complete which could impact other database users.
The number of entries defined, or the entries calculated from the percent, cannot exceed
the maximum entry count minus the initial allocation. That is, the expansion must not
result in exceeding the maximum capacity. The increment is adjusted to represent an
even multiple of the blocking factor. If the increment is not specified for the data set, or
is zero, but the initial capacity is greater than zero, then the increment for each
expansion is defaulted to ten percent (10%) of the initial capacity for the data set. If the
initial capacity is equal to the maximum capacity, or the initial capacity is zero, then
this indicates the data set cannot be expanded and increment is ignored.
In brief, a data set is enabled for dynamic expansion when both are true: