If you create your database areas without assigning area numbers, OpenEdge assigns the areas sequentially starting at area number 7. The following example shows a structure definition file without area numbers:
#
b . f 1024
b .
#
d "Schema Area":6,32;1 .
#
#
d "First user data area",32;64 . f 4096
d "First user data area",32;64 .
#
d "Second user data area",32;64 . f 4096
d "Second user data area",32;64 .
#
d "Last user data area",32;64 . f 4096
d "Last user data area",32;64 .
#
A database created with PROSTRCT using this structure file as input, creates the areas sequentially.
The following figure shows the resulting area array where the areas are numbered sequentially.
Figure 41. Sequential area allocation
Assigning specific area numbers to the user data areas in your structure file can improve readability, but will prevent the ability to trim the maximum amount of unused memory in your area array.
The following example shows a structure file with three data areas assigned area numbers 1000, 2000, and 3000:
#
b . f 1024
b .
#
d "Schema Area":6,32;1 .
#
#
d "First user data area":1000,32;64 . f 4096
d "First user data area":1000,32;64 .
#
d "Second user data area":2000,32;64 . f 4096
d "Second user data area":2000,32;64 .
#
d "Last user data area":3000,32;64 . f 4096
d "Last user data area":3000,32;64 .
#
A database created with PROSTRCT using this structure file as input, creates the areas as they are defined.
The following figure shows the allocation of the area array for the database with areas numbered 1000, 2000, and 3000.
Figure 42. Area allocation with assigned area numbers
If minimizing memory consumption is a priority, you can trim the unused memory for the areas numbered 3001 to 32,000 with the -maxAreas startup parameter. However, the memory for the unused areas in between the allocated areas cannot be trimmed. See Trimmingunused area memory for more information.