XLA関数リファレンス

この項では、XLAコア関数およびXLAデータ型変換関数のリファレンス情報を示します。

関数は、アルファベット順に示されています。

ノート:

レプリケーション・メカニズムとしてのXLAの場合のみ使用される関数については、別の項「XLAレプリケーション関数リファレンス」を参照してください。

ttXlaAcknowledge

説明

この関数は、1つ以上のレコードがttXlaNextUpdate関数またはttXlaNextUpdateWait関数によってトランザクション・ログから読み取られたことを確認するために使用します。

この関数をコールすると、以前に返されたいずれのレコードも再読取りできないようにブックマークが再設定されます。ttXlaAcknowledgeは、メッセージが完全に処理された場合にのみコールします。

ノート:

  • ブックマークは、指定したハンドルに対してのみ再設定されます。システム内の他のハンドルは、以前のトランザクションにアクセス可能な場合があります。

  • ブックマークは、確認する関連更新レコードがない場合でも再設定されます。

ttXlaAcknowledgeは、必要な場合にのみ使用する必要がある高コストの処理です。XLAではトランザクション・ログ・ファイルが一度に1つしかパージされないため、トランザクション・ログ・ファイルを読み取るたびにttXlaAcknowledgeを複数回コールしても、トランザクション・ログのボリュームは減少しません。新しいトランザクション・ログ・ファイルの生成を検出するには、システム表SYS.TRANSACTION_LOG_APIのブックマークのpurgeLSN(PURGELSNHIGHPURGELSNLOWの値で示される)を調べることで、ブックマークが含まれるログ・ファイルを確認できます。その後、ttXlaAcknowledgeをコールして、古いトランザクション・ログ・ファイルをパージできます。(この表を表示するには、ADMINまたはSELECT ANY TABLE権限が必要です。)

ttXlaAcknowledgeの2番目の目的は、XLAREUSEオプションが指定されたttXlaPersistOpen関数をコールして、以前使用されたブックマークに接続する場合に確認されたレコードがXLAアプリケーションで認識されないようにすることです。ブックマークを再利用する場合、ttXlaCloseをコールする前にttXlaAcknowledgeをコールしてブックマークの位置を現在のレコードに再設定します。

「トランザクション・ログからの更新レコードの取得」を参照してください。

必要な権限

XLA

構文

SQLRETURN ttXlaAcknowledge(ttXlaHandle_h handle)

パラメータ

パラメータ 説明

handle

ttXlaHandle_h

トランザクション・ログ・ハンドル

結果

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

rc = ttXlaAcknowledge(xlahandle);

ttXlaClose

説明

ttXlaPersistOpenによってオープンされたXLAハンドルをクローズします。「XLAアプリケーションの終了」を参照してください。

必要な権限

XLA

構文

SQLRETURN ttXlaClose(ttXlaHandle_h handle)

パラメータ

パラメータ 説明

handle

ttXlaHandle_h

データベースのODBCハンドル

結果

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

前述の例でオープンしたXLAハンドルをクローズするには、次のコールを実行します。

rc = ttXlaClose(xlahandle);

関連項目

ttXlaConvertCharType

説明

colinfoおよびtupパラメータで示されている列データを、トランザクション・ログ・ハンドルに関連付けられている接続文字セットに変換し、結果をバッファに格納します。

必要な権限

XLA

構文

SQLRETURN ttXlaConvertCharType (ttXlaHandle_h handle,
                                ttXlaColDesc_t*  colinfo,
                                void* tup,
                                void* buf,
                                size_t buflen)

パラメータ

パラメータ 説明

handle

ttXlaHandle_h

データベースのトランザクション・ログ・ハンドル

colinfo

ttXlaColDesc_t*

列記述を保持するバッファへのポインタ

tup

void*

変換されるデータ

buf

void*

変換されたデータが格納される場所

buflen

size_t

変換されたデータが格納されるバッファのサイズ

結果

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

ttXlaDateToODBCCType

説明

TTXLA_DATE_TT値を、アプリケーションで使用可能なODBC C値に変換します。「複合データ型の変換」を参照してください。

この関数は、TTXLA_DATE_TTデータ型の列に対してのみコールします。データ型は、ttXlaGetColumnInfo関数によって返されるttXlaColDesc_t構造体から取得できます。

必要な権限

XLA

構文

SQLRETURN ttXlaDateToODBCCType(void* fromData,
                               out DATE_STRUCT* returnData)

パラメータ

パラメータ 説明

fromData

void*

トランザクション・ログから返されたDATE値へのポインタ

returnData

DATE_STRUCT*

変換された日付を保持するように割り当てられた記憶域へのポインタ

結果

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

ttXlaDecimalToCString

TTXLA_DECIMAL_TT値を、アプリケーションで使用可能な文字列に変換します。

説明

scaleおよびprecisionの値は、ttXlaGetColumnInfo関数によって返されるttXlaColDesc_t構造体から取得できます。scaleパラメータにより、小数点以下の最大桁数を指定します。DECIMAL値が1より大きい場合は、precisionパラメータにより、小数点をはさんだ最大桁数を指定します。DECIMAL値が1より小さい場合、precisionscaleと同じになります。

この関数は、TTXLA_DECIMAL_TT型の列に対してのみコールします。データ型は、ttXlaGetColumnInfo関数によって返されるttXlaColDesc_t構造体から取得できます。

「複合データ型の変換」を参照してください。

必要な権限

XLA

構文

SQLRETURN ttXlaDecimalToCString(void* fromData,
                                out char* returnData,
                                SQLSMALLINT precision,
                                SQLSMALLINT scale)

パラメータ

パラメータ 説明

fromData

void*

トランザクション・ログから返されたDECIMAL値へのポインタ

returnData

char*

変換された文字列を保持するように割り当てられた記憶域へのポインタ

precision

SQLSMALLINT

