GET_DDL_RECORD_PROPERTIES

Gültig für

Extract und Replicat für Datenbanken, für die DDL-Replikation unterstützt wird

Beschreibung

Verwenden Sie die Funktion GET_DDL_RECORD_PROPERTIES, um einen DDL-Vorgang zurückzugeben, einschließlich Informationen zum Objekt, auf dem die DDL ausgeführt wurde, und auch zum Text der DDL-Anweisung selbst. Der Extraktionsprozess kann nur das Layout der Quelltabelle abrufen. Der Replicat-Prozess kann Quell- oder Ziellayouts abrufen.

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, werden die Zeichendaten, die zwischen dem User Exit und dem Prozess ausgetauscht werden, im Sessionzeichensatz interpretiert. Dazu gehören der Typ DDL, der Objekttyp, der zweiteilige oder dreiteilige Objektname, der Eigentümername und der Text DDL selbst.

#include "usrdecs.h"
short result_code;
ddl_record_def ddl_rec;
ERCALLBACK (GET_DDL_RECORD_PROPERTIES, &ddl_rec, &result_code);

Puffer

typedef struct
{
char *ddl_type;
long ddl_type_max_length; /* Maximum Description length PASSED IN BY USER */
long ddl_type_length; /* Actual length */

char *object_type;
long object_type_max_length; /* Maximum Description length PASSED IN BY USER */
long object_type_length; /* Actual length */

char *object_name; /* Fully qualified name of the object
  (3-part for CDB, 2-part for non-CDB) */
long object_max_length; /* Maximum Description length PASSED IN BY USER */
long object_length; /* Actual length */

char *owner_name;
long owner_max_length; /* Maximum Description length PASSED IN BY USER */
long owner_length; /* Actual length */

char *ddl_text;
long ddl_text_max_length; /* Maximum Description length PASSED IN BY USER */
long ddl_text_length; /* Actual length */

short ddl_text_truncated; /* Was value truncated? */
short source_or_target; /* Source or target value? */
} ddl_record_def;

Eingabe

<ddl_type_length> <object_type_length> <object_length> <owner_length> <ddl_text_length>

Ein Zeiger auf einen Puffer für jedes dieser Elemente, um die zurückgegebenen Spaltenwerte zu akzeptieren. Folgende Elemente sind verfügbar:

<ddl_type_length>

Enthält die Länge des Typs des Vorgangs DDL. Beispiel: CREATE oder ALTER.

<object_type_length>

Enthält die Länge des Typs des Datenbankobjekts, das vom Vorgang DDL betroffen ist, z.B. TABLE oder INDEX.

<object_length>

Enthält die Länge des Namens des Objekts.

<object_length>

Enthält die Länge des Eigentümers des Objekts (Schema oder Datenbank).

<ddl_text_length>

Enthält die Länge des eigentlichen Textes der DDL-Anweisung.

<ddl_type_max_length>

Die maximale Länge des Vorgangstyps DDL, der von *ddl_type zurückgegeben wird. Der DDL-Typ ist ein beliebiger DDL-Befehl, der für die Datenbank gültig ist, wie ALTER.

<object_type_max_length>

Die maximale Länge des Objekttyps, der von *object_type zurückgegeben wird. Der Objekttyp ist ein Objekt, das für die Datenbank gültig ist, wie TABLE, INDEX und TRIGGER.

<object_max_length>

Die maximale Länge des Namens des Objekts, das von *object_name zurückgegeben wird.

<owner_max_length>

Die maximale Länge des Namens des Eigentümers, der von *owner_name zurückgegeben wird.

<ddl_text_max_length>

Die maximale Länge des Textes der DDL-Anweisung, der von *ddl_text zurückgegeben wird.

<source_or_target>

Eine der folgenden Optionen gibt an, ob der Vorgangstyp für den Quell- oder Zieldatensatz zurückgegeben werden soll.

EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL

Ausgabe

<ddl_type_length> <object_type_length> <object_length> <owner_length> <ddl_text_length>

Alle diese Felder geben die tatsächliche Länge des angeforderten Werts zurück. (Siehe Eingabe für Beschreibungen.)

<ddl_text_truncated>

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

Rückgabewerte

EXIT_FN_RET_OK
EXIT_FN_RET_NOT_SUPPORTED
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_INCOMPLETE_DDL_REC