GET_TABLE_METADATA
Válido para
Extraer y Replicat
Descripción
Utilice la función GET_TABLE_METADATA para recuperar metadatos sobre la tabla asociada al registro que se está procesando.
Sintaxis
#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>
Un puntero a un buffer para aceptar el valor de retorno table_name
<key_columns>
Un puntero a una matriz de índices key_columns.
<max_name_length>
Longitud máxima del nombre de tabla devuelto. Normalmente, la longitud máxima es la longitud del buffer de nombre de tabla. Dado que el nombre de tabla devuelto es nulo, la longitud máxima debe ser igual a la longitud máxima del nombre de tabla.
<source_or_target>
Una de las siguientes indicaciones indica si se debe devolver el nombre de la tabla de origen o de destino.
EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL
Salida
<table_name>
Nombre de la tabla asociada al registro que se está procesando. Si la sesión de caracteres de la salida de usuario se define con SET_SESSION_CHARSET en un valor distinto del juego de caracteres por defecto del sistema operativo, como se define en ULIB_CS_DEFAULT en el archivo ucharset.h, el nombre de tabla se interpreta en el juego de caracteres de la sesión.
<value_truncated>
Indicador (0 o 1) que indica si el valor se ha truncado o no. El truncamiento se produce si la longitud del nombre de la tabla más el terminador nulo supera la longitud máxima del buffer.
<actual_name_length>
Longitud de cadena del nombre de tabla devuelto. La longitud real no incluye el terminador nulo.
<num_columns>
El número de columnas de la tabla
<num_key_columns>
Número de columnas de la clave que está utilizando Oracle GoldenGate.
<key_columns>
Los valores de las columnas clave. Debe conocer el número esperado de claves multiplicado por la longitud de las columnas y, a continuación, asignar la cantidad adecuada de buffer.
<num_keys_returned>
Número de columnas clave que se solicitan.
using_pseudo_key
Indicador que indica si las columnas especificadas por KEYCOLS se están utilizando o no como clave. Devuelve TRUE o FALSE.
Valores devueltos
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_EXCEEDED_MAX_LENGTH
EXIT_FN_RET_OK