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