Dynamic Dataset Expansion (DDX)

Ken Paul
Adager Corporation
Sun Valley, Idaho 83353-2358 · USA

Dynamic dataset expansion (DDX) allows a dataset to be expanded dynamically (up to a new maximum capacity specified in the root file) during DBPUT when the allocated dataset space is exhausted. When you enable this feature, your application will not terminate with the "Dataset Full" error message. To use this enhancement you must let IMAGE know of certain database parameters such as the dataset's "maximum capacity," "initial capacity," and the "increment" to be applied every time the capacity is exhausted.

How to specify DDX for new databases through DBSCHEMA

For new databases you can use the "capacity" definition while building the schema. The new "capacity" syntax is:

C[apacity]: maxcap [(blockfac)] [,initcap [,increment]];

The increment can either be the number of entries or the percentage of the initial capacity by which the dataset is to be expanded each time its current allocation is exhausted. If a percentage is used, the percent sign (%) must follow the incremental amount. The dataset capacity expansion information is included in DBSCHEMA's summary table when using the $CONTROL TABLE command.

How to specify DDX for existing databases through Adager

For existing databases you can use Adager to specify the expansion parameters on all the relevant functions. For instance, you can specify the DDX parameters while doing a capacity change, or you can specify them while doing a "DetPack" for a detail dataset. You can also add new datasets with the DDX functionality enabled from the start.

Any Adager function affecting a DDX-enabled dataset will observe the dataset's capacity specifications, that is, you can do dataset reblocking, database copying and dataset "moving" among your different disc units without losing the DDX functionality. Any schema produced by Adager will contain the corresponding capacity specifications which conforms with the new schema syntax. The Adager "report" functions will also display all the DDX parameters for the datasets which have this functionality.

How to disable DDX for existing databases through Adager

Adager also allows you to disable the DDX functionality for an existing database (for instance, if you would like to transport it to a pre-MPE/iX 5.0 system).

Adager enhancements

Additionally, Adager's consistency check has been enhanced to detect any anomalies with the DDX parameters, and to allow you to correct any possible consistency problems that it may encounter.

As a result of the Adager enhancements, detail dataset capacity changes now run even faster. Even Classic (CISC) computer users benefit from a hardware-independent feature of Adager: ultra-fast detail capacity decreases. In addition, RISC (Spectrum) users, under MPE/iX 5.0, benefit from Adager's ultra-fast native-mode increases of detail capacities. Setting the DDX parameters for an existing dataset (master or detail) will take only a few seconds.

New DBUTIL, DBINFO and DBPUT behavior.

DBUTIL offers a new "SHOW CAPACITY" command and an enhanced "SHOW database ALL" command. The "SHOW CAPACITY" command displays capacity-related information for all sets, master and detail, as well as information indicating if a dataset is enabled for DDX or not. The "SHOW database ALL" command now includes information to indicate if the database uses DDX and which datasets use this feature.

DBINFO has an additional mode, 205, to allow you to obtain information on DDX programmatically. Mode 205 is an extension of mode 202 to include DDX information such as maximum capacity, initial capacity, incremental number of entries, incremental percent and the DDX flag. This new mode can be used for both master and detail datasets.

When DDX is enabled for a dataset, DBPUT attempts to expand the dataset by the amount of the increment. If the expansion is successful, the new record is added to the dataset. If it isn't, it generates an error. The new errors can be displayed by DBERROR and DBEXPLAIN.

Dynamic expansion of datasets is definitely a worthwhile feature to use in your databases. It is a good complement to do painless capacity management on your IMAGE databases. DDX, however, does not remove the need to do periodic repacking to improve your overall database performance.

What do your worldwide HP e3000 colleagues think of Adager? See a sample of comments from real people who use Adager in the real world, where performance and reliability really count.
Back to Adager