SET TABLEVALIDATE Command

Specifies the level of table validation to perform. Use SET TABLEVALIDATE when you want a lower level of table integrity checking than the default setting.

SET TABLEVALIDATE TO [nLevel]

Parameters

  • nLevel
    Specifies the level of table validation as the sum of the bit values.

    Note

    The default setting for nLevel is 3.

    The following table describes the bits and bit values that you can add to obtain a setting for nLevel.

    Bit number Bit value (additive) Description

    0

    0

    Do not perform table validation.

    0

    1

    Validate record count when opening a table.

    Note

    The table (.dbf) header is locked during validation. This operation can result in decreased scalability when tables open as shared, for example, when issuing the USE command with the SHARED keyword or calling the SQL SELECT, UPDATE, INSERT, or DELETE commands against a closed table, and SET EXCLUSIVE is set to OFF.

    1

    2

    Validate record count when appending or inserting records and writing them to disk.

    2

    4

    Suppress "File is in use (Error 3)" if table header cannot be locked when opening the table. Requires setting the first bit to validate record count when opening a table.

    Note

    When opening a table, the USE command attempts to lock the table header only once. If the header is locked, Visual FoxPro performs a strict header check, similar to SET TABLEVALIDATE set to 1. Otherwise, Visual FoxPro suppresses the "File is in use" error and performs a header check in the manner of versions prior to Visual FoxPro 8.0.

    3

    8

    Check .dbf header before saving append operation to disk and modifying header.

Remarks

SET TABLEVALIDATE does not have repair functionality; it performs only integrity checks as specified by nLevel.

SET TABLEVALIDATE does not perform table validation on temporary files or cursors.

You can set SET TABLEVALIDATE in Config.fpw as follows:

TABLEVALIDATE = nLevel

If a table opens exclusively, and SET TABLEVALIDATE is set to 8 or greater, the setting is disregarded.

See Also

Reference

SET Command Overview
USE Command
SELECT - SQL Command
INSERT - SQL Command
UPDATE - SQL Command
DELETE - SQL Command

Other Resources

Programming for Shared Access
Commands (Visual FoxPro)