17.00 - 17.05 - 構文 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1147-170K-JPN
Language
日本語 (日本)
int FNC_Get_GLOP_Map(GLOP_Map_t **Map)
GLOP_Map_t ** Map
FNC_Get_GLOP_MapがGLOP_Map_t構造体へのポインタを保存するアドレス。
外部ルーチンにGLOPセットへのアクセスがない場合、FNC_Get_GLOP_MapはNULLポインタを戻します。これは、外部ルーチンでCREATE文にUSING GLOP SET句が含まれていない場合、またはGLOPデータ テーブルで外部ルーチンがメンバーである指定されたGLOPセットの行を検出できなかった場合に当てはまります。
構造体GLOP_Map_tは、8つのGLOP_ref_t構造体に、いくつかの内部構造体が加わった配列です。8つのGLOPデータ参照は、外部ルーチンがマップできる最大数です。
GLOP_Map_tには、以下の定義があります。
typedef struct
{
  GLOP_ref_t  GLOP[8],
} GLOP_Map_t;
構造体GLOP_ref_tには、以下の定義があります。
typedef  struct
{
  void     *GLOP_ptr,
  int       version,
  int       size,
  int       page,
  GLOP_Mode mode,
  GLOP_Type type,
}  GLOP_ref_t;
条件
  • GLOP_ptrは、GLOPデータのマップ済みアドレスを指定します。
  • versionは、使用されるGLOPのバージョンを指定します。

    このバージョンは、DBCExtension.GLOP_DataテーブルのGLOP_Version列を反映します。

  • sizeは、マップ済みGLOPデータのバイト単位の長さを指定します。

    範囲外の参照は、メモリ違反の原因となる可能性があります。

  • pageは、マップ済みGLOPページの数を指定します。
  • modeは、マッピングおよび変更モードを指定します。GLOP_Mode列挙型には、以下の定義があります。
    typedef enum
      {
        GLOP_NONE=0, /* no map mode */
        GLOP_R=1,    /* read-only */
        GLOP_W=2,    /* normal map read/write */
        GLOP_M=3,    /* normal map global modify */
        GLOP_SW=4,   /* shared map read/write */
        GLOP_SM=5    /* shared map global modify */
      } GLOP_Mode;

    GLOPマッピングおよび変更モードの詳細については、GLOPデータ属性およびGLOPデータ属性を参照してください。

  • typeはGLOPのタイプを指定します。GLOP_Type列挙型には、以下の定義があります。
    typedef enum
     {
       GLOP_NULL=0, /* no mapping */
       GLOP_SY=1,   /* system GLOP */
       GLOP_RO=2,   /* role GLOP */
       GLOP_US=3,   /* user GLOP */
       GLOP_SE=4,   /* session GLOP */
       GLOP_TR=5,   /* transaction GLOP */
       GLOP_RE=6,   /* request GLOP */
       GLOP_XR=7    /* external routine GLOP */
     }  GLOP_Type;

    GLOP型の詳細については、GLOP型を参照してください。