PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE


  • Conditions d'utilisation
  • Ré-indexation automatique
  • Ré-indexation "à chaud"
  • Calcul des statistiques
  • Répertoire des fichiers temporaires
  • Gestion des alphabets non latins
  • Droits d'accès au fichier de données
  • Cas particulier : Fichiers corrompus après reboot ou erreur fatale du poste
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Reconstruit l'index d'un fichier de données (fichier d'extension ".NDX"). Il est également possible de ré-indexer les index full-text (fichiers d'extension ".FTX"). La ré-indexation d'un fichier de données peut être effectuée même si des applications accèdent à ce fichier de données. Pour plus de détails, consultez les remarques.
Rappel : La ré-indexation ré-organise les index. Après ré-indexation, l'accès aux index est optimal. La ré-indexation peut être rendue nécessaire par la perte ou l'altération du fichier d'index. La fonction HVérifieIndex permet de vérifier régulièrement l'état du fichier d'index.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
Versions 21 et supérieures
WEBDEV - Code Serveur Cette fonction est désormais disponible pour réindexer les fichiers de données d'un cluster HFSQL.
Nouveauté 21
WEBDEV - Code Serveur Cette fonction est désormais disponible pour réindexer les fichiers de données d'un cluster HFSQL.
WEBDEV - Code Serveur Cette fonction est désormais disponible pour réindexer les fichiers de données d'un cluster HFSQL.
SI HRéindexe(UnFichier, hNdxNormal) = Vrai ALORS
        TableAffiche(TABLE_MaTable, taDébut)
FIN
Syntaxe
<Résultat> = HRéindexe([<Nom du fichier> [, <Mode> [, <Jauge> [, <Taux de densité>]]]])
<Résultat> : Booléen
  • Vrai si la ré-indexation a été effectuée sans problème,
  • Faux dans le cas contraire. La fonction HErreur permet d'obtenir plus d'informations sur le problème rencontré.
<Nom du fichier> : Chaîne de caractères optionnelle (avec ou sans guillemets)
Nom du fichier de données manipulé.
Si ce nom n'est pas spécifié, la fonction HRéindexe va manipuler le dernier fichier de données utilisé par la dernière fonction de gestion HFSQL (fonction commençant par la lettre H).
<Mode> : Constante ou combinaison de constantes de type entier (optionnel)
Paramétrage de la ré-indexation :
hChangeAlphabetRé-indexation avec changement d'alphabet.
Le nouvel alphabet défini avec la fonction ChangeAlphabet sera pris en compte lors de la ré-indexation. Les tris, recherches, ... sur des clés de type chaîne (chaînes, caractères, date et heure) seront effectués selon cet alphabet.
hFTXRé-indexation des index full-text.
Versions 20 et supérieures
hMmoCompactage
Nouveauté 20
hMmoCompactage
hMmoCompactage
Compactage et défragmentation des fichiers de type "Mmo".
Attention : Cette constante ne peut pas être combinée avec les constantes hNdxCompactage, hFTX, hNdxMinimal, hNdxMuet, hNdxNormal ou hNdxSuppression.
hNdxCompactageRé-indexation avec compactage (ne conserve que les enregistrements actifs. Tous les autres enregistrements sont définitivement supprimés).
hNdxMinimalRé-indexation ne prenant en compte que les clés corrompues. Ce paramètre est ignoré si les constantes hNdxSuppression ou hNdxCompactage sont activées.
hNdxMuetRé-indexation sans affichage
hNdxNormal
(valeur par défaut)
Ré-indexation classique (avec statistiques et sans compactage)
Les statistiques permettent d'optimiser les requêtes et les filtres (voir Notes)
hNdxSansStatRé-indexation sans calcul de statistiques. Cette constante permet d'obtenir un gain de place car les fichiers d'index seront moins importants.
Attention : Les statistiques sont très importantes pour obtenir des temps d'exécution corrects lors de l'utilisation de requêtes, de filtres avec condition et de vues avec condition.
hNdxSuppressionRé-indexation avec suppression des enregistrements endommagés
Versions 15 et supérieures
hTâcheDeFond
Nouveauté 15
hTâcheDeFond
hTâcheDeFond
HFSQL Client/Serveur Ré-indexation effectuée en tâche de fond. Les applications ne sont pas bloquées pendant la ré-indexation.
Cette fonctionnalité est disponible uniquement en mode Client/Serveur.
hVérifieMémoRé-indexation normale avec vérification des mémos et correction si nécessaire (permet de récupérer une partie des mémos endommagés).
Versions 23 et supérieures
WEBDEV - Code Serveur Remarque : Avant de faire une réindexation des mémos, il est possible de vérifier régulièrement l'état des mémos grâce à la fonction HVérifieMémo.
Nouveauté 23
WEBDEV - Code Serveur Remarque : Avant de faire une réindexation des mémos, il est possible de vérifier régulièrement l'état des mémos grâce à la fonction HVérifieMémo.
WEBDEV - Code Serveur Remarque : Avant de faire une réindexation des mémos, il est possible de vérifier régulièrement l'état des mémos grâce à la fonction HVérifieMémo.
Remarque : La ré-indexation ne compacte pas les mémos. Il est nécessaire d'utiliser WDOptimiseur pour effectuer cette opération (option 5 de WDOptimiseur).
<Jauge> : Chaîne de caractères optionnelle (avec ou sans guillemets) ou entier
  • Nom de la fenêtre dans laquelle la jauge doit être affichée ou nom du champ de type Jauge.
  • Identifiant (Handle) de la fenêtre qui affiche la jauge.
    WEBDEV - Code Serveur Ce paramètre est ignoré.