fromDataが1より大きい場合は、小数点をはさんだ最大桁数

fromDataが1より小さい場合は、scaleと同じ

scale

SQLSMALLINT

小数点以下の最大桁数

結果

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

この例では、ttXlaColDesc_t構造体からoffsetprecisionおよびscaleの値を取得し、トランザクション・ログ・レコードに返された行からDECIMAL値(pColVal)を取得するためにoffsetを使用していると想定しています。

char decimalData[50];
static ttXlaColDesc_t colDesc[255];

rc = ttXlaDecimalToCString(pColVal, (char*)&decimalData,
                                     colDesc->precision, 
                                     colDesc->scale);

ttXlaDeleteBookmark

説明

指定したトランザクション・ログ・ハンドルに関連付けられているブックマークを削除します。ブックマークは削除するとアクセスできなくなり、ブックマークの識別子は別のブックマークで再利用できます。ブックマークを削除すると、データベース・ハンドルとの関連が失われ、XLANONEオプションを指定して接続をオープンした場合と同じ結果になります。

ブックマークを使用している場合は、不要になるまで削除できません。

「ブックマークの削除」を参照してください。

ノート:

  • この関数をTimesTenの組込みプロシージャttXlaBookmarkDeleteと混同しないでください(『Oracle TimesTen In-Memory Databaseリファレンス』ttXlaBookmarkDeleteを参照)。

  • レプリケーション・エージェントの実行中は、レプリケートされたブックマークを削除できません。

必要な権限

XLA

構文

SQLRETURN ttXlaDeleteBookmark(ttXlaHandle_h handle)

パラメータ

パラメータ 説明

handle

ttXlaHandle_h

トランザクション・ログ・ハンドル

結果

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

xlahandleのブックマークを削除します。

rc = ttXlaDeleteBookmark(xlahandle);

ttXlaError

説明

特定のトランザクション・ログ・ハンドルに対して以前コールした際に発生したエラーの詳細をレポートします。ttXlaErrorへの後続のコールで、複数のエラーが返される場合があります。エラー・スタックは、ttXlaError自体およびttXlaErrorRestart以外の関数をコールするたびに消去されます。

この関数の使用については、XLAエラー処理を参照してください。

必要な権限

XLA

構文

SQLRETURN ttXlaError(ttXlaHandle_h handle,
                     out SQLINTEGER* errCode,
                     out char* errMessage,
                     SQLINTEGER maxLen,
                     out SQLINTEGER* retLen)

パラメータ

パラメータ 説明

handle

ttXlaHandle_h

データベースのトランザクション・ログ・ハンドル

errCode

SQLINTEGER*

errMessageのバッファにコピーされるエラー・メッセージのコード

errMessage

char*

エラー・テキストが保持されるバッファ

maxLen

SQLINTEGER

errMessageのバッファの最大長

retLen

SQLINTEGER*

エラー・メッセージの実際のサイズ

結果

エラー情報が返される場合はSQL_SUCCESSを返し、またはエラー・スタックにそれ以上エラーがない場合はSQL_NO_DATA_FOUNDを返します。errMessageのバッファの大きさが十分でない場合、ttXlaErrorSQL_SUCCESS_WITH_INFOを返します。

ノート:

SQL_NO_DATA_FOUNDは、sqlext.h (timesten.hに含まれています)に定義されています。

エラー・スタックに複数のエラーが存在する可能性があります。この例では、それらをすべて読み取る方法を示します。

char message[100];
SQLINTEGER code;

for (;;) {
  rc = ttXlaError(xlahandle, &code, message, sizeof (message), &retLen);
  if (rc == SQL_NO_DATA_FOUND)
      break;
  if (rc == SQL_ERROR) {
      printf("Error in fetching error message\n");
      break;
  }
  else {
      printf("Error code %d: %s\n", code, message);
  }
}

ノート

複数のスレッドを使用して単一のXLA接続のTimesTenトランザクション・ログにアクセスすると、同時アクセスを制御するためのラッチが作成されます。なんらかの理由でスレッドでラッチを取得できない場合、XLA関数はSQL_INVALID_HANDLEを返します。

関連項目

ttXlaErrorRestart

ttXlaErrorRestart

説明

アプリケーションでエラーを再度読み取ることができるように、エラー・スタックをリセットします。「XLAエラー処理」を参照してください。

必要な権限

XLA

構文

SQLRETURN ttXlaErrorRestart(ttXlaHandle_h handle)

パラメータ

パラメータ 説明

handle

ttXlaHandle_h

データベースのトランザクション・ログ・ハンドル

結果

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

rc = ttXlaErrorRestart(xlahandle);

関連項目

ttXlaError

ttXlaGetColumnInfo

説明

表内のすべての列に関する情報を取得します。返される列の数についての出力パラメータ(nreturned)は、colinfoに返される列の数に設定されます。systemTableIDまたはuserTableIDパラメータにより、目的の表について記述します。このコールは、表の定義内の変更に対してシリアライズされます。

「列記述の取得」を参照してください。

必要な権限

XLA

構文

SQLRETURN ttXlaGetColumnInfo(ttXlaHandle_h handle,
                             SQLUBIGINT systemTableID,
                             SQLUBIGINT userTableID,
                             out ttXlaColDesc_t* colinfo,
                             SQLINTEGER maxcols,
                             out SQLINTEGER* nreturned)

パラメータ

パラメータ 説明

handle

ttXlaHandle_h

データベースのトランザクション・ログ・ハンドル

systemTableID

SQLUBIGINT

表のシステムID

userTableID

SQLUBIGINT

表のユーザーID

colinfo

ttXlaColDesc_t*

maxcols列の個別の記述を保持できる十分な大きさのバッファへのポインタ

maxcols

SQLINTEGER

colInfoのバッファに格納可能な列の最大数

この表にmaxcolsを超える列を含めると、エラーが返されます。

