Distributed Tuning Interface のリファレンス
DTI の目的は、PSQL コンポーネントの設定、監視、および診断を行うためのインターフェイスを提供することにあります。DTI によって、お使いのアプリケーションから PSQL ユーティリティの機能を利用できるようになります。
この章では、以下の項目について説明します。
DTI 関数リファレンスの使い方
各関数に関して、以下の情報を提供します。
•簡単な説明 - 関数について簡単に説明します。
•構文 - 関数の C プロトタイプ構文を示します。
•引数 - 関数の引数について詳しく説明し、関数によって変更される値を示します。「in」とマークされているパラメーターは入力のみです。関数によって変更されません。「out」とマークされているパラメーターには、関数によって変更される値を格納します。「in/out」とマークされているパラメーターには、関数によって入力として使用され、かつ変更される値を格納します。
•戻り値 - 返される可能性のある値とその意味を一覧表示します。
•備考 - 関数のパラメーター、結果、使用法についての補足説明をします。
•例 - 関数の使用法を説明するサンプル コードを示します。
•関連項目 - 関連する関数とトピックの一覧です。
DTI 関数グループ
Distributed Tuning Interface はいくつかの関数グループに分けられています。グループ分けの要約については、次の表を参照してください。それぞれの関数の説明は、後述のセクションでアルファベット順に示します。
表 2 DTI 関数グループ
関数グループ | 用途 | 関数の一覧 |
カタログ catalog.h | データベース カタログ情報を管理します。たとえば、名前付きデータベースを作成、開く、コピー、閉じることや、データ ソース名(DSN)を作成、変更、削除することなどを行います。 | |
構成 config.h | データベース エンジン、通信マネージャー、およびローカル リクエスター コンポーネントの設定を制御します。 | |
接続 connect.h | DTI セッションの開始と終了、サーバーへの接続、接続されたサーバーの名前の取得、およびサーバーからの切断を行います。 | |
辞書 ddf.h | 辞書(DDF)の作成およびクローズと、テーブル、インデックス、ユーザー、グループの作成および削除を行います。 | |
ライセンス管理 dtilicense.h | キーの認証や認証解除、キーに関する情報の取得など、ライセンス管理を行います。 | |
監視と診断 monitor.h | ファイル、クライアント、および SQL 接続について、MicroKernel エンジンの以下のような情報を監視します。 アクティブ ファイル - 開いているファイルの数と一覧の取得、ファイルが開いているかどうかの照会、ファイルを開いた、もしくはロックしたユーザーの照会、ページ サイズ、リードオンリー フラグ、レコード ロック、トランザクション ロック、およびハンドル数の取得、各ハンドルのハンドル情報の取得。 アクティブ クライアント - クライアントの数と一覧の取得、アクティブ ハンドルの照会、クライアント情報の取得、ハンドル情報の取得、クライアントおよび全クライアント機能の切断。 リソース使用状況 - ファイル数、ハンドル数、クライアント数、ワーカ スレッド数、使用中ライセンス数、トランザクション数、ロック数を含む、データの現在値、ピーク値、および最大値の取得。 通信統計情報 - すべての通信統計情報、つまり、通信に関するデータの合計値、増加値、現在値、ピーク値、最大値の取得、増加値のリセット機能。 | |
セキュリティ security.h | データベース セキュリティの有効化/無効化、またはセキュリティ状態の照会 | |
DTI エラー メッセージ
定義されているステータス コードについては、dticonst.h および ddfstrct.h を参照してください。
DTI 構造体
DTI で使用される構造体について、以下に説明します。各構造体グループでは、含まれる構造体のタイプ、および必要となる設定や引数について詳細に説明します。構造体は以下のファイルに格納されています。
•CONFIG.H
•DDFSTRCT.H
•MONITOR.H
各構造体に固有の情報については、その構造体に対応するヘッダー ファイルを参照してください。
CONFIG.H 構造体
以下に CONFIG.H に含まれる構造体の一覧を示します。これらの構造体の詳細については、config ヘッダー ファイルを参照してください。
•PVCATEGORYINFO
•PVSETTINGINFO
DDFSTRCT.H 構造体
以下に DDFSTRCT.H に含まれる構造体の一覧を示します。これらの構造体の詳細については、ddf ヘッダー ファイルを参照してください。
•TABLEMAP
•TABLEINFO
•TABLEINFO フラグ
B_FLAG_TRUE_NULLABLE = 64
テーブルは真のヌル値を許可します。テーブルが作成されるとき、ヌル値を許可する各列の前に 1 バイトのヌル インジケーターが追加されます。
•TABLESTAT
•TABLESTAT2
•COLUMNMAP
•COLUMNMAP フラグ
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 データ型
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
•INDEXMAP
•INDEXMAP フラグ
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 ビットに増大しました。
•ファイル属性フィールドは、以前は "Y" または "N" の値を持つ文字フィールドで、属性が存在するかしないかを示していました。現在の属性フィールドは、1 または 0 の値を持つ 1 バイトの整数です。値 1 は属性が存在することを意味します。
•freespaceThreshold フィールドは整数データ型になりました。
•fileVersion フィールドは、浮動小数点数型ではなくなりました。現在は 1 バイトの整数で、Btrieve の STAT オペレーションが返すのと同じ値を保持します。9.5 ファイル形式では、この値は 0x95 を返します。
•新しいフィールドの pageCompression は、テーブルに関連付けられている物理ファイルに圧縮ページがあるかないかを示します。
•以前の dataCompression および systemDataKey は、それぞれ recordCompression および systemData という名前に変更されました。
以前のバージョンとの互換性
PSQL クライアントは、今までどおりデータベース エンジンへの PvGetTableStat 呼び出しを行うことができます。データベース エンジンは、クライアントのバージョンに基づいて、応答メッセージを TABLESTAT2 構造体または TABLESTAT 構造体に変換します。
PSQL v12 クライアントは、接続しているデータベース エンジンのバージョンを特定します。データベース エンジンのバージョンが PSQL v12 より前の場合、PvGetTableStat2 は TABLESTAT 構造体を返し、pageCompression が返す値に 0 を設定します。
MONITOR.H 構造体
以下に MONITOR.H に含まれる構造体の一覧を示します。これらの構造体の詳細については、monitor ヘッダー ファイルを参照してください。
•PVDATETIME
•PVFILEINFO
•PVFILEHDLINFO
•PVCLIENTID
•PVMKDECLIENTINFO
•PVMKDECLIENTHDLINFO
•PVMKDEUSAGE
•PVMKDEUSAGEEX
•PVVERSION
•PVCOMMSTAT
•PVCOMMSTATEX
•PVCOMMPROTOCOLSTAT
•PVSQLCONNINFO
•PVSQLCONNID
DTI 呼び出しの順序
すべての Distributed Tuning Interface 呼び出しは、まず PvStart() を呼び出すことによって DTI セッションを初期化しておく必要があります。
status = PvStart(0);
status = PvStop (0);
各関数の備考には、その特定の関数に対し、実行前および実行後に必要となる条件が挙げられています。
DTI 関数の定義
以下のセクションでは、DTI 関数のリファレンスをアルファベット順に説明します。