SET_RECORD_BUFFER
Valido per
Estrai e Replicat
Descrizione
Utilizzare la funzione SET_RECORD_BUFFER per la compatibilità con le uscite utente e per la manipolazione di record di dati complessi. Questa funzione manipola l'intero record. È preferibile modificare i valori delle singole colonne anziché l'intero record, in quanto i formati di record interni di Oracle GoldenGate devono essere noti per poter modificare in modo accurato il buffer dei record di dati direttamente. Per modificare i valori delle colonne, utilizzare le funzioni SET_COLUMN_VALUE_BY_INDEX e SET_COLUMN_VALUE_BY_NAME. Queste funzioni sono sufficienti per gestire la maggior parte dei mapping personalizzati all'interno di un'uscita utente.
Sintassi
#include "usrdecs.h"
short result_code;
record_def record;
ERCALLBACK (SET_RECORD_BUFFER, &record_def, &result_code);
Buffer
typedef struct
{
char *table_name;
char *buffer;
long length;
char before_after_ind;
short io_type;
short record_type;
short transaction_ind;
int64_t timestamp;
exit_ts_str io_datetime;
short mapped;
short source_or_target;
/* Version 2 CALLBACK_STRUCT_VERSION */
char requesting_before_after_ind;
} record_def;
Input
<buffer>
Un puntatore al nuovo buffer di record. In genere, buffer è 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 contenuto del buffer di record non viene convertito nel o dal set di caratteri dell'uscita utente. È passato così com'è.
<length>
La nuova lunghezza del buffer di record.
Output
Nessuno
Valori restituiti
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_OK
EXIT_FN_RET_NOT_SUPPORTED