COMPRESS_RECORD
Durée de validité
Extraction et réplication
Description
Utilisez la fonction COMPRESS_RECORD pour recomprimer les enregistrements qui ont été décompressés avec la fonction DECOMPRESS_RECORD. Appelez COMPRESS_RECORD uniquement après avoir utilisé DECOMPRESS_RECORD.
Le contenu du tampon d'enregistrement n'est pas converti dans ou depuis le jeu de caractères de l'exit utilisateur. Il est transmis tel quel.
Syntaxe
#include "usrdecs.h"
short result_code;
compressed_rec_def compressed_rec;
ERCALLBACK (COMPRESS_RECORD, &compressed_rec, &result_code);
Tampon
typedef struct
{
char *compressed_rec;
long compressed_len;
char *decompressed_rec;
long decompressed_len;
short *columns_present;
short source_or_target;
char requesting_before_after_ind;
} compressed_rec_def;
Entrée
<decompressed_rec>
Pointeur vers le tampon contenant l'enregistrement avant compression. L'enregistrement est supposé être au format canonique Oracle GoldenGate par défaut.
<decompressed_len>
Longueur de l'enregistrement décompressé.
<source_or_target>
L'une des options suivantes indique si l'enregistrement source ou cible est compressé.
EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL
<requesting_before_after_ind>
Utilisé comme entrée interne. Il n'est pas nécessaire de définir. Si elle est définie, elle sera ignorée.
<columns_present>
Tableau de valeurs indiquant les colonnes présentes dans l'enregistrement compressé. Par exemple, si la première, la troisième et la sixième colonnes existent dans l'enregistrement compressé et que le nombre total de colonnes dans la table est de sept, le tableau doit contenir les éléments suivants :
1, 0, 1, 0, 0, 1, 0
Utilisez la fonction GET_TABLE_COLUMN_COUNT pour obtenir le nombre de colonnes dans la table (reportez-vous à "GET_TABLE_COLUMN_COUNT").
Sortie
<compressed_rec>
Pointeur vers l'enregistrement renvoyé au format compressé. En général, compressed_rec est un pointeur vers un tampon de type exit_rec_buf_def. Le tampon exit_rec_buf_def contient l'enregistrement réel sur le point d'être traité par le processus d'extraction ou de réplication. Le tampon est fourni lorsque le type d'appel est EXIT_CALL_DISCARD_RECORD. Les routines de sortie peuvent modifier le contenu de cette mémoire tampon, par exemple pour exécuter des fonctions de mappage personnalisées. L'appelant doit s'assurer que la quantité de mémoire appropriée est allouée à compressed_rec.
<compressed_len>
Longueur renvoyée de l'enregistrement compressé.
Valeurs retournées
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_OK
EXIT_FN_RET_INVALID_PARAM