nreturned

SQLINTEGER*

返される列の数

結果

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

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

ttXlaColDesc_t colinfo[20];
SQLUBIGINT systemTableID, userTableID;
SQLINTEGER ncols;

システム表識別子を使用して最大20列の記述を取得するには、次のコールを実行します。

rc = ttXlaGetColumnInfo(xlahandle, systemTableID, 0, colinfo, 20, &ncols);

ユーザー表識別子も、同様に使用できます。

rc = ttXlaGetColumnInfo(xlahandle, 0, userTableID, colinfo, 20, &ncols);

返された行の列データにアクセスする方法の詳細および例は、「ttXlaColDesc_t」を参照してください。

ttXlaGetLSN

説明

トランザクション・ログ・ハンドルで指定された接続の現行読取りログ・レコード識別子を返します。「ブックマークのしくみ」を参照してください。

必要な権限

XLA

構文

SQLRETURN ttXlaGetLSN(ttXlaHandle_h handle,
                      out tt_XlaLsn_t* LSN)

パラメータ

パラメータ 説明

handle

ttXlaHandle_h

データベースのトランザクション・ログ・ハンドル

LSN

tt_XlaLsn_t*

ハンドルの現行読取りログ・レコード識別子

ノート:

tt_XlaLsn_tの、具体的にはlogFileおよびlogOffsetフィールドの使用方法が以前のリリースとは異なり、これらのフィールドが、連続的に増加するLSNではなく、ログ・レコード識別子を参照する点に注意してください。「tt_XlaLsn_t」内のノートを参照してください。

結果

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

この例では、現行読取りログ・レコード識別子CurLSNを返します。

tt_XlaLsn_t CurLSN;

rc = ttXlaGetLSN(xlahandle, &CurLSN);

関連項目

ttXlaSetLSN

ttXlaGetTableInfo

説明

表内の行に関する情報を取得します(ttXlaTblDesc_tデータ型に関する説明を参照)。userTableIDパラメータが0(ゼロ)以外の場合は、その値を使用して目的の表を検索します。そうでない場合は、systemTableIDの値を使用して表を検索します。両方が0(ゼロ)の場合は、エラーが返されます。記述は、出力パラメータtblinfoに格納されます。このコールは、表の定義内の変更に対してシリアライズされます。

必要な権限

XLA

構文

SQLRETURN ttXlaGetTableInfo(ttXlaHandle_h handle,
                            SQLUBIGINT systemTableID,
                            SQLUBIGINT userTableID,
                            out ttXlaTblDesc_t* tblinfo)

パラメータ

パラメータ 説明

handle

ttXlaHandle_h

データベースのトランザクション・ログ・ハンドル

systemTableID

SQLUBIGINT

システム表ID

userTableID

SQLUBIGINT

ユーザー表ID

tblinfo

ttXlaTblDesc_t*

行の情報

結果

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

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

ttXlaTblDesc_t tabinfo; 
SQLUBIGINT systemTableID, userTableID;

システム識別子を使用して表の情報を取得するには、ttXlaTableByNameまたは他の方法を使用してシステム表識別子を検出して次のコールを実行します。

rc = ttXlaGetTableInfo(xlahandle, systemTableID, 0, &tabinfo);

また、表の情報は、ユーザー表識別子を使用して取得することもできます。

rc = ttXlaGetTableInfo(xlahandle, 0, userTableID, &tabinfo);

関連項目

ttXlaGetColumnInfo

ttXlaGetVersion

説明

この関数は、古いバージョンのXLA用に作成されたXLAアプリケーションを新しいバージョンで動作させるために、ttXlaSetVersionと組み合せて使用します。通常、configured versionが古いバージョンで、actual versionが新しいバージョンです。

この関数は、現在構成されているXLAのバージョンを取得し、それをconfiguredVersionパラメータに格納します。基礎となるXLAの実際のバージョンはactualVersionに格納されます。ttXlaSetVersionをコールしたため、コールごとにconfiguredVersionの結果が異なる場合がありますが、actualVersionの結果は同じままです。

必要な権限

XLA

構文

SQLRETURN ttXlaGetVersion(ttXlaHandle_h handle,
                          out ttXlaVersion_t* configuredVersion,
                          out ttXlaVersion_t* actualVersion)

パラメータ

パラメータ 説明

handle

ttXlaHandle_h

データベースのトランザクション・ログ・ハンドル

configuredVersion

ttXlaVersion_t*

構成されているXLAのバージョン

actualVersion

ttXlaVersion_t*

XLAの実際のバージョン

結果

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

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

ttXlaVersion_t configured, actual;

現行のバージョン構成を確認するには、次のコールを実行します。

rc = ttXlaGetVersion(xlahandle, &configured, &actual);

ttXlaNextUpdate

説明

この関数は、トランザクション・ログから更新レコードの指定した最大数をフェッチし、コミットされたトランザクションに関連付けられているレコードを指定したバッファに返します。実際に返されたレコードの数が出力パラメータnreturnedに記録されます。この関数を使用するには、ブックマークがデータベース内に存在し、関数で使用する接続と関連付けられる必要があります。

ttXlaNextUpdateをコールするたびに、最後に読み取られたレコードにブックマークが再設定され、次のレコードのリストを返すためにttXlaNextUpdateへの次のコールが有効にされます。

「トランザクション・ログからの更新レコードの取得」を参照してください。

必要な権限

XLA

構文

SQLRETURN ttXlaNextUpdate(ttXlaHandle_h handle,
                          out ttXlaUpdateDesc_t*** records,
                          SQLINTEGER maxrecords,
                          out SQLINTEGER* nreturned)

パラメータ

パラメータ 説明

handle

ttXlaHandle_h

データベースのトランザクション・ログ・ハンドル

records

ttXlaUpdateDesc_t***

完了したトランザクション・レコードを保持するバッファ

maxrecords

