REINDEX
 Vuelve a crear los índices abiertos en el área de trabajo actual
------------------------------------------------------------------------------
 Sintaxis

     REINDEX
        [EVAL <lCondición>]
        [EVERY <nRegistros>]

 Argumentos

     EVAL <lCondición> especifica una condición que se evalúa, bien en
     cada registro procesado o en el intervalo especificado con la cláusula
     EVERY. Esta cláusula es idéntica a la cláusula EVAL del mandato INDEX,
     pero debe volver a especificarse para controlar la reindexación, ya
     que el valor de <lCondición> es temporal.

     EVERY <nRegistros> especifica una expresión numérica que controla
     la frecuencia de evaluación de EVAL. Cuando se utiliza EVAL, la opción
     EVERY mejora el rendimiento, ya que permite evaluar la condición cada n
     registros, en vez de evaluarla por cada registro indexado. La palabra
     clave EVERY se ignora si no se especifica una condición EVAL.

 Descripción

     REINDEX es un mandato de base de datos que vuelve a crear todos los
     índices abiertos en el área de trabajo actual. Cuando termina la
     reindexación, los nuevos índices permanecen abiertos, se reinicializa
     el número de orden y el puntero se coloca en el primer registro del
     índice activo. Si alguno de los índices se creó con SET UNIQUE ON,
     REINDEX añade sólo claves exclusivas al índice. Si alguno de los
     índices se creó mediante una condición FOR, sólo se añaden al índice
     las claves de los registros que cumplan la condición.

     En un entorno de red, REINDEX requiere utilizar en modo exclusivo el
     fichero actual de base de datos. Si desea más información, consulte el
     capítulo "Programación en Red" de la Guía de Programación y
     Utilidades.

     ¡Advertencia! REINDEX no vuelve a crear la cabecera de fichero al
     volver a crear el índice. Por ello, REINDEX no permite recuperar el
     índice cuando existe una alteración en la cabecera del fichero. Para
     garantizar la utilización de un índice válido, utilice siempre INDEX
     ON, en lugar de REINDEX, al volver a crear índices dañados.

 Notas

     En el fichero índice (.ntx) se mantienen las claves del índice, el
     estado UNIQUE y la condición FOR, por lo que REINDEX las respeta y
     utiliza.

 Ejemplos

      Este ejemplo vuelve a indexar el índice abierto en el área de
        trabajo actual:

        USE Ventas INDEX Vendedor, Territorio NEW
        REINDEX

      Este ejemplo vuelve a indexar mostrando un indicador de
        progreso:

        USE Ventas INDEX Vendedor, Territorio NEW
        REINDEX EVAL NtxProgress() EVERY 10

        FUNCTION NtxProgress
        LOCAL cCompleto := LTRIM(STR((RECNO()/LASTREC()) * 100))
        @ 23, 00 SAY "Indexando..." + cCompleto + "%"

        RETURN .T.

 Ficheros   La biblioteca asociada es CLIPPER.LIB.

 To download this example - click here.

See Also: INDEX PACK SET INDEX USE