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