SET_RECORD_BUFFER
Válido para
Extraer y Replicat
Descripción
Utilice la función SET_RECORD_BUFFER para la compatibilidad con las salidas de usuario y para la manipulación de registros de datos complejos. Esta función manipula todo el registro. Es mejor modificar valores de columna individuales, en lugar de todo el registro, porque los formatos de registro interno de Oracle GoldenGate se deben conocer para modificar de forma precisa el buffer de registro de datos directamente. Para modificar los valores de columna, utilice las funciones SET_COLUMN_VALUE_BY_INDEX y SET_COLUMN_VALUE_BY_NAME. Estas funciones son suficientes para manejar la mayoría de las asignaciones personalizadas dentro de una salida de usuario.
Sintaxis
#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;
Entrada
<buffer>
Un puntero al nuevo buffer de registro. Normalmente, buffer es un puntero a un buffer de tipo exit_rec_buf_def. El buffer exit_rec_buf_def contiene el registro real que va a procesar Extract o Replicat. El buffer se proporciona cuando el tipo de llamada es EXIT_CALL_DISCARD_RECORD. Las rutinas de salida pueden cambiar el contenido de este buffer, por ejemplo, para realizar funciones de asignación personalizadas.
El contenido del buffer de registro no se convierte en el juego de caracteres de la salida de usuario ni desde él. Se aprueba tal cual.
<length>
La nueva longitud del buffer de registro.
Salida
Ninguno
Valores devueltos
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_OK
EXIT_FN_RET_NOT_SUPPORTED