GET_TABLE_METADATA
Válido Para
Extract e Replicat
Descrição
Use a função GET_TABLE_METADATA para recuperar metadados sobre a tabela associada ao registro que está sendo processado.
Sintaxe
#include "usrdecs.h"
short result_code;
table_metadata_def tbl_meta_rec;
ERCALLBACK (GET_TABLE_METADATA, &tbl_meta_rec, &result_code);
Buffer
typedef struct
{
char *table_name;
short value_truncated;
long max_name_length;
long actual_name_length;
short num_columns;
short num_key_columns;
short *key_columns;
short num_keys_returned;
BOOL using_pseudo_key;
short source_or_target;
} table_metadata_def;
Entrada
<table_name>
Um ponteiro para um buffer para aceitar o valor de retorno table_name
<key_columns>
Um ponteiro para um array de índices key_columns.
<max_name_length>
O tamanho máximo do nome da tabela retornada. Normalmente, o tamanho máximo é o tamanho do buffer do nome da tabela. Como o nome da tabela retornada é nulo terminado, o tamanho máximo deve ser igual ao tamanho máximo do nome da tabela.
<source_or_target>
Uma das opções a seguir indica se o nome da tabela de origem ou de destino deve ser retornado.
EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL
Saída
<table_name>
O nome da tabela associada ao registro que está sendo processado. Se a sessão de caracteres da saída do usuário for definida com SET_SESSION_CHARSET para um valor diferente do conjunto de caracteres padrão do sistema operacional, conforme definido em ULIB_CS_DEFAULT no arquivo ucharset.h, o nome da tabela será interpretado no conjunto de caracteres da sessão.
<value_truncated>
Um flag (0 ou 1) indicando se o valor foi truncado ou não. Truncação ocorre se o tamanho do nome da tabela mais o terminador nulo exceder o tamanho máximo do buffer.
<actual_name_length>
O tamanho da string do nome da tabela retornada. O tamanho real não inclui o terminador nulo.
<num_columns>
O número de colunas na tabela,
<num_key_columns>
O número de colunas na chave que está sendo usada pelo Oracle GoldenGate.
<key_columns>
Os valores das colunas de chave. Você deve saber o número esperado de chaves multiplicado pelo tamanho das colunas e, em seguida, alocar a quantidade apropriada de buffer.
<num_keys_returned>
O número de colunas de chave solicitadas.
using_pseudo_key
Um flag que indica se as colunas especificadas por KEYCOLS estão ou não sendo usadas como chave. Retorna TRUE ou FALSE.
Valores de Retorno
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_EXCEEDED_MAX_LENGTH
EXIT_FN_RET_OK