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