<Taux de densité> : Entier compris entre 1 et 100
Taux de remplissage des index. Par défaut, ce taux a pour valeur 80. Taux de remplissage des index. Par défaut, ce taux a pour valeur 60.
Plus ce taux est important, plus l'index est dense et de petite taille. Dans ce cas, les parcours, recherches, filtres et requêtes seront plus rapides. Les ajouts d'enregistrements et les modifications d'enregistrements pourront être ralentis.
Plus ce taux est faible, moins l'index sera dense et plus sa taille sera importante. Dans ce cas, les parcours, recherches, filtres et requêtes seront ralentis. Les ajouts d'enregistrements et les modifications d'enregistrements seront plus rapides.
Attention : ce paramètre est utilisable uniquement sur les fichiers de données au format HFSQL.
Hyper File 5.5 Ce paramètre n'est pas utilisable.
Remarques

Conditions d'utilisation

  • La fonction HRéindexe permet de ré-indexer un fichier xBase.
  • Versions 21 et supérieures
    La fonction HRéindexe permet de réindexer les fichiers d'un cluster. Dans ce cas :
    • La réindexation est effectuée sur le noeud auquel l'utilisateur est connecté.
    • Seule une réindexation à chaud est disponible (constante hTâcheDeFond).
    Nouveauté 21
    La fonction HRéindexe permet de réindexer les fichiers d'un cluster. Dans ce cas :
    • La réindexation est effectuée sur le noeud auquel l'utilisateur est connecté.
    • Seule une réindexation à chaud est disponible (constante hTâcheDeFond).
    La fonction HRéindexe permet de réindexer les fichiers d'un cluster. Dans ce cas :
    • La réindexation est effectuée sur le noeud auquel l'utilisateur est connecté.
    • Seule une réindexation à chaud est disponible (constante hTâcheDeFond).
WEBDEV - Code ServeurAjaxHFSQLHFSQL Client/Serveur

Ré-indexation automatique

