Extend variable-length database extents
- Last Updated: February 11, 2026
- 3 minute read
- OpenEdge
- Version 13.0
- Documentation
Variable-length database ai, bi, and data extents may be extended or
pre-extended by the user in a database structure (.st) file
using PROSTRCT utilities while the database is on- or offline.
This functionality enables database administrators to:
- extend the size of an existing variable-length extent before converting it to fixed-length when adding a new variable-length extent to a storage area
- extend the size of an existing variable-length extent to a specific pre-grown size whether it is empty or already contains data
- extend the size of an existing variable-length extent to a specific pre-grown size and impose a maximum size cap
- create a new variable-length extent pre-extended to a specific size in a new or existing area
- create a new pre-extended variable-length extent with an imposed maximum size in a new or existing area
Extending or pre-extending the size of variable-length extents reduces overhead and improves runtime by minimizing resource requests to the file system.
Extent Length Format Tokens
Variable-length extent sizes may be pre-grown (extended or pre-extended) by
editing the extentType token in the database structure
(.st) file using the extent length format tokens listed
in the following table.
| Extent Length Format Token | Function |
|---|---|
e |
extends an existing variable-length extent. |
ev |
extends an existing variable-length extent and imposes a maximum size. |
x |
creates a new pre-extended variable-length extent. |
xv | maximum
size |
creates a new pre-extended variable-length extent with an imposed maximum size. |
e" and "x" extent length format tokens require an accompanying specified
extend or pre-extend size value in the .st file as
follows:
|
ev" and "xv" extent length format tokens require two accompanying specified size values in
the .st file as per the example below. The first designates
the pre-extend value of the extent. The second designates the imposed maximum size of the
extent.
|
Extent length format tokens operate for both Type I and Type II storage areas. Extended and pre-extended values are reported in PROSTRCT LIST, _areaExtent, the _Filelist VST, and PROMON.
Previously pre-extended variable-length extents may be pre-extended again. The new pre-extended value will be reported in PROSTRCT LIST, _areaExtent, the_Filelist VST, and PROMON.
The length
specified by an extent length format token does not extend or pre-extend the current size of
the target extent by the specified value but designates the final, resulting size of the
extent length. The extent size specified by an extent length format token will be validated
the same as if the "f" token was specified.
The following table cites operational rules for each specific extent token:
| Token | Operational Rules |
|---|---|
e |
|
ev |
|
x |
|
xv |
|
Database Extent Utilities
Extend and pre-extend functionality is supported by the following database extent utilities:
- PROREST
- PROSTRCT ADD
- PROSTRCT ADDONLINE
- PROSTRCT BUILDDB
- PROSTRCT CREATE
- PROSTRCT LIST
- PROSTRCT PROCOPY
- PROSTRCT
-validate - PROUTIL TRUNCATE BI
- RFUTIL AIMAGE EXTENT EMPTY
PROREST and PROSTRCT PROCOPY will honor the setting in the target .st file
or create an .st file from the source. The target of a PROREST or PROSTRCT
PROCOPY will pre-extend according to the specified target .st file.
Truncate operations for ai and bi extents will honor the specified value
for "x" format tokens. RFUTIL AIMAGE EXTENT EMPTY will
honor the pre-extend setting for ai files by pre-extending the ai files after truncation.
PROUTIL TRUNCATE BI will honor the pre-extend setting for bi files by pre-extending the bi
files after truncation.
The current bithold (if set) will be honored when performing a PROSTRCT ADDONLINE to pre-extend bi extents.
Sample Database Structure File
The sample database structure (.st) file
below demonstrates the correct and incorrect usage the extentType format tokens for extending and pre-extending variable-length extents
using PROSTRCT ADD. The comments explain possible errors for new and existing extents when
applying the "e", "ev",
"x", and "xv"
tokens.
|