Distributed Tuning Interface のリファレンス
DTI の目的は、Zen コンポーネントの設定、監視、および診断を行うためのインターフェイスを提供することにあります。DTI によって、お使いのアプリケーションから Zen ユーティリティの機能を利用できるようになります。
以下のトピックでは、インターフェイスとその使用法について説明します。
DTI 関数リファレンスの使い方
各関数に関して、以下の情報を提供します。
DTI 関数グループ
Distributed Tuning Interface はいくつかの関数グループに分けられています。グループ分けの要約については、次の表を参照してください。それぞれの関数の説明は、後述のセクションでアルファベット順に示します。
DTI エラー メッセージ
 
定義されているステータス コードについては、dticonst.h および ddfstrct.h を参照してください。
DTI 構造体
DTI で使用される構造体について、以下に説明します。各構造体グループでは、含まれる構造体のタイプ、および必要となる設定や引数について詳細に説明します。構造体は以下のファイルに格納されています。
各構造体に固有の情報については、その構造体に対応するヘッダー ファイルを参照してください。
CONFIG.H 構造体
以下に CONFIG.H に含まれる構造体の一覧を示します。これらの構造体の詳細については、config ヘッダー ファイルを参照してください。
DDFSTRCT.H 構造体
以下に DDFSTRCT.H に含まれる構造体の一覧を示します。これらの構造体の詳細については、ddf ヘッダー ファイルを参照してください。
B_FLAG_TRUE_NULLABLE = 64
テーブルは真のヌル値を許可します。テーブルが作成されるとき、ヌル値を許可する各列の前に 1 バイトのヌル インジケーターが追加されます。
B_FLAG_CASE_SENSITIVE = 1
列の値は、比較する際、つまりインデックス セグメントの一部として比較する際に大文字と小文字が区別されます。
B_FLAG_NULLABLE = 4
真のヌル値を許可するようにテーブルを作成すると、列の値がヌルであるかどうかを示すために、列の値の前に 1 バイトのヌル インジケーターが追加されます。
B_FLAG_NTEXT = 2048
列が B_TYPE_BLOB として作成されている場合、データは文字データではなくワイド文字として扱われます。
B_FLAG_BINARY = 4096
列が B_TYPE_STRING または B_TYPE_BLOB として作成されている場合、データは文字データではなくバイナリとして扱われます。
COLUMNMAP データ型は以下の値を取ります。
B_TYPE_STRING = 0,
B_TYPE_INTEGER = 1,
B_TYPE_FLOAT = 2,
B_TYPE_DATE = 3,
B_TYPE_TIME = 4,
B_TYPE_DECIMAL = 5,
B_TYPE_MONEY = 6,
B_TYPE_LOGICAL = 7,
B_TYPE_NUMERIC = 8,
B_TYPE_BFLOAT = 9,
B_TYPE_LSTRING = 10,
B_TYPE_ZSTRING = 11,
B_TYPE_NOTE = 12,
B_TYPE_LVAR = 13,
B_TYPE_BINARY = 14,
B_TYPE_AUTOINC = 15,
B_TYPE_BIT = 16,
B_TYPE_NUMERSTS = 17,
B_TYPE_NUMERSA = 18,
B_TYPE_CURRENCY = 19,
B_TYPE_TIMESTAMP = 20,
B_TYPE_BLOB = 21,
B_TYPE_GDECIMAL = 22,
B_TYPE_WSTRING = 25,
B_TYPE_WZSTRING = 26,
B_TYPE_GUID = 27,
B_TYPE_DATETIME = 30
B_FLAG_DUPLICATES = 1
インデックスでの重複を許可します。
B_FLAG_MODIFIABLE = 2
インデックスの変更が可能です。
B_FLAG_SORT_DESCENDING = 64
インデックスを降順にソートします。
B_FLAG_PARTIAL = 512
インデックスは部分的です。セグメント上の部分インデックス フラグがインデックスの最後のセグメントではない場合、その部分インデックス フラグは無視されます。部分インデックスが適用されるのは、インデックスの最後のセグメントのみです。
TABLESTAT2 と TABLESTAT の相違点
TABLESTAT2 構造体と TABLESTAT 構造体との間の以下の相違点に注意してください。
tableName フィールドおよび tableLocation フィールドではより多くの文字数を使用できます。
numberOfRecords フィールドは 16 ビットから 32 ビットに増加します。
freespaceThreshold フィールドは整数データ型になりました。
fileVersion フィールドは、浮動小数点数型ではなくなりました。現在は 1 バイトの整数で、Btrieve の Stat(15)オペレーションが返すのと同じ値を保持します。9.5 ファイル形式の場合、返される値は 0x95 です。
新しいフィールドの pageCompression は、テーブルに関連付けられている物理ファイルに圧縮ページがあるかないかを示します。
以前の dataCompression および systemDataKey は、それぞれ recordCompression および systemData という名前に変更されました。
TABLESTAT3 と TABLESTAT2 の相違点
TABLESTAT3 構造体と TABLESTAT2 構造体との間の以下の相違点に注意してください。
numberOfRecords フィールドは 32 ビットから 64 ビットに増加します。
以前のバージョンとの互換性
Zen クライアントは、今までどおりデータベース エンジンへの PvGetTableStat 呼び出しを行うことができます。データベース エンジンは、クライアントのバージョンに基づいて、応答メッセージを TABLESTAT2 構造体または TABLESTAT 構造体に変換します。
Zen クライアントは、接続しているデータベース エンジンのバージョンを特定します。データベース エンジンのバージョンが現在のリリースより前の場合、PvGetTableStat2 は TABLESTAT 構造体を返し、pageCompression が返す値に 0 を設定します。
 
MONITOR.H 構造体
以下に MONITOR.H に含まれる構造体の一覧を示します。これらの構造体の詳細については、monitor ヘッダー ファイルを参照してください。
DTI 呼び出しの順序
すべての Distributed Tuning Interface 呼び出しは、まず PvStart() を呼び出すことによって DTI セッションを初期化しておく必要があります。
 
status = PvStart(0);
 
// ここに、複数の DTI 関数呼び出しを挿入します
 
status = PvStop (0);
各関数の備考には、その特定の関数に対し、実行前および実行後に必要となる条件が挙げられています。
DTI 関数の定義
このトピックでは、DTI 関数のリファレンスをアルファベット順で提供します。