Présentation
Documentation
L'équipe
Sérialisation
 
Programmes
Objets
Libs Utilitaires
Libs Internes
   
 
Editeur
Syntaxes
Windows
Versions
   

SCR/AL1 - TOME IV. Les librairies internes

3. La librairie scr4i

3.1 Gestion des bases de données

3.1.7 IS_dup_dbase (file s_iscp.c:156)

Syntax

long IS_dup_dbase(is, toname, stop, disp)
ISAM *is;
char *toname;
int stop, disp;

Description

Duplicie la database is dans un ISAM de même structure et de nom toname.

Le paramètre stop décide si le processus s'arrête (1) ou non (0) en cas d'erreur. Un message est affiché avant l'arrêt éventuel.

Le paramètre disp permet d'afficher (1) ou non (0) un compteur avec le nombre de records copiés.

Utilisation

Cette fonction est utilisée pour agrandir ou diminuer la taille des records d'un ISAM, ou encore pour recréer une database contenant des index DUP qui ne devraient pas s'y trouver (après une modification des INDEX par exemple).

Valeur retournée

Nombre de records copiés correctement.

Exemple

    long nb_recs;

nb_recs = IS_dup_dbase(is_prod, "newprod", 0, 0);
printf("%ld records de prod copiés dans newprod\n", nb_recs);

Voir également

IS_copy_fn(), IS_create_dbase()

File s_iscp.c

long IS_copy(is1, is2, stop, disp)
long IS_copy_fn(is1, is2, stop, disp, fn)
long IS_dup_dbase(is, toname, stop, disp)

IS_copy (file s_iscp.c:123)

Syntax

long IS_copy(is1, is2, stop, disp)
ISAM *is1, *is2;
int stop, disp;

Description

Copie la database is2 dans is1, record par record, sur la longueur la plus petite des deux fichiers. Le record de is1 est initialement fixé à 0 pour éviter que des résidus de buffer se placent dans les records.

Le paramètre stop décide si le processus s'arrête (1) ou non (0) en cas d'erreur. Un message est affiché avant l'arrêt éventuel.

Le paramètre disp permet d'afficher (1) ou non (0) un compteur avec le nombre de records copiés.

Utilisation

Cette fonction est utilisée pour agrandir ou diminuer la taille des records d'un ISAM, ou encore pour recréer une database contenant des index DUP qui ne devraient pas s'y trouver (après une modification des INDEX par exemple).

Valeur retournée

Nombre de records copiés correctement.

Exemple

    long nb_recs;

nb_recs = IS_copy(is_newprod, is_prod, 0, 0);
printf("%ld records de prod copiés dans newprod\n", nb_recs);

Voir également

IS_copy_fn(), IS_create_dbase()

IS_copy_fn (file s_iscp.c:42)

Syntax

long IS_copy_fn(is1, is2, stop, disp, fn)
ISAM *is1, *is2;
int stop, disp;
int (*fn)();

Description

Copie la database is2 dans is1, record par record, sur la longueur la plus petite des deux fichiers. Le record de is1 est initialement fixé à 0 pour éviter que des résidus de buffer se placent dans les records.

Le paramètre stop décide si le processus s'arrête (1) ou non (0) en cas d'erreur. Un message est affiché avant l'arrêt éventuel.

Le paramètre disp permet d'afficher (1) ou non (0) un compteur avec le nombre de records copiés.

Le pointeur de fonction fn permet de filtrer les records avant de les écrire. La fonction fn est appelée comme suit :

    fn(is1, is2);

Si fn retourne 0, le record est copié. Sinon, il est sauté.

La lecture de is2 se fait dans l'ordre physique du fichier.

Utilisation

Cette fonction est utilisée pour agrandir ou diminuer la taille des records d'un ISAM, ou encore pour recréer une database contenant des index DUP qui ne devraient pas s'y trouver (après une modification des INDEX par exemple).

Valeur retournée

Nombre de records copiés correctement.

Exemple

    long nb_recs;

nb_recs = IS_copy_fn(is_newprod, is_prod, 0, 0, select);
printf("%ld records de prod copiés dans newprod\n", nb_recs);

Voir également

IS_copy_fn(), IS_create_dbase()

Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be