GET_TABLE_METADATA
Valido per
Estrai e Replicat
Descrizione
Utilizzare la funzione GET_TABLE_METADATA per recuperare i metadati relativi alla tabella associata al record in fase di elaborazione.
Sintassi
#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;
Input
<table_name>
Un puntatore a un buffer per accettare il valore restituito table_name
<key_columns>
Un puntatore a un array di indici key_columns.
<max_name_length>
La lunghezza massima del nome tabella restituito. In genere, la lunghezza massima è la lunghezza del buffer dei nomi di tabella. Poiché il nome tabella restituito è nullo, la lunghezza massima deve essere uguale alla lunghezza massima del nome tabella.
<source_or_target>
Una delle seguenti opzioni indica se restituire il nome della tabella di origine o di destinazione.
EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL
Output
<table_name>
Nome della tabella associata al record in fase di elaborazione. Se la sessione di caratteri dell'uscita utente viene impostata con SET_SESSION_CHARSET su un valore diverso dal set di caratteri predefinito del sistema operativo, come definito in ULIB_CS_DEFAULT nel file ucharset.h, il nome della tabella viene interpretato nel set di caratteri della sessione.
<value_truncated>
Flag (0 o 1) che indica se il valore è stato troncato o meno. La troncatura si verifica se la lunghezza del nome della tabella più il terminatore nullo supera la lunghezza massima del buffer.
<actual_name_length>
Lunghezza stringa del nome tabella restituito. La lunghezza effettiva non include il terminatore nullo.
<num_columns>
Il numero di colonne della tabella.
<num_key_columns>
Numero di colonne nella chiave utilizzata da Oracle GoldenGate.
<key_columns>
Valori per le colonne chiave. È necessario conoscere il numero previsto di chiavi moltiplicate per la lunghezza delle colonne, quindi allocare la quantità appropriata di buffer.
<num_keys_returned>
Numero di colonne chiave richieste.
using_pseudo_key
Flag che indica se le colonne specificate in KEYCOLS vengono utilizzate come chiave. Restituisce TRUE o FALSE.
Valori restituiti
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_EXCEEDED_MAX_LENGTH
EXIT_FN_RET_OK