SQLINTEGER

フェッチされるレコードの最大数

nreturned

SQLINTEGER*

実際に返されたレコードの数ですが、使用可能な更新データがない場合は、0(ゼロ)が返されます。

結果

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

この例では、最大100個のレコードを取得し、各レコードが処理されるループについて記述します。

ttXlaUpdateDesc_t** records;
SQLINTEGER nreturned;
SQLINTEGER i;

rc = ttXlaNextUpdate(xlahandle, &records, 100, &nreturned);
/* Check for errors; if none, process the records */
for (i = 0; i < nreturned; i++) {
  process(records[i]);
}

ノート

追跡ステータスに関係なく、すべてのデータ定義文に対して更新が生成されます。また、更新はブックマークに関係付けられているすべての追跡対象表でのデータ更新処理に対して生成されます。

また、表および列に対するアプリケーション・レベルの識別子の割当て、表の追跡ステータスの変更などの特定の処理でも更新が生成されます。

ttXlaNextUpdateWait

説明

これは、ttXlaNextUpdate関数と同様の処理を行いますが、使用可能なレコードがトランザクション・ログにない場合の待機秒数を指定するパラメータsecondsがあります。実際に待機する秒数は、secondsに指定された値より最大2秒長くなる可能性があります。

「トランザクション・ログからの更新レコードの取得」も参照してください。

必要な権限

XLA

構文

SQLRETURN ttXlaNextUpdateWait(ttXlaHandle_h handle,
                              out ttXlaUpdateDesc_t*** records,
                              SQLINTEGER maxrecords,
                              out SQLINTEGER* nreturned,
                              SQLINTEGER seconds)

パラメータ

パラメータ 説明

handle

ttXlaHandle_h

データベースのトランザクション・ログ・ハンドル

records

ttXlaUpdateDesc_t***

完了したトランザクション・レコードを保持するバッファ

maxrecords

SQLINTEGER

フェッチされるレコードの最大数

ノート: 有効な最大値は1000レコードです。

nreturned

SQLINTEGER*

実際に返されたレコードの数ですが、secondsの待機時間内に使用可能な更新データがない場合は、0(ゼロ)が返されます。

seconds

SQLINTEGER

ログが空の場合に待機する時間(秒)

結果

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

最大100個のレコードを取得し、使用可能なレコードがトランザクション・ログにない場合に最大60秒待機します。

ttXlaUpdateDesc_t** records;
SQLINTEGER nreturned;
SQLINTEGER i;

rc = ttXlaNextUpdateWait(xlahandle, &records, 100, &nreturned, 60);
/* Check for errors; if none, process the records */
for (i = 0; i < nreturned; i++) {
  process(records[i]);
}

ttXlaNumberToBigInt

説明

TTXLA_NUMBER値を、アプリケーションで使用可能なSQLBIGINT値に変換します。

この関数は、TTXLA_NUMBER型の列に対してのみコールします。データ型は、ttXlaGetColumnInfo関数によって返されるttXlaColDesc_t構造体から取得できます。

必要な権限

XLA

構文

SQLRETURN ttXlaNumberToBigInt(void* fromData,
                              SQLBIGINT* bint)

パラメータ

パラメータ 説明

fromData

void*

トランザクション・ログから返されたNUMBER値へのポインタ

bint

SQLBIGINT*

XLA NUMBER値から変換されたSQLBIGINT

結果

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

ttXlaNumberToCString

説明

TTXLA_NUMBER値を、アプリケーションで使用可能な文字列に変換します。

この関数は、TTXLA_NUMBER型の列に対してのみコールします。データ型は、ttXlaGetColumnInfo関数によって返されるttXlaColDesc_t構造体から取得できます。

必要な権限

XLA

構文

SQLRETURN ttXlaNumberToCString(ttXlaHandle_h handle,
                               void* fromData,
                               char* buf,
                               int buflen
                               int* reslen)

パラメータ

パラメータ 説明

fromData

void*

トランザクション・ログから返されたNUMBER値へのポインタ

buf

char*

変換されたデータが格納される場所

buflen

int

変換されたデータが格納されるバッファのサイズ

reslen

int*

buflenの大きさが十分であると想定される場合は、書き込まれたバイト数(十分でない場合は、書き込まれたはずのバイト数)

結果

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

ttXlaNumberToDouble

説明

TTXLA_NUMBER値を、アプリケーションで使用可能な長い浮動小数点数値に変換します。

この関数は、TTXLA_NUMBER型の列に対してのみコールします。データ型は、ttXlaGetColumnInfo関数によって返されるttXlaColDesc_t構造体から取得できます。

必要な権限

XLA

構文

SQLRETURN ttXlaNumberToDouble(void* fromData,
                              double* dbl)

パラメータ

パラメータ 説明

fromData

void*

トランザクション・ログから返されたNUMBER値へのポインタ

dbl

double*

XLA NUMBER値から変換された長い浮動小数点数値

結果

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

ttXlaNumberToInt

説明

TTXLA_NUMBER値を、アプリケーションで使用可能なSQLINTEGER値に変換します。

この関数は、TTXLA_NUMBER型の列に対してのみコールします。データ型は、ttXlaGetColumnInfo関数によって返されるttXlaColDesc_t構造体から取得できます。

必要な権限

XLA

構文

SQLRETURN ttXlaNumberToInt(void* fromData,
                           SQLINTEGER* ival)

パラメータ

パラメータ 説明

fromData

void*

トランザクション・ログから返されたNUMBER値へのポインタ

ival

SQLINTEGER*

XLA NUMBER値から変換されたSQLINTEGER

結果

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

ttXlaNumberToSmallInt

説明

TTXLA_NUMBER値を、アプリケーションで使用可能なSQLSMALLINT値に変換します。

この関数は、TTXLA_NUMBER型の列に対してのみコールします。データ型は、ttXlaGetColumnInfo関数によって返されるttXlaColDesc_t構造体から取得できます。

