Parameters

COMPACT

Converts regular single index (.idx) files to compact .idx files.

Remarks

Index files become outdated when you open a table without opening its corresponding index files and make changes to the index files' key fields. When index files become outdated, you can update them by reindexing.

Visual FoxPro recognizes each index file type: compound index (.cdx) files, structural .cdx files, and single index (.idx) files), and reindexes them accordingly. It updates all tags in .cdx files and updates structural .cdx files, which automatically open with the table.

Tip:

To speed network traffic during a REINDEX operation, you can use SYS(3050) - Set Buffer Memory Size to set buffer memory to a size large enough to store the entire table. During the first pass, the table is paged locally, and later passes will not attempt to read paged data from the remote computer.

Any index files created with the UNIQUE keyword of the INDEX command or with SET UNIQUE ON retain their UNIQUE status when reindexed.

To REINDEX outdated index files, issue these commands:

В

Copy Code

USE TableName INDEX OutdatedIndexNames
REINDEX

Example

In the following example, ISEXCLUSIVE(В ) verifies that the customer table was opened for exclusive use. The table is not reindexed since the one in the current work area was not opened for exclusive use.

В

Copy Code

cExclusive = SET('EXCLUSIVE')
SET EXCLUSIVE OFF
SET PATH TO (HOME(2) + 'Data\')
OPEN DATA testdata && Opens the test databsase
USE Customer && Not opened exclusively
USE Employee IN 0 EXCLUSIVE && Opened exclusively in another work area
IF ISEXCLUSIVE( )
REINDEX && Can only be done if table opened exclusively
ELSE
WAIT WINDOW 'The table has to be exclusively opened'
ENDIF
SET EXCLUSIVE &cExclusive