GET_TABLE_METADATA

Gültig für

Extrakt und Replicat

Beschreibung

Verwenden Sie die Funktion GET_TABLE_METADATA, um Metadaten zu der Tabelle abzurufen, die mit dem verarbeiteten Datensatz verknüpft ist.

Syntax

#include "usrdecs.h"
short result_code;
table_metadata_def tbl_meta_rec;
ERCALLBACK (GET_TABLE_METADATA, &tbl_meta_rec, &result_code);

Puffer

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;

Eingabe

<table_name>

Ein Zeiger auf einen Puffer, um den Rückgabewert table_name zu akzeptieren

<key_columns>

Ein Zeiger auf ein Array von key_columns-Indizes.

<max_name_length>

Die maximale Länge des zurückgegebenen Tabellennamens. Normalerweise entspricht die maximale Länge der Länge des Tabellennamenpuffers. Da der zurückgegebene Tabellenname null-terminiert ist, muss die maximale Länge der maximalen Länge des Tabellennamens entsprechen.

<source_or_target>

Eine der folgenden Optionen gibt an, ob der Quell- oder Zieltabellenname zurückgegeben werden soll.

EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL

Ausgabe

<table_name>

Der Name der Tabelle, die dem verarbeiteten Datensatz zugeordnet ist. Wenn die Zeichensession des User Exit mit SET_SESSION_CHARSET auf einen anderen Wert als den Standardzeichensatz des Betriebssystems gesetzt wird, wie in ULIB_CS_DEFAULT in der Datei ucharset.h definiert, wird der Tabellenname im Sessionzeichensatz interpretiert.

<value_truncated>

Ein Flag (0 oder 1), das angibt, ob der Wert abgeschnitten wurde. Eine Abkürzung tritt auf, wenn die Länge des Tabellennamens plus des Null-Terminators die maximale Pufferlänge überschreitet.

<actual_name_length>

Die Zeichenfolgenlänge des zurückgegebenen Tabellennamens. Die tatsächliche Länge enthält nicht den Null-Terminator.

<num_columns>

Die Spaltenanzahl in der Tabelle

<num_key_columns>

Die Anzahl der Spalten im Schlüssel, die von Oracle GoldenGate verwendet werden.

<key_columns>

Die Werte für die Schlüsselspalten. Sie müssen die erwartete Anzahl von Schlüsseln multipliziert mit der Länge der Spalten kennen und dann die entsprechende Puffermenge zuweisen.

<num_keys_returned>

Die Anzahl der angeforderten Schlüsselspalten.

using_pseudo_key

Ein Flag, das angibt, ob von KEYCOLS angegebene Spalten als Schlüssel verwendet werden. Gibt TRUE oder FALSE zurück.

Rückgabewerte

EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_EXCEEDED_MAX_LENGTH
EXIT_FN_RET_OK