DropIndex Permanent Incremental Index deletion. Short Name ctDROPIDX() Type ISAM Function Declaration COUNT DropIndex(COUNT keyno) Description DropIndex() permanently removes the index file referenced by keyno, which must be associated with a host index, not a member index. All the indices contained in the index file are dropped and the IFIL resource in the data file is updated. If the keyno index is transaction dependent, TRANDEP, DropIndex() must be performed under transaction control and can be undone by an abort or save point restore, but they are marked so that no ISAM update will touch these indices. Note: The key numbers associated with the data file may have a gap until the files are closed and reopened. For example, if a data file has key numbers 3, 4, 5, 6, 7, and 8 associated, and key 5 is its own file with one member, then after DropIndex(5) completes the key numbers associated with the data file will be: 3, 4, 7, and 8. After the data file is closed and reopened (at the ISAM level), the key numbers will be consecutive again: 3, 4, 5, and 6. DropIndex() marks a transaction-controlled index for deletion by setting keylen to -keylen until the drop is committed. A GetIFile() call after the DropIndex() call, but before the Commit() or Abort() will return this interim setting. Return
Limitations DropIndex() cannot be called for indices created by TempIIndexXtd() or for member indices. Specify a permanent host index to be dropped. Both PermIIndex() and DropIndex() are only undoable if they are performed on TRANDEP files. If there are pending DropIndex() calls, then no calls can be made to UpdateConditionalIndex() for any of the indices associated with the underlying data file. See also PermIIndex(), GetIFile(), Commit(), Abort(), TempIIndexXtd(), UpdateConditionalIndex() |
|||||||||||||||||||||