GET_BASE_OBJECT_NAME_ONLY
Durée de validité
Extraction et réplication
Description
Utilisez la fonction GET_BASE_OBJECT_NAME_ONLY pour extraire le nom non qualifié (sans le catalogue, le conteneur ou le schéma) de l'objet de base d'un objet source ou cible associé à l'enregistrement en cours de traitement. Cette fonction est valide pour les tables et autres objets d'une opération DDL.
Pour renvoyer le nom qualifié complet d'un objet de base, reportez-vous aux sections suivantes :
Pour renvoyer uniquement le schéma de l'objet de base, reportez-vous aux sections suivantes :
Les noms d'objet de base de données sont renvoyés exactement tels qu'ils sont définis dans la base de données d'hébergement, y compris la casse des lettres.
Syntaxe
#include "usrdecs.h"
short result_code;
env_value_def env_value;
ERCALLBACK (GET_BASE_OBJECT_NAME_ONLY, &env_value, &result_code);
Tampon
typedef struct
{
char *buffer;
long max_length;
long actual_length;
short value_truncated;
short index;
short source_or_target;
} env_value_def;
Entrée
<buffer>
Pointeur vers un tampon pour accepter le nom d'objet renvoyé. Le nom prend fin avec la valeur NULL.
<max_length>
Longueur maximale du tampon alloué pour accepter le nom de l'objet. Cette valeur est renvoyée sous la forme d'une chaîne de fin NULL.
<source_or_target>
L'un des éléments suivants indique si le nom de l'objet source ou cible doit être renvoyé.
EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL
Sortie
<buffer>
Nom d'objet qualifié complet avec terminaison NULL, par exemple schema.object ou catalog.schema.object, selon la plate-forme de base de données.
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 d'objet est interprété dans le jeu de caractères de session.
longueur réelle
Longueur de chaîne du nom d'objet renvoyé. La longueur réelle n'inclut pas le terminateur NULL. La longueur réelle est de 0 si l'objet est une table.
<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 d'objet plus la terminaison NULL dépasse la longueur maximale du tampon.
Valeurs retournées
EXIT_FN_RET_INVALID_COLUMN
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_OK