必要な権限

XLA

構文

SQLRETURN ttXlaNumberToSmallInt(void* fromData,
                                SQLSMALLINT* smint)

パラメータ

パラメータ 説明

fromData

void*

トランザクション・ログから返されたNUMBER値へのポインタ

smint

SQLSMALLINT*

XLA NUMBER値から変換されたSQLSMALLINT

結果

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

ttXlaNumberToTinyInt

説明

TTXLA_NUMBER値を、アプリケーションで使用可能な小さい整数値に変換します。

この関数は、TTXLA_NUMBER型の列に対してのみコールします。データ型は、ttXlaGetColumnInfo関数によって返されるttXlaColDesc_t構造体から取得できます。

必要な権限

XLA

構文

SQLRETURN ttXlaNumberToTinyInt(void* fromData,
                               SQLCHAR* tiny)

パラメータ

パラメータ 説明

fromData

void*

トランザクション・ログから返されたNUMBER値へのポインタ

tiny

SQLCHAR*

XLA NUMBER値から変換された小さい整数値

結果

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

ttXlaNumberToUInt

説明

TTXLA_NUMBER値を、アプリケーションで使用可能な符号なし整数値に変換します。

この関数は、TTXLA_NUMBER型の列に対してのみコールします。データ型は、ttXlaGetColumnInfo関数によって返されるttXlaColDesc_t構造体から取得できます。

必要な権限

XLA

構文

SQLRETURN ttXlaNumberToInt(void* fromData,
                           SQLUINTEGER* ival)

パラメータ

パラメータ 説明

fromData

void*

トランザクション・ログから返されたNUMBER値へのポインタ

ival

SQLUINTEGER*

XLA NUMBER値から変換された整数値

結果

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

ttXlaOraDateToODBCTimeStamp

説明

TTXLA_DATE値をODBCタイムスタンプに変換します。

この関数は、TTXLA_DATE型の列に対してのみコールします。データ型は、ttXlaGetColumnInfo関数によって返されるttXlaColDesc_t構造体から取得できます。

必要な権限

XLA

構文

SQLRETURN ttXlaOraDateToODBCTimeStamp(void* fromData,
                                      TIMESTAMP_STRUCT* returnData)

パラメータ

パラメータ 説明

fromData

void*

トランザクション・ログから返されたNUMBER値へのポインタ

returnData

TIMESTAMP_STRUCT*

XLA Oracle Database DATE値から変換されたODBCタイムスタンプ値

結果

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

ttXlaOraTimeStampToODBCTimeStamp

説明

TTXLA_TIMESTAMP値をODBCタイムスタンプに変換します。

この関数は、TTXLA_TIMESTAMP型の列に対してのみコールします。データ型は、ttXlaGetColumnInfo関数によって返されるttXlaColDesc_t構造体から取得できます。

構文

SQLRETURN ttXlaOraTimeStampToODBCTimeStamp(void* fromData,
                                           TIMESTAMP_STRUCT* returnData)

必要な権限

XLA

パラメータ

パラメータ 説明

fromData

void*

トランザクション・ログから返されたNUMBER値へのポインタ

returnData

TIMESTAMP_STRUCT*

XLA Oracle Database TIMESTAMP値から変換されたODBCタイムスタンプ値

結果

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

ttXlaPersistOpen

説明

データベースに対するトランザクション・ログ・ハンドルを初期化して、トランザクション・ログへのアクセスを有効にします。hdbcパラメータは、データベースへのODBC接続ハンドルです。ODBC接続ごとに1つのXLAハンドルのみを作成します。ODBC接続に対してXLAハンドルを作成してから、ttXlaCloseでクローズするまで、ODBC接続に対して他のODBCコールは発行しないでください。

tagは、XLAブックマークを特定する文字列です(「XLAブックマークについて」を参照)。tagでは、optionsパラメータの指定に応じて、新しいブックマーク(レプリケートされていないブックマークまたはレプリケートされたブックマーク)、またはシステムに存在するブックマークを識別できます。handleパラメータは、このコールによって初期化され、XLAに対する後続の各コールで指定する必要があります。

一部の処理は、ブックマークなしで実行できます。これらのタイプの処理を実行する場合は、XLANONEオプションを使用して、ブックマークなしでトランザクション・ログにアクセスできます。次に、ブックマークなしでは実行できない処理を示します。

複数のアプリケーションが同時にトランザクション・ログから読取りを実行できます。「XLAの初期化およびXLAハンドルの取得」を参照してください。

この関数が成功すると、XLAは自動コミット・モードをOFFに設定します。

この関数が失敗しても、まだハンドルを作成する場合は、メモリー・リークを防ぐためにハンドルを閉じる必要があります。

ノート:

このコールによって領域が割り当てられます。終了後にttXlaCloseをコールして、領域を解放します。

必要な権限

XLA

構文

SQLRETURN ttXlaPersistOpen(SQLHDBC hdbc,
                           SQLCHAR* tag,
                           SQLUINTEGER options,
                           out ttXlaHandle_h* handle)

パラメータ

パラメータ 説明

hdbc

SQLHDBC

データベースのODBCハンドル

tag

SQLCHAR*

XLAブックマークの識別子

optionsXLANONEに設定されている場合は、NULLを指定できます。許容最大長は31です。

options

SQLUINTEGER

ブックマークのオプション:

  • XLANONE: ブックマークなしで接続します。tagフィールドは無視されます。

  • XLACREAT: 新しいレプリケートされていないブックマークを作成します。ブックマークがすでに存在する場合は失敗します。

  • XLAREPL: 新しいレプリケートされたブックマークを作成します。ブックマークがすでに存在する場合は失敗します。

  • XLAREUSE: 既存のブックマーク(レプリケートされていないブックマークまたはレプリケートされたブックマーク)に関連付けます。ブックマークが存在しない場合は失敗します。