La ré-indexation d'un fichier de données peut être rendue nécessaire par la perte ou l'altération du fichier d'index. Une ré-indexation automatique des fichiers de données peut être mise en place.
Pour mettre en place la ré-indexation automatique, il faut :
  • configurer la valeur de la variable H.LimiteRéindexationAutomatique.
    En effet, si le fichier de données contient moins de H.LimiteRéindexationAutomatique enregistrements, la ré-indexation est automatique en cas d'erreur d'index.
    Par défaut, la variable H.LimiteRéindexationAutomatique vaut 100000. Si cette variable vaut 0, la ré-indexation automatique est désactivée.
  • configurer la valeur de la variable H.RéindexationAutomatiqueVisible.
    En effet, si cette variable vaut Vrai (valeur par défaut), une fenêtre est automatiquement affichée tant que la ré-indexation automatique n'est pas terminée. Cette fenêtre contient une jauge permettant de suivre la ré-indexation en cours. Cette fenêtre est personnalisable. Pour plus de détails, consultez Gestion assistée des erreurs HFSQL.
    Pendant la ré-indexation, les différentes applications manipulant les données du fichier (lecture ou écriture d'enregistrements) seront temporairement arrêtées jusqu'à la fin de la ré-indexation.
    Versions 15 et supérieures
    HFSQL Client/Serveur Si la constante hTâcheDeFond est utilisée, la ré-indexation est effectuée en tâche de fond et les applications utilisant le fichier de données ne seront pas arrêtées.
    Nouveauté 15
    HFSQL Client/Serveur Si la constante hTâcheDeFond est utilisée, la ré-indexation est effectuée en tâche de fond et les applications utilisant le fichier de données ne seront pas arrêtées.
    HFSQL Client/Serveur Si la constante hTâcheDeFond est utilisée, la ré-indexation est effectuée en tâche de fond et les applications utilisant le fichier de données ne seront pas arrêtées.
Si une erreur est rencontrée pendant la ré-indexation automatique (par exemple lors d'une erreur de blocage sur le fichier de données ou sur l'enregistrement), la ré-indexation automatique est arrêtée et une erreur fatale d'index corrompu est affichée. Ce fonctionnement est identique au fonctionnement sans ré-indexation automatique.
Remarques :
  • Lors de la ré-indexation automatique, la ré-indexation est effectuée en mode normal (constante hNdxNormal).
  • La ré-indexation automatique n'est pas disponible sur les fichiers de données au format Hyper File 5.5.
  • Si une ré-indexation automatique est effectuée, les applications utilisant les fichiers de données en cours de ré-indexation sont temporairement bloquées. Un message est affiché indiquant que le fichier est en cours de maintenance.
  • A la fin de la ré-indexation, le contexte HFSQL en cours est automatiquement rétabli (sauf si une ré-indexation avec vérification des mémos a été effectuée).
WEBDEV - Code ServeurAjaxHFSQLHFSQL Client/Serveur

Ré-indexation "à chaud"

La ré-indexation d'un fichier de données peut être effectuée même si des applications accèdent à ce fichier de données.
Pendant la ré-indexation, les différentes applications manipulant les données du fichier (lecture ou écriture d'enregistrements) seront temporairement arrêtées/bloquées jusqu'à la fin de la ré-indexation.

Calcul des statistiques

Le calcul des statistiques permet d'optimiser les requêtes et les filtres sur le fichier de données. Le calcul de statistiques peut également être obtenu par la fonction HStatCalcule.
Remarque : Pour que le calcul des statistiques soit efficace, il est nécessaire de réaliser ce calcul sur tous les fichiers de données (par exemple dans le cas d'une requête multi-fichiers).

Répertoire des fichiers temporaires

Pendant la ré-indexation, des fichiers temporaires peuvent être créés. Par défaut, ces fichiers sont créés dans le répertoire temporaire de Windows ou dans le répertoire courant si il n'y a pas assez de place.
La variable H.RépertoireTemporaire permet de paramétrer le répertoire utilisé pour stocker ces fichiers temporaires. Cette variable est conseillée notamment lors de la ré-indexation de fichiers de données de taille très importante.
Versions 17 et supérieures
HFSQL Client/Serveur Le répertoire utilisé pour stocker les fichiers temporaires sur le serveur peut être défini :
Nouveauté 17
HFSQL Client/Serveur Le répertoire utilisé pour stocker les fichiers temporaires sur le serveur peut être défini :
HFSQL Client/Serveur Le répertoire utilisé pour stocker les fichiers temporaires sur le serveur peut être défini :

Gestion des alphabets non latins

Pour modifier l'alphabet utilisé pour les recherches, les tris :
  1. Spécifiez l'alphabet à utiliser avec la fonction ChangeAlphabet.
  2. Ré-indexez le fichier de données avec la fonction HRéindexe. Utilisez la constante hChangeAlphabet pour prendre en compte l'alphabet spécifié avec la fonction ChangeAlphabet.
Pour plus de détails sur la gestion des alphabets non latins dans les fichiers de données, consultez Gérer des alphabets spécifiques dans des fichiers de données.

Droits d'accès au fichier de données

La ré-indexation provoque la recréation du fichier de données sur disque. Dans un système d'allocation gérant les droits au niveau des fichiers (NTFS, ...), le fichier de données après ré-indexation aura donc les droits du répertoire auquel il appartient.
Si avant la ré-indexation, le fichier de données avait des droits particuliers différents de ceux du dossier, il est nécessaire de les redéfinir au niveau de Windows après la ré-indexation.

Cas particulier : Fichiers corrompus après reboot ou erreur fatale du poste

Lors d'un redémarrage inopiné du poste, les fichiers de données peuvent être corrompus. Dans ce cas, les fichiers de données contiennent des données qui ne correspondent à rien (par exemple caractères illisibles dans les données). Pour corriger ce problème :
  1. Effectuez une ré-indexation avec suppression.
  2. Libérez les enregistrements en transaction avec la fonction HTransactionLibère.
  3. Supprimez les enregistrements incorrects à l'aide de WDMAP.
Composante : wd240hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire