17.00 - 17.05 - FNC_TblOpGetExternalQuery - 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
日本語 (日本)

目的

外部サーバーのテキスト問合わせ文字列を生成し、現在サポートされているインターフェース バージョンを返します。

構文規則

void
FNC_TblOpGetExternalQuery(FNC_TblOpColumnDef_t *colDefs,
                          ServerType             serverType,
                          ExtOpSetType           opSet,
                          int                  *interfaceVersion,
                          unsigned char       **extQryPtr,
                          unsigned int         *extQryLenPtr)
FNC_TblOpColumnDef_t *colDefs
INパラメータ

外部サーバーによってWHERE句で発生する可能性がある列定義の一覧。

ServerType serverType
INパラメータ
ServerTypeは次のように定義されます:
typedef enum
{
   ANSISQL = 1,
   HADOOP = 2
} serverType_et;

typedef int ServerType;
  • ANSI SQLの場合、外部サーバーのテーブルのサブクエリー全体が返されます。
  • HADOOPの場合、クエリーのWHERE句の部分のみが返されます。
ExtOpSetType opSet
INパラメータ

外部サーバーでサポートされている有効な演算子のセット。

ExOpSetTypeは次のように定義されます:
typedef enum
{
   Eq_ET,
   Ne_ET,
   Gt_ET,
   Le_ET,
   Lt_ET,
   And_ET,
   Or_ET,
   Not_ET,
   Between_ET,
   In_ET,
   NotIn_ET,
   Ge_ET,
   Like_ET
} extoptype_et;

typedef BYTE ExtOpType;
typedef unsigned int ExtOpSet;

typedef struct ExtOpSetType {
   ExtOpSet ExtOpSetList;
} ExtOpSetType;
int *interfaceVersion
IN/OUTパラメータ
インターフェース バージョンへのポインタ:
  • 呼び出し側は、引数として目的のインターフェース バージョンを渡します。
  • ルーチンは実際のインターフェースのバージョンを返します。
unsigned char **extQryLenPtr
OUTパラメータ

外部サーバーに対して生成されたテキスト クエリー文字列へのポインタ。クエリー文字列はnullで終わります。

unsigned int *extQryLenPtr
OUTパラメータ

外部クエリーの長さへのポインタ(バイト単位)。

使用上の注意

このルーチンは、PE vprocでテーブル演算子によってのみ呼び出し可能です。

FNC_TblOpGetExternalQueryはFNC_mallocを呼び出し、*extQryPtrによって指定されるバッファに対しメモリを割り当てます。ルーチンが*extQryPtrをNULLとして返さない限り、FNC_freeを使用してデータ処理後に割り当てられているメモリを解放する必要があります。