handle

ttXlaHandle_h*

このコールによって返されるトランザクション・ログ・ハンドル

結果

コールが成功した場合は、SQL_SUCCESSまたはSQL_SUCCESS_WITH_INFOを返します。そうでない場合は、引数として渡されたHDBC接続ハンドルでSQLErrorをコールします。

この例では、トランザクション・ログをオープンし、xlahandleというハンドルを返して、mybookmarkという新しいレプリケートされていないブックマークを作成します。

SQLHDBC hdbc;
ttXlaHandle_h xlahandle;

rc = ttXlaPersistOpen(hdbc, ( SQLCHAR*)mybookmark,
                      XLACREAT, &xlahandle);

または、次のように新しいレプリケートされたブックマークを作成します。

SQLHDBC hdbc;
ttXlaHandle_h xlahandle;

rc = ttXlaPersistOpen(hdbc, ( SQLCHAR*)mybookmark,
                      XLAREPL, &xlahandle);

ノート

マルチスレッド・アプリケーションでは、スレッドごとに別々のXLAハンドルを作成する必要があります。複数のスレッドで同じXLAハンドルを使用する必要がある場合は、1つのスレッドのみが一度に1つのXLA処理を実行できるように、mutexを使用してそのXLAハンドルへのスレッド・アクセスをシリアライズします。

ttXlaRowidToCString

説明

ROWID値を、アプリケーションで使用可能な文字列値に変換します。

必要な権限

XLA

構文

SQLRETURN ttXlaRowidToCString(void* fromData, char* buf, int buflen)

パラメータ

パラメータ 説明

fromData

void*

トランザクション・ログから返されたROWID値へのポインタ

buf

char*

変換された文字列を保持するように割り当てられた記憶域へのポインタ

buflen

int

変換された文字列の長さ

結果

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

char charbuf[18];
void* rowiddata;
/* ... */
rc = ttXlaRowidToCString(rowiddata, charbuf, sizeof(charbuf));

ttXlaSetLSN

説明

トランザクション・ログ・ハンドルで指定されたデータベースの現行読取りログ・レコード識別子を設定します。その指定されたLSN値は、ttXlaGetLSNによって返されることになります。ユーザーが作成した値および現在のブックマークの初期読取りログ・レコード識別子より小さい値にはなりません。

この関数の使用については、XLAブックマークについてを参照してください。

必要な権限

XLA

構文

SQLRETURN ttXlaSetLSN(ttXlaHandle_h handle,
                      tt_XlaLsn_t* LSN)

パラメータ

パラメータ 説明

handle

ttXlaHandle_h

データベースのトランザクション・ログ・ハンドル

LSN

tt_XlaLsn_t*

ハンドルの新しいログ・レコード識別子

ノート:

tt_XlaLsn_tの、具体的にはlogFileおよびlogOffsetフィールドの使用方法が以前のリリースとは異なり、これらのフィールドが、連続的に増加するLSNではなく、ログ・レコード識別子を参照する点に注意してください。「tt_XlaLsn_t」内のノートを参照してください。

結果

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

この例では、現行読取りログ・レコード識別子をCurLSNに設定します。

tt_XlaLsn_t CurLSN;

rc = ttXlaSetLSN(xlahandle, &CurLSN);

関連項目

ttXlaGetLSN

ttXlaSetVersion

説明

アプリケーションで使用されるXLAのバージョンを設定します。このバージョンは、ttXlaGetVersionまたは以前のバージョンで返されるバージョンと同じである必要があります。

必要な権限

XLA

構文

SQLRETURN ttXlaSetVersion(ttXlaHandle_h handle,
                          ttXlaVersion_t* version)

パラメータ

パラメータ 説明

handle

ttXlaHandle_h

データベースのトランザクション・ログ・ハンドル

version

ttXlaVersion_t*

必要なXLAのバージョン

結果

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

構成されているバージョンをrequestedVersionで指定された値に設定するには、次のコールを実行します。

rc = ttXlaSetVersion(xlahandle, &requestedVersion);

ttXlaTableByName

説明

表またはビューの所有者および名前を指定して、表またはマテリアライズド・ビューのシステム表識別子およびユーザー表識別子を検出します。「更新を監視する表の指定」を参照してください。

必要な権限

XLA

構文

SQLRETURN ttXlaTableByName(ttXlaHandle_h handle,
                           char* owner,
                           char* name,
                           out SQLUBIGINT* sysTableID,
                           out SQLUBIGINT* userTableID)

パラメータ

パラメータ 説明

handle

ttXlaHandle_h

データベースのトランザクション・ログ・ハンドル

owner

char*

表またはビューの所有者の文字列

name

char*

表またはビューの名前

sysTableID

SQLUBIGINT*

システム表ID

userTableID

SQLUBIGINT*

ユーザー表ID

結果

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

PURCHASING.INVOICESに関連付けられているシステム表IDおよびユーザー表IDを取得するには、次のコールを実行します。

SQLUBIGINT sysTableID;
SQLUBIGINT userTableID;

rc = ttXlaTableByName(xlahandle, "PURCHASING", "INVOICES", 
                      &sysTableID, &userTableID);

関連項目

ttXlaTableStatus

ttXlaTableStatus

説明

表の更新ステータスを返します。ユーザーID (userTableID)またはシステムID (systemTableID)のどちらかを指定することで表を特定します。userTableIDが0(ゼロ)以外の場合は、その値を使用して表が検索されます。そうでない場合は、systemTableIDが使用されます。両方が0(ゼロ)の場合は、エラーが返されます。

newstatusに値を指定すると、更新ステータスが*newstatusに設定されます。ステータスが0(ゼロ)以外の場合は、systemTableIDで指定された表がXLAで使用可能であることを意味します。0(ゼロ)の場合は、表が追跡されないことを意味します。表の更新ステータスへの変更は、すぐに有効になります。

