目的
外部サーバーのテキスト問合わせ文字列を生成し、現在サポートされているインターフェース バージョンを返します。
構文規則
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を使用してデータ処理後に割り当てられているメモリを解放する必要があります。