ヘッダーをスキップ
Oracle TimesTen In-Memory Database C開発者およびリファレンス・ガイド
リリース7.0
E05164-03
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

ttXlaConfigBuffer

説明

この関数は、非永続モードでXLAを処理する場合にのみ有効です。

ttXlaConfigBuffer関数を使用すると、XLAステージング・バッファのサイズを設定および取得できます。XLAは、XLAステージング・バッファでトランザクション・ログから取得した更新ログをステージングし、アプリケーションでの読取りを可能にします。

newSizeに値を指定すると、ステージング・バッファの新しいサイズが*newSizeから取得されます。サイズが0(ゼロ)の場合は、ステージング・バッファが未割当てまたはステージング・バッファの割当て禁止を意味します。*oldSize には、ステージング・バッファの以前のサイズが返されます。また、サイズが以前に設定されていない場合は0(ゼロ)が返されます。

newSizeを指定しない場合は、ステージング・バッファの現在のサイズが*oldSizeに返されます。

ステージング・バッファ・サイズの変更はすぐに実行されます。1つのデータ・ストアに対して設定できるバッファは1つのみです。バッファのサイズが変更されると、ttXlaNextUpdateへの以前のコールによって返された値は無効になります。

この関数の使用方法については、「ステージング・バッファの構成」を参照してください。

構文

SQLRETURN ttXlaConfigBuffer(ttXlaHandle_h handle,

                  out SQLUBIGINT *oldSize,

                  SQLUBIGINT *newSize)

パラメータ

パラメータ
説明
handle
ttXlaHandle_h
データ・ストアのトランザクション・ログ・ハンドル。
oldSize
out SQLUBIGINT *
ステージング・バッファの現在のサイズ。
newSize
SQLUBIGINT *
ステージング・バッファの新しいサイズ。

結果

コールが成功すると、SQL_SUCCESSが返されます。返されない場合は、ttXlaErrorを使用してエラーをレポートします。

この例では、次の宣言を想定しています。

SQLUBIGINT currentSize, requestedSize;

ステージング・バッファのサイズを変更せずにその現在のサイズを確認するには、次のコールを実行します。

rc = ttXlaConfigBuffer(xlahandle, &currentSize, NULL);

ステージング・バッファのサイズを新しいサイズ(400,000バイト)に設定するには、次のコールを実行します。

requestedSize = 400000;

rc = ttXlaConfigBuffer(xlahandle, NULL, &requestedSize);

必要に応じて、これらの2つのタイプのコールを組み合せて、現在のサイズの記録と新しいサイズの設定を同時に行うことができます。

最後に、ステージング・バッファを一括削除するには、次のコールを実行します。

requestedSize = 0;

rc = ttXlaConfigBuffer(xlahandle, NULL, &requestedSize);

また、install_dir/demo/xla/xla.cファイル内のmain()関数も参照してください。

注意

バッファのサイズを変更すると現在のバッファがコピーされるため、パフォーマンスが大幅に低下する場合があります。より小さいサイズをステージング・バッファに指定し、その小さいサイズに現在の内容を格納できない場合、ステージング・バッファのサイズは変更されず、エラーが返されます。

参照

ttXlaOpenTimesTen

ttXlaStatus

ttXlaResetStatus