更新が実行された時点で表の更新追跡が有効になっていた場合にのみ、表への更新が追跡されます。このコールは、基礎となる表への更新に対してシリアライズされます。このため、表を更新するトランザクションは、表のステータスが変更される完全前または完全後に実行されます。

ttXlaTableStatusを使用するには、ユーザーはブックマークに接続する必要があります。この関数では、挿入、更新および削除を、表にサブスクライブしたブックマークにのみレポートします。DDLイベントがすべてのブックマークにレポートされます。DDLイベントには、CREATABDROPTABCREAINDDROPINDCREATVIEWDROPVIEWCREATSEQDROPSEQCREATSYNDROPSYNADDCOLSDRPCOLSTRUNCATESETTBL1およびSETCOL1トランザクションが含まれています。「ttXlaUpdateDesc_t」を参照してください。

この関数の使用については、更新を監視する表の指定を参照してください。

ノート:

XLAを介して追跡される表へのDML更新では、ttXlaTableStatusの実行を妨げません。ただし、追跡される表へのDDL更新ではSYS.TABLESがロックされるため、SYS.TABLESに対するシリアライズ可能分離レベルでのttXlaTableStatusの実行が遅延します。

必要な権限

XLA

構文

SQLRETURN ttXlaTableStatus(ttXlaHandle_h handle,
                           SQLUBIGINT systemTableID,
                           SQLUBIGINT userTableID,
                           out SQLINTEGER* oldstatus,
                           SQLINTEGER* newstatus)

パラメータ

パラメータ 説明

handle

ttXlaHandle_h

データベースのトランザクション・ログ・ハンドル

systemTableID

SQLUBIGINT

表のシステムID

userTableID

SQLUBIGINT

表のユーザーID

oldstatus

SQLINTEGER*

XLAの古いステータス:

  • 1: オン

  • 0: オフ

newstatus

SQLINTEGER*

XLAの新しいステータス:

  • 1: オン

  • 0: オフ

結果

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

次の例では、ttXlaTableByNameまたは他のなんらかの方法を使用して、システム表識別子またはユーザー表識別子が検出されていることを想定しています。

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

SQLUBIGINT systemTableID;
SQLUBIGINT userTableID;
SQLINTEGER currentStatus, requestedStatus;

システム表識別子を指定して表のステータスを検出するには、次のコールを実行します。

/* Get system table identifier into systemTableID, then ... */
rc = ttXlaTableStatus(xlahandle, systemTableID, 0,
                      &currentStatus, NULL);

currentStatusの値は、表の更新追跡が有効になっている場合は0(ゼロ)以外になり、そうでない場合は0(ゼロ)になります。

システム表識別子を指定して表の更新追跡を有効にするには、次のように、リクエストするステータスを1に設定します。

requestedStatus = 1;

rc = ttXlaTableStatus(xlahandle, systemTableID, 0,
                      NULL, &requestedStatus);

次の例に示すように、新しい更新追跡ステータスを設定し、1回のコールで現在のステータスを取得できます。

requestedStatus = 1;

rc = ttXlaTableStatus(xlahandle, systemTableID, 0,
                      &currentStatus, &requestedStatus);

前述のコールでは、システム表識別子による表の更新追跡が有効になり、以前の更新追跡ステータスが変数currentStatusに取得されます。

これらのすべての例は、ユーザー表識別子を使用しても実行できます。ユーザー表識別子によって表の更新追跡ステータスを取得するには、次のコールを実行します。

/* Get system table identifier into userTableID, then ... */

rc = ttXlaTableStatus(xlahandle, 0, userTableID,
                      &currentStatus, NULL);

関連項目

ttXlaTableByName

ttXlaTableVersionVerify

説明

キャッシュされた表定義が、処理中のXLAレコードと互換性があること確認します。列を追加または削除するためにALTER TABLEを使用する場合のみ表定義が変更されます。

トランザクション・タイプADDCOLSおよびDRPCOLSのXLAレコードのXLAストリームを監視すると、この関数の使用のオーバーヘッドを回避できます。トランザクション・タイプADDCOLSまたはDROPCOLSのXLAレコードが発生した場合は、表および列定義をリフレッシュします。トランザクション・タイプのXLAレコードの監視については、「レコード・ヘッダーの確認および行アドレスの検出」を参照してください。

必要な権限

XLA

構文

SQLRETURN ttXlaTableVersionVerify(ttXlaHandle_h handle
                                  ttXlaTblVerDesc_t* table,
                                  ttXlaUpdateDesc_t* record
                                  out SQLINTEGER* compat)

パラメータ

パラメータ 説明

handle

ttXlaHandle_h

データベースのトランザクション・ログ・ハンドル

table

ttXlaTblVerDesc_t*

キャッシュされた表記述

record

ttXlaUpdateDesc_t*

処理されるXLAレコード

compat

SQLINTEGER*

互換性情報:

  • 1: 表に互換性がある。

  • 0: 表に互換性がない。

結果

キャッシュされた表定義が処理中のXLAレコードと互換性がある場合は、SQL_SUCCESSが返されます。返されない場合は、ttXlaErrorを使用してエラーをレポートします。

この例では、表の互換性を確認します。

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.
 */
}

ttXlaTimeToODBCCType

説明

TTXLA_TIME値を、アプリケーションで使用可能なODBC C値に変換します。この関数の使用については、「複合データ型の変換」を参照してください。

この関数は、TTXLA_TIME型の列に対してのみコールします。データ型は、ttXlaGetColumnInfo関数によって返されるttXlaColDesc_t構造体から取得できます。

必要な権限

XLA

構文

SQLRETURN ttXlaTimeToODBCCType (void* fromData,
                                out TIME_STRUCT* returnData)

パラメータ

パラメータ 説明

fromData

void*

