SET_RECORD_BUFFER

Válido Para

Extract e Replicat

Descrição

Use a função SET_RECORD_BUFFER para compatibilidade com saídas do usuário e para manipulação de registros de dados complexos. Esta função manipula todo o registro. É melhor modificar valores de coluna individuais, em vez de o registro inteiro, porque os formatos de registro interno do Oracle GoldenGate devem ser conhecidos para modificar com precisão o buffer de registro de dados diretamente. Para modificar valores de coluna, use as funções SET_COLUMN_VALUE_BY_INDEX e SET_COLUMN_VALUE_BY_NAME. Essas funções são suficientes para lidar com a maioria dos mapeamentos personalizados em uma saída de usuário.

Sintaxe

#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>

Um ponteiro para o novo buffer de registro. Geralmente, buffer é um ponteiro para um buffer do tipo exit_rec_buf_def. O buffer exit_rec_buf_def contém o registro real prestes a ser processado pelo processo Extract ou Replicat. O buffer é fornecido quando o tipo de chamada é EXIT_CALL_DISCARD_RECORD. Rotinas de saída podem alterar o conteúdo deste buffer, por exemplo, para executar funções de mapeamento personalizadas.

O conteúdo do buffer de registro não é convertido para ou a partir do conjunto de caracteres da saída do usuário. Foi informado como está.

<length>

O novo tamanho do buffer de registro.

Saída

Nenhum

Valores de Retorno

EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_OK
EXIT_FN_RET_NOT_SUPPORTED