GET_TABLE_METADATA
Durée de validité
Extraction et réplication
Description
Utilisez la fonction GET_TABLE_METADATA pour extraire les métadonnées relatives à la table associée à l'enregistrement en cours de traitement.
Syntaxe
#include "usrdecs.h"
short result_code;
table_metadata_def tbl_meta_rec;
ERCALLBACK (GET_TABLE_METADATA, &tbl_meta_rec, &result_code);
Tampon
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;
Entrée
<table_name>
Pointeur vers un tampon pour accepter la valeur renvoyée par table_name
<key_columns>
Pointeur vers un tableau d'index key_columns.
<max_name_length>
Longueur maximale du nom de table renvoyé. En général, la longueur maximale est la longueur du tampon de nom de table. Etant donné que le nom de table renvoyé est NULL, la longueur maximale doit être égale à la longueur maximale du nom de table.
<source_or_target>
L'un des éléments suivants indique si le nom de la table source ou cible doit être renvoyé.
EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL
Sortie
<table_name>
Nom de la table associée à l'enregistrement en cours de traitement. Si la session de caractères de l'exit utilisateur est définie avec SET_SESSION_CHARSET sur une valeur autre que le jeu de caractères par défaut du système d'exploitation, tel que défini dans ULIB_CS_DEFAULT dans le fichier ucharset.h, le nom de table est interprété dans le jeu de caractères de session.
<value_truncated>
Indicateur (0 ou 1) indiquant si la valeur a été tronquée ou non. La troncature se produit si la longueur du nom de la table plus la terminaison NULL dépasse la longueur maximale du tampon.
<actual_name_length>
Longueur de chaîne du nom de table renvoyé. La longueur réelle n'inclut pas le terminateur NULL.
<num_columns>
Nombre de colonnes de la table.
<num_key_columns>
Nombre de colonnes de la clé utilisées par Oracle GoldenGate.
<key_columns>
Valeurs des colonnes de clé. Vous devez connaître le nombre attendu de clés multiplié par la longueur des colonnes, puis allouer la quantité de tampon appropriée.
<num_keys_returned>
Nombre de colonnes de clé demandées.
using_pseudo_key
Indicateur qui indique si les colonnes spécifiées par KEYCOLS sont ou non utilisées comme clé. Renvoie TRUE ou FALSE.
Valeurs retournées
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_EXCEEDED_MAX_LENGTH
EXIT_FN_RET_OK