How Do the Database Reorganization Utilities Work?
The database reorganization utilities (dbreorg
and dbupgrade
) transform the physical database tables and data to match the new dictionary. This transformation may be done using databse alter, drop, or create statements. However, in more complicated situations, it can involve copying the data to a new table, applying transformation rules during the copy, and then dropping the original table, renaming the copy, and building indexes.
When a Landmark application is built, a version stamp is placed
on dictionary metadata that matches the stamp on the %LARUNDIR%\dataarea.stamp\
directory. This directory also contains a version of the LPL source
metadata repository as well.
The dbupgrade
and dbreorg
utilities place
a version stamp on the data dictionary, and create a +dict, which is just a new reference to it. When dbreorg
or dbupgrade
moves the +dict file, it’s really only moving the reference to the stamped
dictionary, not the actual dictionary itself. A stamped dictionary
is created every time buildprod
is run.
dbreorg
and dbupgrade
are deprecated. They should only be used at the direction of support.