Apply OpenEdge 10.1C04, 10.2A02 Service Packs or Upgrade to OpenEdge 10.2B where this issue has been fixed.
The following documents the correct active/inactive index behaviour post truncate area:If an Index is truncated as part of an Area truncate
- If the indexes associated Table data resides in the same Area the index can remain active, since there are no invalid data the active indexes are pointing to (similar to when a table is first created with active indexes).
- If the indexes associated Table resides in a different Area than the one being truncated, the index must be marked inactive
If a Table is truncated as part of an Area truncate
- All indexes in the same Area (which are also truncated) can remain active
- All indexes in other Areas associated with tables in the truncated area must be marked inactive
After running a proutil -C truncate area operation, use VST tables to pre-check the active/de-active status of related indexes. For example finding which PRIMARY indexes are active/de-active before (say) deleting the table after truncate area (the primary index needs to be active in order to delete a table).
OUTPUT TO "index_primes.file".
PUT UNFORMATTED "some" SKIP.
FOR EACH _file WHERE _file._file-number > 0 AND NOT _file-name BEGINS "SYS",
FIRST _index WHERE RECID(_index) = _file._prime-index NO-LOCK:
PUT UNFORMATTED _file-name SKIP _index-name SKIP.
END.