4D v14.3

VERIFY DATA FILE

Página Inicial

 
4D v14.3
VERIFY DATA FILE

VERIFY DATA FILE 


 

VERIFY DATA FILE ( endEstrutura ; endDados ; objetos ; opçoes ; metodo {; arrayTabelas {; arrayCampos}} ) 
Parâmetro Tipo   Descrição
endEstrutura  Texto in Endereço do arquivo de estrutura a ser verificado
endDados  Texto in Endereço do arquivo de dados a ser verificado
objetos  Inteiro longo in Objetos a serem verificados
opçoes  Inteiro longo in Opções de verificação
metodo  Texto in Nome do método 4D de retrochamada
arrayTabelas  Array inteiro longo in Números de tabelas a serem verificadas
arrayCampos  2D Integer array, Array inteiro longo 2D, Array real 2D in Número de índices a serem verificados

O comando  VERIFY DATA FILE[#descv] realiza uma verificação estrutural dos objetos contidos no arquivo de dados 4D criado por endereçoEstrutura e endereçoDados.[#descv]

Nota: para maiores informações sobre o processo de verificação de dados, consulte o Manual de Desenho. endereçoEstrutura seleciona o arquivo de estrutura (compilado ou não) associado com o arquivo de dados a ser verificado. Pode se tratar do arquivo de estrutura aberto ou de qualquer outro arquivo de estrutura. Você deve passar um nome de endereço completo, expressado com a sintaxe do sistema operacional. Também pode passar uma string vazia, neste caso aparece uma caixa de diálogo padrão de abertura de arquivos que permite ao usuário selecionar o arquivo de estrutura a ser utilizado.

endereçoDados seleciona um  arquivo de dados 4D (.4DD). Deve corresponder ao arquivo de estrutura definido pelo parâmetro endereçoEstrutura. Atenção, você pode selecionar o arquivo de estrutura atual mas o arquivo de dados não deve ser o arquivo atual (aberto). Para verificar se o arquivo de dados está aberto, utilize o comando VERIFY CURRENT DATA FILE. Se você tenta verificar o arquivo de dados atual com o comando  VERIFY DATA FILE, é gerado um erro.

O arquivo de dados selecionado é aberto em modo somente leitura. Você deve ter certeza que nenhuma aplicação acesse a este arquivo em modo escrita, caso contrário os resultados da verificação poderiam ser distorcidos.

No parâmetro endereçoDados, é possível passar uma cadeia vazia, um nome de arquivo ou um endereço de acesso completo, expressado na sintaxe do sistema operacional. Se você passar uma cadeia vazia, aparecerá a caixa de diálogo padrão de abertura de arquivos de modo que o usuário possa especificar o arquivo a ser revisado (note que neste caso, não é possível selecionar o arquivo de dados atual). Se você passar somente um nome de arquivo de dados, 4D o buscará no mesmo nível que o arquivo de estrutura especificado.

O parâmetro objetos é utilizado para selecionar os tipos de objetos a serem verificados. Você pode verificar os tipos de objetos: registros e índices. Você pode utilizar as seguintes constantes, que se encontram no tema “Manutenção do arquivo de dados”:

Constante Tipo Valor Comentário
Verify all Inteiro longo 16
Verify indexes Inteiro longo 8 Esta opção verifica a consistência física dos índices, sem link aos dados. Ponto chaves inválidas mas não lhe permite detectar chaves duplicadas (dos índices que apontam ao mesmo registro). Este tipo de erro só pode ser detectado com a opção Verificar todos.
Verify records Inteiro longo 4


Para verificar os registros e os índices, passe o total de  Verify Records+Verify Indexes. O valor 0 (zero) também pode ser utilizado par obter o mesmo resultado.  A opção Verify All  efetua uma verificação interna,  completa. Esta verificação é compatível com a criação de um histórico.

O parâmetro opções é utilizado para definir as opções de verificação. Somente uma opção está disponível atualmente, se encontra no tema “Manutenção do arquivo de dados”:
Constante Tipo Valor Comentário
Do not create log file Inteiro longo 16384 Geralmente, esse comando cria um arquivo de histórico em formato XML (veja o final da descrição do comando). Você pode cancelar esta operação a partir desta opção.


Geralmente, o comando  VERIFY DATA FILE cria um arquivo de histórico em formato XML (por favor, veja o final da descrição deste comando). Você pode cancelar esta operação passando esta opção. Para criar o arquivo de histórico, passe 0 em opçoes.

O parâmetro método permite definir um método de callback que será chamado regularmente durante a verificação. Se você passar uma cadeia vazia,nenhum método é chamado. Se o método passado não existe, a verificação não é realizada, é gerado um erro e a variável OK toma o valor 0. Quando se chama, este método, você recebe até 5 parâmetros dependendo do tipo de evento que origina a chamada (ver a tabela de chamadas). É imperativo declarar estes parâmetros no método:
- $1Inteiro longoTipo de mensagem (ver tabela)
- $2Inteiro longoTipo de objeto
- $3TextMensagem
- $4Inteiro longoNúmero de tabela
- $5Inteiro longoReservado

A tabela a seguir descreve o conteúdo dos parâmetros em função do tipo de evento:

Evento$1 (Inteiro longo)$2 (Inteiro longo)$3 (Texto)$4 (Inteiro longo)$5 (Inteiro longo)
Mensagem10Mensagem de progressoPorcentagem realizadoReservado
Fim da verificação2Tipo de objeto Texto da mensagem OKNúmero de tabela ou índiceReservado
Error3Tipo de objeto Texto de mensagem de erroNúmero de tabela ou índiceReservado
Fim de execução40DONE0Reservado
Advertência5Tipo de objetoTexto de mensagem de erroNúmero de tabela ou índiceReservado


Tipo de objeto: quando um objeto for verificado, é possível enviar uma mensagem "finalizado" ($1=2), de erro ($1=3) ou de advertência ($1=5). O tipo de objeto retornado em $2 pode ser um dos seguintes:

  • 0 = indeterminado
  • 4 = registro
  • 8 = índice
  • 16 = objeto estrutura (controle preliminar do arquivo de dados).
Caso particular: quando $4 = 0 para $1=2, 3 ou 5, a mensagem não se refere a uma tabela ou índice, e sim a um arquivo de dados em seu conjunto. O método de callback também deve retornar um valor $0 (Inteiro longo), permitindo controlar a execução da operação:
  • Se $0 = 0, a operação continua normalmente
  • Se $0 = -128, a operação para sem que seja gerado um erro
  • Se $0 = outro valor, a operação para e o valor passado em $0 é retornado como o número de erro. Este erro pode ser interceptado por um método de gestão de erros.
Nota: Não é possível interromper a execução via $0 depois de que o evento tenha sido gerado Fim de execução ($4=1).

Dois arrays opcionais também pode ser utilizados por este comando:

  • O array arrayTabelas contém os números das tabelas cujos registros serão verificados. Permite limitar a verificação de certas tabelas. Se este parâmetro não se passa ou se o array está vazio e o parâmetro objetos contém Verify Records, todas as tabelas serão verificadas.
  • arrayCampos contém os números dos campos indexados que devem ser verificados. Se este parâmetro não for passado ou se o array estiver vazio e o parâmetro objetos contém Verify Records, todos os índices serão verificados. O comando ignora os campos que não estão indexados. Se um campo contém vários índices, todos são verificados. Se um campo forma parte de um índice composto, o total do índice é verificado.
    Você deve passar um array 2D em arrayCampos. Para cada linha do array:
    - O elemento {0} contém o número da tabela,
    - Os outros elementos {1...x} contém os números dos campos.

Por padrão, o comando  VERIFY DATA FILE cria um arquivo de histórico em formato XML (se você não passou a opção Do not create log file, veja o parâmetro opçoes). Seu nome está baseado no arquivo de dados e está localizado junto a este arquivo. Por exemplo, para um arquivo de dados chamado “data.4dd,” o arquivo de histórico será chamado “data_verify_log.xml.”

Simples verificação dos dados e dos índices:

 VERIFY DATA FILE($NomEstrutura;$NomData;Verify indexes+Verify records;Do not create log file;"")

Verificação completa com arquivo de histórico:

 VERIFY DATA FILE($NomEstrutura;$NomData;Verify All No Callback;0;"")

Verificação somente dos registros:

 VERIFY DATA FILE($NomEstrutura;$NomData;Verify records;0;"")

Verificação dos registros das tabelas 3 e 7 somente:
 

 ARRAY LONGINT($arrTablaNums;2)
 $arrTableNums{1}:=3
 $arrTableNums{2}:=7
 VERIFY DATA FILE($NomeEstrutura;$NomeData;Verify records;0;"FollowScan";$arrTableNums)

Verificação de índices específicos (índice do campo 1 da tabela 4 e índice dos campos 2 e 3 da tabela 5):

 ARRAY LONGINT($arrTablaNums;0) `não utilizado, mas obrigatório
 ARRAY LONGINT($arrIndex;2;0) `2 linhas (colunas adicionadas depois)
 $arrIndex{1}{0}:=4 ` número de tabela no elemento 0
 APPEND TO ARRAY($arrIndex{1};1) `número do primeiro campo a verificar
 $arrIndex{2}{0}:=5 ` número da tabela no elemento 0
 APPEND TO ARRAY($arrIndex{2};2) ` número do primeiro campo a ser verificado
 APPEND TO ARRAY($arrIndex{2};3) ` número do segundo campo a ser verificado
 VERIFY DATA FILE($NomEstrutura;$NomData;Verify indexes;0;"FollowScan";$arrTablaNums;$arrIndex)

Se o método de callback não existir, a verificação não é efetuada, é gerado um erro e a variável sistema OK recebe o valor 0.

 
PROPRIEDADES 

Produto: 4D
Tema: Ambiente 4D
Número 939

Este comando modifica a variável sistema OKEste comando modifica a variável sistema Error

 
HISTÓRIA 

Modificado: 4D v11 SQL Release 3

 
VER TAMBÉM 

VERIFY CURRENT DATA FILE

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v14 R2)
Manual de linguagem 4D ( 4D v11 SQL Release 6)
Manual de linguagem 4D ( 4D v14 R3)
Manual de linguagem 4D ( 4D v12.4)
Manual de linguagem 4D ( 4D v13.5)
Manual de linguagem 4D ( 4D v14.3)
Manual de linguagem 4D ( 4D v14 R4)