XLA関数の概要
この項では、TimesTen ClassicのXLA機能に関する一般情報について説明します。
XLA関数のリターン・コード
この章で説明するすべてのXLA API関数では、SQLRETURN
型の値が返されます。
SQLRETURN
は、次のいずれかの値になるようにODBCによって定義されています:
-
SQL_SUCCESS
-
SQL_SUCCESS_WITH_INFO
-
SQL_NO_DATA_FOUND
-
SQL_ERROR
「XLAエラー処理」を参照してください。
ノート:
SQL_NO_DATA_FOUND
は、sqlext.h
(timesten.h
に含まれています)に定義されています。
XLA関数のパラメータ・タイプ(入力、出力、入力/出力)
XLA関数のパラメータ・タイプは3つあります。
関数の説明では、次のことに注意してください。
-
特に示されていないかぎり、すべてのパラメータは入力専用です。
-
出力パラメータには
OUT
という接頭辞が付いています。 -
入力/出力パラメータには
IN OUT
という接頭辞が付いています。
XLA関数による結果出力
このAPIのほとんどのルーチンは、結果をアプリケーション・バッファにコピーします。結果が含まれているバッファへのポインタを生成する一部のルーチンは、同じXLAハンドルを使用した次のコールが実行されるまでのみ有効性が保証されます。
このルールには次の例外があります。
-
診断情報を提供する
ttXlaError
関数へのコール間では、バッファは有効なままです。 -
ttXlaNextUpdate
によって返された結果は、次にttXlaNextUpdate
をコールするまで有効なままです。 -
ttXlaAcknowledge
の場合、アプリケーションでバッファへのアクセスを長時間維持する必要がある場合は、XLAによって返されるバッファの情報をアプリケーション専用のバッファにコピーする必要があります。
実際の列値を除き、XLA内の文字列値は空文字で終了します。固定長のCHAR
列は、その長さに合せて空白が埋め込まれます。VARCHAR
列は、長さが明示的にエンコードされています。
XLAは、32ビット・プラットフォームのものと同じデータ構造を64ビット・プラットフォームにも使用します。SQLUINTEGER
およびSQLUBIGINT
型は、32ビットおよび64ビットの整数を明示的に参照します。各SQLUINTEGER
値が4バイト境界、各SQLUBIGINT
値が8バイト境界に存在するように型定義に入力することによって、位置合せおよび埋込みの問題に対処します。他のTimesTenデータ型の記憶域要件の説明は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の行の理解を参照してください。