SET_RECORD_BUFFER
Gültig für
Extrakt und Replicat
Beschreibung
Verwenden Sie die Funktion SET_RECORD_BUFFER zur Kompatibilität mit User Exits und zur Bearbeitung komplexer Datensätze. Diese Funktion bearbeitet den gesamten Datensatz. Am besten ändern Sie einzelne Spaltenwerte und nicht den gesamten Datensatz, da die internen Datensatzformate von Oracle GoldenGate bekannt sein müssen, um den Datensatzpuffer direkt genau zu ändern. Um Spaltenwerte zu ändern, verwenden Sie die Funktionen SET_COLUMN_VALUE_BY_INDEX und SET_COLUMN_VALUE_BY_NAME. Diese Funktionen sind ausreichend, um die meisten benutzerdefinierten Zuordnungen innerhalb eines User Exit zu verarbeiten.
Syntax
#include "usrdecs.h"
short result_code;
record_def record;
ERCALLBACK (SET_RECORD_BUFFER, &record_def, &result_code);
Puffer
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;
Eingabe
<buffer>
Ein Zeiger auf den neuen Datensatzpuffer. Normalerweise ist buffer ein Zeiger auf einen Puffer vom Typ exit_rec_buf_def. Der Puffer exit_rec_buf_def enthält den tatsächlichen Datensatz, der von Extract oder Replicat verarbeitet werden soll. Der Puffer wird angegeben, wenn der Aufruftyp EXIT_CALL_DISCARD_RECORD ist. Beendigungsroutinen können den Inhalt dieses Buffers ändern, z.B. um benutzerdefinierte Zuordnungsfunktionen auszuführen.
Der Inhalt des Datensatzpuffers wird nicht in oder aus dem Zeichensatz des User Exit konvertiert. Wird unverändert übergeben.
<length>
Die neue Länge des Datensatzpuffers.
Ausgabe
Keine
Rückgabewerte
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_OK
EXIT_FN_RET_NOT_SUPPORTED