トランザクション・ログから返されたTIME値へのポインタ

returnData

TIME_STRUCT*

変換された時間を保持するように割り当てられた記憶域へのポインタ

結果

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

この例では、トランザクション・ログ・レコードに返された行からTIME値pColValを取得するために、ttXlaColDesc_t構造体に返されたoffset値を使用していると想定しています。

TIME_STRUCT time;

rc = ttXlaTimeToODBCCType(pColVal, &time);

ttXlaTimeStampToODBCCType

説明

TTXLA_TIMSTAMP_TT値を、アプリケーションで使用可能なODBC C値に変換します。この関数の使用については、「複合データ型の変換」を参照してください。

この関数は、TTXLA_TIMSTAMP_TT型の列に対してのみコールします。データ型は、ttXlaGetColumnInfo関数によって返されるttXlaColDesc_t構造体から取得できます。

必要な権限

XLA

構文

SQLRETURN ttXlaTimeStampToODBCCType(void* fromData,
                                    out TIMESTAMP_STRUCT* returnData)

パラメータ

パラメータ 説明

fromData

void*

トランザクション・ログから返されたTIMESTAMP値へのポインタ

returnData

TIMESTAMP_STRUCT*

変換されたタイムスタンプを保持するように割り当てられた記憶域へのポインタ

結果

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

この例では、トランザクション・ログ・レコードに返された行からTIMESTAMP値pColValを取得するために、ttXlaColDesc_t構造体に返されたoffset値を使用していると想定しています。

TIMESTAMP_STRUCT timestamp;

rc = ttXlaTimeStampToODBCCType(pColVal, &timestamp);

ttXlaVersionColumnInfo

説明

変更更新XLAレコードの処理を必要とする表の列に関する情報を取得します。

必要な権限

XLA

構文

SQLRETURN ttXlaVersionColumnInfo(ttXlaHandle_h handle,
                                 ttXlaUpdateDesc_t* record,
                                 out ttXlaColDesc_t* colinfo,
                                 SQLINTEGER maxcols,
                                 out SQLINTEGER* nreturned)

パラメータ

パラメータ 説明

handle

ttXlaHandle_h

データベースのトランザクション・ログ・ハンドル

record

ttXlaUpdateDesc_t*

処理されるXLAレコード

colinfo

ttXlaColDesc_t*

maxcols列の記述を保持できる十分な大きさのバッファへのポインタ

maxcols

SQLINTEGER

表に含めることができる列の最大数

ノート: この表にmaxcolsを超える列を含めると、エラーが返されます。

nreturned

SQLINTEGER*

返される列の数

結果

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

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

ttXlaHandle_h xlahandle
ttXlaUpdateDesc_t* record;
ttXlaColDesc_t colinfo[20];
SQLINTEGER ncols;

次のコールでは、最大20の列の記述が取得されます。

rc = ttXlaVersionColumnInfo(xlahandle, record, colinfo, 20, &ncols);

ttXlaVersionCompare

説明

2つのXLAバージョンを比較して、両バージョンが同じか、どちらのバージョンが古いかを示す結果を返します。

必要な権限

XLA

構文

SQLRETURN ttXlaVersionCompare(ttXlaHandle_h handle,
                              ttXlaVersion_t* version1,
                              ttXlaVersion_t* version2,
                              out SQLINTEGER* comparison)

パラメータ

パラメータ 説明

handle

ttXlaHandle_h

データベースのトランザクション・ログ・ハンドル

version1

ttXlaVersion_t*

version2と比較するXLAのバージョン

version2

ttXlaVersion_t*

version1と比較するXLAのバージョン

comparison

SQLINTEGER*

比較結果:

  • 0: version1version2が一致している。

  • -1: version1version2より古い。

  • +1: version1version2より新しい。

結果

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

XLAのconfiguredバージョンとactualバージョンを比較するには、次のコールを実行します。

ttXlaVersion_t configured, actual;
SQLINTEGER comparision;

rc = ttXlaGetVersion (xlahandle, &configured, &actual);
rc = ttXlaVersionCompare (xlahandle, &configured, &actual,
                          &comparison);

ノート

XLAベースのレプリケーションで2つのシステムを接続する場合は、次の手順を実行します。

  1. プライマリ・サイトで、ttXlaGetVersionを使用してXLAバージョンを取得します。このバージョン情報をスタンバイ・サイトに送信します。

  2. スタンバイ・サイトで、ttXlaGetVersionを使用してXLAバージョンを取得します。ttXlaVersionCompareを使用して古いバージョンを判別します。2つのサイト間で適切な処理を行うには、古いバージョン番号を使用する必要があります。ttXlaSetVersionを使用してスタンバイ・サイトで使用するインタフェースのバージョンを指定します。古いバージョン番号をプライマリ・サイトに返信します。

  3. 選択したバージョンがプライマリ・サイトで受信された後、ttXlaSetVersionを使用して、使用するXLAのバージョンを指定します。

ttXlaVersionTableInfo

説明

処理を必要とする変更更新レコードの表定義を取得します。表記述は、tableinfo出力パラメータに格納されます。

必要な権限

XLA

構文

SQLRETURN ttXlaVersionTableInfo(ttXlaHandle_h handle,
                                ttXlaUpdateDesc_t* record,
                                out ttXlaTblVerDesc_t* tblinfo)

パラメータ

パラメータ 説明

handle

ttXlaHandle_h

データベースのトランザクション・ログ・ハンドル

record

ttXlaUpdateDesc_t*

処理されるXLAレコード

tableinfo

ttXlaTblVerDesc_t*

表定義に関する情報

結果

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

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

ttXlaHandle_h xlahandle;
ttXlaUpdateDesc_t* record;
ttXlaTblVerDesc_t tabinfo;

次のコールでは、表定義が取得されます。

rc = ttXlaVersionTableInfo(xlahandle, record, &tabinfo);