キャッシュされた表定義が、処理中のXLAレコードと互換性があること確認します。列を追加または削除するためにALTER TABLEを使用する場合のみ表定義が変更されます。
トランザクション・タイプADDCOLSおよびDRPCOLSのXLAレコードのXLAストリームを監視すると、この関数の使用のオーバーヘッドを回避できます。トランザクション・タイプADDCOLSまたはDROPCOLSのXLAレコードが発生した場合は、表および列定義をリフレッシュします。トランザクション・タイプのXLAレコードの監視の詳細は、「レコード・ヘッダーの確認および行アドレスの検出」を参照してください。
SQLRETURN ttXlaTableVersionVerify(ttXlaHandle_h handle
ttXlaTblVerDesc_t *table,
ttXlaUpdateDesc_t *record
out SQLINTEGER *compat)
キャッシュされた表定義が処理中のXLAレコードと互換性がある場合は、SQL_SUCCESSが返されます。返されない場合は、ttXlaErrorを使用してエラーをレポートします。
パラメータ
|
型
|
説明
|
---|---|---|
handle | ttXlaHandle_h | データ・ストアのトランザクション・ログ・ハンドル。 |
table | キャッシュされた表記述。 |
|
record | 処理する必要があるXLAレコード。 |
|
compat | out SQLINTEGER * | 互換性情報を返します。 |
この例では、表の互換性を確認します。
SQLINTEGER compat;
ttXlaTbVerDesc_t table;
ttXlaUpdateDesc_t* record;
/*
* Get the desired table definitions into the variable "table"
*/
rc = ttXlaTableVersionVerify(xlahandle, &table, record, &compat);
if (compat) {
/*
* Compatible
*/
}
else {
/*
* Not compatible or some other error occurred
* If not compatible, issue a call to ttXlaVersionTableInfo and ttXlaVersionColumnInfo to get the new definition.
*/
}