Distributed Tuning Interface のリファレンス : PvAddTable()
 
このページをシェアする                  
PvAddTable()
既存の辞書とデータ ファイルの、テーブル プロパティで指定された位置に、新規のテーブルを作成します。
ヘッダー ファイル:ddf.h(ヘッダー ファイルも参照)
関数が最初に利用可能になるライブラリ:w3dbav75.dll(Windows)、libpsqldti.so(Linux)、libpsqldti.dylib(macOS)(リンク ライブラリも参照)
構文
PRESULT PvAddTable(
   WORD            dictHandle,
   TABLEINFO*      tableProps,
   COLUMNMAP*      columnList,
   WORD            columnCount,
   INDEXMAP*       indexList,
   WORD            indexCount);
引数
 
In
dictHandle
PvOpenDatabase() によって返される、開いている辞書のハンドル。
In
tableProps
テーブル情報を含む構造体。
In
columnList
テーブルに定義された列の配列。
In
columnCount
columnList 内の列数。
In
indexList
インデックス定義の配列。
In
indexCount
indexList 配列内のインデックス数。
戻り値
 
PCM_Success
操作は成功しました。
PCM_errFailed
操作は成功しませんでした。
PCM_errInvalidDictionaryHandle
指定された辞書ハンドルは存在しません。
PCM_errTableNotFound
指定されたテーブルが見つかりません。
PCM_errMemoryAllocation
メモリの割り当て中にエラーが発生しました。
PCM_errInvalidColumnName
指定された列名は無効です。
PCM_errInvalidDataType
指定されたデータ型は無効です。
PCM_errDuplicateColumnName
この列名は既にテーブルに存在します。
PCM_errInvalidDataSize
データ サイズが無効です。
PCM_errInvalidIndexName
インデックス名が無効です。
PCM_errColumnNotFound
セグメントに指定された列が見つかりません。
備考
まず PvOpenDatabase() を使用して、辞書を正常に開く必要があります。
この関数にはテーブル情報、列、インデックスの入力が必要です。テーブルの作成にインデックスは必要ないため、indexCountindexList はオプションのパラメーターです。
同じ名前のテーブルが指定された辞書に既に存在している場合、この関数は失敗します。
テーブル プロパティは正しく設定する必要があり、少なくとも 1 列の配列を渡さなければなりません。
テーブルの説明に使用する COLUMNMAPINDEXMAP 配列と TABLEINFO 構造体を割り当てて解放する必要があります。COLUMNMAP フラグも参照してください。
PvGetTable() 関数で、行内でのフィールドのオフセットにアクセスできます。ddfstrct.h の COLUMNMAP 構造体は変更されて、この追加情報を持つようになりました。この新しいフィールドは、PvAddTable() および PvFreeTable() 関数を呼び出すときは無視されます。ddfstrct.h および ddf.h を参照してください。
関連項目
PvStart()
PvOpenDatabase()
PvGetTableNames()
PvFreeTableNames()
PvDropTable()
PvCloseDictionary()
PvStop()