COMPRESS_RECORD
Valido per
Estrai e Replicat
Descrizione
Utilizzare la funzione COMPRESS_RECORD per comprimere di nuovo i record decompressi con la funzione DECOMPRESS_RECORD. Chiamare COMPRESS_RECORD solo dopo aver utilizzato DECOMPRESS_RECORD.
Il contenuto del buffer di record non viene convertito nel o dal set di caratteri dell'uscita utente. È passato così com'è.
Sintassi
#include "usrdecs.h"
short result_code;
compressed_rec_def compressed_rec;
ERCALLBACK (COMPRESS_RECORD, &compressed_rec, &result_code);
Buffer
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;
Input
<decompressed_rec>
Puntatore al buffer contenente il record prima della compressione. Si presuppone che il record sia nel formato canonico predefinito di Oracle GoldenGate.
<decompressed_len>
Lunghezza del record decompresso.
<source_or_target>
Una delle seguenti opzioni indica se il record di origine o di destinazione viene compresso.
EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL
<requesting_before_after_ind>
Utilizzato come input interno. Non è necessario impostarlo. Se impostato, verrà ignorato.
<columns_present>
Array di valori che indica le colonne presenti nel record compresso. Ad esempio, se nel record compresso sono presenti la prima, la terza e la sesta colonna e il numero totale di colonne nella tabella è sette, l'array deve contenere:
1, 0, 1, 0, 0, 1, 0
Utilizzare la funzione GET_TABLE_COLUMN_COUNT per ottenere il numero di colonne nella tabella (vedere "GET_TABLE_COLUMN_COUNT").
Output
<compressed_rec>
Un puntatore al record restituito in formato compresso. In genere, compressed_rec è un puntatore a un buffer di tipo exit_rec_buf_def. Il buffer exit_rec_buf_def contiene il record effettivo che verrà elaborato da Extract o Replicat. Il buffer viene fornito quando il tipo di chiamata è EXIT_CALL_DISCARD_RECORD. Le routine di uscita possono modificare il contenuto di questo buffer, ad esempio per eseguire funzioni di mapping personalizzate. Il chiamante deve assicurarsi che la quantità di memoria appropriata sia allocata a compressed_rec.
<compressed_len>
La lunghezza restituita del record compresso.
Valori restituiti
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_OK
EXIT_FN_RET_INVALID_PARAM