ヘッダーをスキップ
Oracle TimesTen In-Memory Database TTClassesガイド
リリース7.0
E05171-02
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

TTXlaRowViewer

TTXlaRowViewerクラスは、アプリケーション開発者がXLA変更通知レコードの構造を調べ、新旧の列値をフェッチできる強力なクラスです。

行を調べるには、TTXlaRowViewerオブジェクトを表(settableメソッドを介して)および行(setTupleメソッドを介して)に関連付ける必要があります。表は事前に定義されたTTXlaTableオブジェクトです。行は、TTXlaPersistConnection::fetchUpdateWaitメソッドを介してXLAによって返されるttXlaUpdateDesc_t構造体の一部です。

パブリック・メンバー

なし

パブリック・メソッド

メソッド
説明
TTXlaRowViewerを指定された表に関連付けます。
TTXlaRowViewerオブジェクトを指定された行イメージに関連付けます。
行イメージ内の特定の列がNULLであるかどうかを示します。
Get

行イメージ内の指定された列の値をフェッチします。

setTable

void setTable (TTXlaTable*)

このTTXlaRowViewerを特定の表に関連付けます。

setTuple

void setTuple (ttXlaUpdateDesc_t*, int whichTuple)

このTTXlaRowViewerオブジェクトを特定の行イメージに関連付けます。

TTConnection::fetchUpdatesによって返されるttXlaUpdateDesc_t構造体に含まれる行の数は、0(ゼロ)、1または2です。

setTupleメソッドは2つの引数を受け入れます。

setTableおよびsetTupleメソッドがコールされた後、次のメソッドを使用して、更新レコードの行イメージに関する情報をフェッチできます。

isNull

bool isNull (int whichCol)

行イメージ内の特定の列がNULLである(trueを返す)かNULLでない(falseを返す)かを示します。

whichColパラメータは、問い合せる列の列番号です。

Get

void Get (int col, ...)

行イメージ内の特定の列の値をフェッチします。

これらのメソッドはTTCmd::getColumn()メソッドによく似ています。

colパラメータは、問い合せる列の列番号です。

表3.5に、サポートされるSQLデータ型と、各パラメータ型での使用に適したGetのバージョンを示します。NUMBERデータ型のバージョンは6つ、FLOATデータ型のバージョンは2つあります。格納されるデータの種類に従って、アプリケーションを設計します。たとえば、データ型NUMBER(9,0)には、Get(int, int*)によって、データを損失することなくアクセスできます。

表3.5 サポートされるデータ型に対するTTXlaRowViewer::Getのバージョン
XLAデータ型
データベース・データ型
Getのバージョン
TTXLA_CHAR_TT
TT_CHAR
Get(int, char**)
TTXLA_NCHAR_TT
TT_NCHAR
Get(int, SQLWCHAR**, int*len)
TTXLA_VARCHAR_TT
TT_VARCHAR
Get(int, char**)
TTXLA_NVARCHAR_TT
TT_NVARCHAR
Get(int, SQLWCHAR**, int*len)
TTXLA_TINYINT
TT_TINYINT
Get(int, unsigned char*)
TTXLA_SMALLINT
TT_SMALLINT
Get(int, short*)
TTXLA_INTEGER
TT_INTEGER
Get(int, int*)
TTXLA_BIGINT
TT_BIGINT
Get(int, SQLBIGINT*)
TTXLA_BINARY_FLOAT
BINARY_FLOAT
Get(int, float*)
TTXLA_BINARY_DOUBLE
BINARY_DOUBLE
Get(int, double*)
TTXLA_DECIMAL_TT
TT_DECIMAL
Get(int, char**)
TTXLA_TIME
TT_TIME
Get(int, TIME_STRUCT*)
TTXLA_DATE_TT
TT_DATE
Get(int, DATE_STRUCT*)
TTXLA_TIMESTAMP_TT
TT_TIMESTAMP
Get(int, TIMESTAMP_STRUCT*)
TTXLA_BINARY
BINARY
Get(int, const void**, int*len)
TTXLA_VARBINARY
VARBINARY
Get(int, const void**, int*len)
TTXLA_NUMBER
NUMBER
Get(int, double*)
Get(int, char**)
Get(int, char*)
Get(int, short*)
Get(int, int*)
Get(int, SQLBIGINT*)
TTXLA_DATE
DATE
Get(int, TIMESTAMP_STRUCT*)
TTXLA_TIMESTAMP
TIMESTAMP
Get(int, TIMESTAMP_STRUCT*)
TTXLA_CHAR
CHAR
Get(int, char**)
TTXLA_NCHAR
NCHAR
Get(int, SQLWCHAR**, int*len)
TTXLA_VARCHAR
VARCHAR2
Get(int, char**)
TTXLA_NVARCHAR
NVARCHAR2
Get(int, SQLWCHAR**, int*len)
TTXLA_FLOAT
FLOAT
Get(int, double*)
Get(int, char**)

使用方法

変更通知レコードに含まれる行イメージから列値をフェッチするために使用されます。