テーブルアクセスの基本クラス (abstruct nocopyable) [詳解]
#include <nsTable.h>
公開型 | |
enum | eFindType { findForword, findBackForword, findContinue } |
findオペレーションで検索の方向を示すタイプ [詳解] | |
enum | eUpdateType { changeCurrentCc, changeCurrentNcc, changeInKey } |
更新オペレーションの対象とカレント移動のタイプ [詳解] | |
公開メンバ関数 | |
nstable (nsdatabase *pbe) | |
void | abortBulkInsert () |
void | addref (void) |
void | beginBulkInsert (int maxBuflen=BULKBUFSIZE) |
bookmark_td | bookmark () |
ushort_td | bookmarkLen () const |
uint_td | buflen () const |
bool | canDelete () const |
bool | canInsert () const |
bool | canRead () const |
bool | canWrite () const |
void | clearOwnerName () |
void | close () |
ushort_td | commitBulkInsert (bool autoCommit=false) |
void | createIndex (bool specifyKeyNum=false) |
const void * | data () const |
uint_td | datalen () const |
void | del (bool in_key=false) |
void | dropIndex (bool norenumber=false) |
char * | getCreateSql (char *retbuf, uint_td *size) |
percentage_td | getPercentage () |
percentage_td | getPercentage (bookmark_td &bm) |
uint_td | getWriteImageLen () |
ushort_td | insert (bool ncc=false) |
bool | isOpen () const |
bool | isUseTransactd () const |
char_td | keyNum () const |
char_td | mode () const |
nsdatabase * | nsdb () const |
uint_td | recordCount (bool estimate=true, bool fromCurrent=false) |
ushort_td | recordLength () |
int | refCount () const |
void | release () |
void | seek (ushort_td lockBias=LOCK_BIAS_DEFAULT) |
void | seekByBookmark (bookmark_td &bm, ushort_td lockBias=LOCK_BIAS_DEFAULT) |
void | seekByBookmark () |
void | seekByPercentage () |
void | seekByPercentage (percentage_td pc) |
void | seekFirst (ushort_td lockBias=LOCK_BIAS_DEFAULT) |
void | seekGreater (bool orEqual, ushort_td lockBias=LOCK_BIAS_DEFAULT) |
void | seekLast (ushort_td lockBias=LOCK_BIAS_DEFAULT) |
void | seekLessThan (bool orEqual, ushort_td lockBias=LOCK_BIAS_DEFAULT) |
void | seekNext (ushort_td lockBias=LOCK_BIAS_DEFAULT) |
void | seekPrev (ushort_td lockBias=LOCK_BIAS_DEFAULT) |
void | setAccessRights (unsigned char curd) |
void | setBuflen (uint_td v) |
void | setData (void *v) |
void | setKeyNum (char_td v) |
void | setOwnerName (const _TCHAR *name, char_td enctype=0) |
void | setStat (short_td v) |
void | setTableid (short v) |
void | setTimestampMode (int mode) |
bool | setUpdateConflictCheck (bool v) |
short_td | stat () const |
_TCHAR * | statMsg (_TCHAR *retbuf) |
void | stats (void *databuffer, uint_td buflen, bool estimate=true) |
void | stepFirst (ushort_td lockBias=LOCK_BIAS_DEFAULT) |
void | stepLast (ushort_td lockBias=LOCK_BIAS_DEFAULT) |
void | stepNext (ushort_td lockBias=LOCK_BIAS_DEFAULT) |
void | stepPrev (ushort_td lockBias=LOCK_BIAS_DEFAULT) |
short | tableid () const |
void | tdap (ushort_td op) |
short_td | tdapErr (HWND hWnd, _TCHAR *retbuf=NULL) |
void | unlock (bookmark_td &bm) |
void | unlock () |
void | update (eUpdateType type=changeCurrentCc) |
bool | updateConflictCheck () const |
静的公開メンバ関数 | |
static bool | existsFile (const _TCHAR *filename) |
static _TCHAR * | getDirURI (const _TCHAR *uri, _TCHAR *retbuf) |
static _TCHAR * | getFileName (const _TCHAR *uri, _TCHAR *retbuf) |
static short_td | tdapErr (HWND hWnd, short_td status, const _TCHAR *tableName=NULL, _TCHAR *retbuf=NULL) |
static void | throwError (const _TCHAR *caption, short statusCode) |
static void | throwError (const _TCHAR *caption, nstable *tb) |
静的公開変数類 | |
static const bool | inkey = true |
限定公開メンバ関数 | |
virtual | ~nstable () |
bulkInsert * | bulkIns () const |
void | destroy () |
virtual void | doAbortBulkInsert () |
virtual short_td | doBtrvErr (HWND hWnd, _TCHAR *retbuf) |
virtual void | doClose () |
virtual ushort_td | doCommitBulkInsert (bool autoCommit) |
virtual void | doCreateIndex (bool specifyKeyNum) |
virtual void | doDel (bool inkey) |
virtual uint_td | doGetWriteImageLen () |
virtual void | doOpen (const _TCHAR *name, char_td mode, const _TCHAR *ownername) |
virtual uint_td | doRecordCount (bool estimate, bool fromCurrent) |
const bzs::db::blobHeader * | getBlobHeader () |
virtual bool | getUpdateStampEnable () const |
virtual __int64 | getUpdateStampValue () const |
virtual bool | isUniqeKey (char_td keynum) |
virtual bool | onDeleteCheck (bool in_key) |
virtual void | onInsertAfter (int beforeResult) |
virtual int | onInsertBefore () |
virtual void | onReadAfter ()=0 |
virtual void | onUpdateAfter (int beforeResult) |
virtual int | onUpdateBefore () |
virtual bool | onUpdateCheck (eUpdateType type) |
void | open (const _TCHAR *uri, char_td mode=0, const _TCHAR *ownerName=NULL) |
const uchar_td * | posblk () const |
void | seekByBookmark (bookmark_td *bm, ushort_td lockBias=LOCK_BIAS_DEFAULT) |
void | setIsOpen (bool v) |
void | setMode (char_td v) |
void | setShared () |
const _TCHAR * | uri () const |
virtual keylen_td | writeKeyData () |
virtual void | writeRecordData ()=0 |
限定公開変数類 | |
union { | |
struct { | |
uchar_td m_delete: 1 | |
uchar_td m_insart: 1 | |
uchar_td m_read: 1 | |
uchar_td m_reserverd: 4 | |
uchar_td m_write: 1 | |
} | |
uchar_td m_curd | |
}; | |
uint_td | m_buflen |
uint_td | m_datalen |
void * | m_keybuf |
keylen_td | m_keybuflen |
keylen_td | m_keylen |
char_td | m_keynum |
ushort_td | m_op |
void * | m_pdata |
short_td | m_stat |
テーブルアクセスの基本クラス (abstruct nocopyable)
スキーマ情報を必要としない基本的なナビゲーションやRUIDオペレーションを行います。 ユーザーはこのクラスを直接使うことはありません。継承したtableクラスを使用します。 各種オペレーションの実行結果は stat()で取得し判断します。 このクラスは特殊なテーブルへのアクセスを提供したいときに継承して使用します。 このクラスはコピーできません。デストラクタはアクセスできません。破棄は release()を呼び出します。
enum eFindType |
enum eUpdateType |
更新オペレーションの対象とカレント移動のタイプ
|
protectedvirtual |
デストラクタはprotectedです。破棄は替りにnstable::release()を呼び出してください。
|
explicit |
コンストラクタにはnsdatabaseのポインターを渡します。
|
inline |
バルクインサートモードを終了します。 キャッシュされたinsertオペレーションは実行されずに破棄されます。
addref | ( | void | ) |
インスタンスの参照数カウンタを+1します。
void beginBulkInsert | ( | int | maxBuflen = BULKBUFSIZE | ) |
バルクインサートモードを開始します。 バルクインサート開始後に呼び出されたinseretオペレーションをすぐには サーバーには送らずクライアント側にキャッシュします。 commitBulkInsertを呼び出した時点でまとめてサーバーに送信されます。
maxBuflen | キャッシュするバッファのサイズを指定します。バッファは最大64KBまでです。 バッファがいっぱいになると、自動でcommitBulkInsert(autoCommit)を呼び出しバッファを解放します。 |
bookmark_td bookmark | ( | ) |
カレントレコードのブックマークを取得します。 また内部にその値をキャッシュします。キャッシュは最後の一つのみです。 実行結果はstat()で取得します。成功するとゼロが返ります。
ushort_td bookmarkLen | ( | ) | const |
ブックマークの値の長さを取得します。通常ブックマークはbookmark_td型で扱うため、ここで得られた値を直接使うことは ほとんど有りません。 唯一、 table::insertBookmarks() で渡すdetaを構成する際にみ使用します。
|
inline |
データバッファの確保された長さを返します。
|
protected |
bulkInsertクラスのポインターを返します。
|
inline |
レコードの削除処理が可能かどうかを返します。
|
inline |
レコードのインサート処理が可能かどうかを返します。
|
inline |
レコードのリードアクセスが可能かどうかを返します。
|
inline |
レコードの更新処理が可能かどうかを返します。
void clearOwnerName | ( | ) |
オーナネームをクリアします。 実行結果はstat()で取得します。成功するとゼロが返ります。
|
inline |
テーブルをクローズします。
|
inline |
キャッシュ下インサートデータをサーバーに転送し実行します。 実行結果はstat()で取得します。成功するとゼロが返ります。
autoCommit | 自動挿入によるものかどうかを指定します。アプリケーションからは常にfalseを指定してください。 |
|
inline |
インデックスを追加します。
あらかじめ database::dbDef() で返される dbDef オブジェクトを使ってスキーマにインデックスを追加し table::setKeyNum() でそのキー番号を指定します。 実行結果はstat()で取得します。成功するとゼロが返ります。
specifyKeyNum | 追加するキーのキー番号が定義で指定されたものを使用するよう指示します。この値はP.SQLでのみ使用可能です。 |
|
inline |
レコードバッファのポインタを返します。
|
inline |
データバッファに読み取ったレコードの長さを返します。
|
inline |
指定したレコードレコードを削除します。
inkey |
|
実行結果はstat()で取得します。成功するとゼロが返ります。
|
protected |
内部でdelete thisを呼び出します。通常この関数は使用しないでください。
|
protectedvirtual |
バルクインサートをキャンセルする際にフレームワークから呼び出されます。 オーバーライドして追加の処理をする場合は、必ずデフォルトの実装を呼び出すようにしてください。
|
protectedvirtual |
エラーメッセージを取得します。
hWnd | ウィンドウハンドルを指定します。無い場合はNULLを指定します。 |
retbuf | メッセージを受け取るバッファを指定します。バッファは512以上確保する必要があります。 |
|
protectedvirtual |
テーブルのクローズを実装します。 クローズ処理で追加の処理を行う場合はこのメソッドをオーバーライドします。
|
protectedvirtual |
commitBulkInsert()を実装します。
|
protectedvirtual |
インデックスの追加処理を実装します。 キーの作成に成功すると、最後のキー番号+1のキー番号として利用できます。
specifyKeyNum | キー番号を指定する場合はtrueにします。trueを指定すると 事前にsetKeyNumにて指定されたキー番号のキーとして作成されます。(PSQLオンリー) |
|
protectedvirtual |
レコードの削除 deleteオペレーションを実行します。 deleteの前後に追加の処理を行いたい場合はこの関数をオーバーライドします。
|
inlineprotectedvirtual |
getWriteImageLenの実装を行います。 getWriteImageLenは書き込みレコードの有効長さを返します。 デフォルト実装はbuflen()を返します。
|
protectedvirtual |
テーブルのオープンを実装します。 パラメータはopenメソッドを参照してください。 オープン処理で追加の処理を行う場合はこのメソッドをオーバーライドします。
|
protectedvirtual |
現在のレコード数を返す関数を実装します。
void dropIndex | ( | bool | norenumber = false | ) |
setKeyNumで指定されたインデックスを削除します。 実行結果はstat()で取得します。成功するとゼロが返ります。
norenumber | このオペレーションによって削除したキーが最後で無い場合、 連続したキー番号にする再付番処理が行われます。(PSQLのみ)これを行わないようにしたい場合は trueを指定します。 transactdの場合は常に再付番処理は行われません。 trueの場合このオペレーションによって削除したインデックス番号は空き番号になります。 |
|
static |
指定したファイルが存在するかどうかを返します。
|
protected |
読み取りオペレーションで取得したBlobのヘッダーを取得します。
char * getCreateSql | ( | char * | retbuf, |
uint_td * | size | ||
) |
このテーブルの生成 SQL文を取得します。
rebuf | 結果を受け取るバッファの先頭アドレスを指定します。 |
size | 結果を受け取るバッファの長さのアドレスを指定します。 |
|
static |
uriからファイル名を取り除いた残りを取得します。
uri | uriを指定します。 |
retbuf | 結果を受け取るバッファの先頭アドレスを指定します。 バッファは結果を受け取るのに十分な長さを確保してください。 |
|
static |
uriからファイル名を取得するします。
uri | uriを指定します。 |
filename | ファイル名を受け取るバッファの先頭アドレスを指定します。 バッファはファイル名を受け取るのに十分な長さを確保してください。 |
percentage_td getPercentage | ( | ) |
カレントレコードの位置をテーブル先頭からテーブル全体での百分率で返します。 返された値は100倍されています。すなわち0〜10000までの値を返します。 この値は、おおよその値であって正確なものではありません。 実行結果はstat()で取得します。成功するとゼロが返ります。
percentage_td getPercentage | ( | bookmark_td & | bm | ) |
指定したブックマークレコードの位置をテーブル先頭からテーブル全体での百分率で返します。 返された値は100倍されています。すなわち0〜10000までの値を返します。 この値は、おおよその値であって正確なものではありません。 実行結果はstat()で取得します。成功するとゼロが返ります。 また、この結果を内部に一つだけキャッシュします。
|
inlineprotectedvirtual |
更新時に自動でタイムスタンプを記録するフィールドあるかどうかを返します。
|
inlineprotectedvirtual |
更新時に自動でタイムスタンプを記録するフィールドがある場合その値をレコードバッファから読み取って__int64値で返します。
|
inline |
書き込みイメージの有効長さを返します。
|
inline |
現在のデータバッファのイメージをインサートします インサートが成功するとカレントレコードは追加したレコードがカレントレコードになります。 カレントレコードを追加前まま維持したい場合はncc(no currency change ) をtrueにセットします。 実行結果コードはstat()で取得します。
bool isOpen | ( | ) | const |
テーブルが既にオープンされているかどうかを返します。
|
inlineprotectedvirtual |
keynumで指定されたインデックスがユニークインデックス(重複値を許可しないインデックス) かどうかを返します。
tableで再実装されています。
bool void isUseTransactd | ( | ) | const |
現在の処理対象が transactdサーバーをターゲットにしているかどうかを返します。
|
inline |
現在のキー番号を返します。
char_td mode | ( | ) | const |
open() でテーブルをオープンしたときに指定された mode を返します。
この値は、 database::compatibleMode() で指定した値によって database::openTable() で指定したmodeパラメータに加えて以下のパラメータが付加される場合があります。 この値は実際にサーバーに送信された mode です。
database::openTable() で指定した mode の値は以下のコードで求めることができます。
mode についての詳細は open() を参照してください。
nsdatabase * nsdb | ( | ) | const |
コンストラクタで指定されたnsdatabaseクラスのポインターを返します。
|
inlineprotectedvirtual |
|
protectedvirtual |
insertオペレーション内からそのオペレーションの実行後に呼び出されます。 insert後に追加の処理を行いたい場合はこの関数をオーバーライドします。
tableで再実装されています。
|
inlineprotectedvirtual |
insertオペレーション内からそのオペレーションの実行前に呼び出されます。 insert前に追加の処理を行いたい場合はこの関数をオーバーライドします。
tableで再実装されています。
|
protectedpure virtual |
読み取りオペレーションが成功した際に呼び出されます。
tableで実装されています。
|
inlineprotectedvirtual |
updateオペレーション内からそのオペレーションの実行後に呼び出されます。 update後に追加の処理を行いたい場合はこの関数をオーバーライドします。
tableで再実装されています。
|
inlineprotectedvirtual |
updateオペレーション内からそのオペレーションの実行前に呼び出されます。 update前に追加の処理を行いたい場合はこの関数をオーバーライドします。
tableで再実装されています。
|
inlineprotectedvirtual |
updateオペレーション内からそのオペレーションの実行前に呼び出されます。 updateオペレーションの実行が必要かどうかを返します。 フィールドを比較して変更なければ不要 falseを返す最適化を行えます。
tableで再実装されています。
|
inlineprotected |
テーブルをオープンします。
uri | オープンするテーブルのuriを指定します。"\\server\folder\tablename" または"protocol://server/db?dbfile=tablename"と指定します。 |
mode | TD_OPEN_NORMAL TD_OPEN_READONLY TD_OPEN_EXCLUSIVE TD_OPEN_READONLY_EXCLUSIVEのいずれかを指定します |
ownerName | オーナーネームを指定します。 |
|
protected |
ポジションブロックのアドレスを返します。 ポジションブロックはnstable::tdap()呼び出しでクライアントの状態を保持する 128バイトの領域です。
|
inline |
現在のレコード数を取得します。 実行結果はstat()で取得します。成功するとゼロが返ります。
estimate | レコード数が見積もり数で良いかどうかを指定します。厳密な数を必要とする場合はfalseを指定します。 transactdにおいてエンジンがInnodbでfalseを指定すると、すべてのレコードをスキャンするためパフォーマンスの低下を招きます。通常はtrueを指定してください。 PSQLの場合は、このパラメータの値は無視され常に厳密なレコード数を高パフォーマンスで返します。 |
fromCurrent | estimateがfalseのときに、現在のカレントレコード以降からのレコード数を調べるかどうかを指定します。このパラメータは nstableクラスの doRecordCount()の実装では何も行いません。 table::doRecordCount()の実装はフィルターを利用可能にしています。フィルターをセットしカレントを確立し estimate = false fromCurrent = true で開始するとフィルターにマッチするレコード数をカウントできます。 |
ushort_td recordLength | ( | ) |
このテーブルのレコード長をサーバーから取得します。 実行結果はstat()で取得します。成功するとゼロが返ります。
int refCount | ( | ) | const |
インスタンスの参照数を返します。
|
inline |
インスタンスの参照数カウンタを-1します。 参照数がゼロになると dekete thisを呼び出します。
このテーブルインスタンスのメモリを解放します。 テーブルがクローズされていない場合自動でクローズされます。
void seek | ( | ushort_td | lockBias = LOCK_BIAS_DEFAULT | ) |
カレントレコードをsetKeyNumとキーバッファで指定された値のレコードに移動しデータバッファに読み出します。 実行結果はstat()で取得します。成功するとゼロが返ります。
lockBias | 0、ROW_LOCK_X、ROW_LOCK_Sのいずれかの値を指定できます。
|
PSQLにおけるバイアス値はPSQLのマニュアルを参照してください。
|
protected |
カレントレコードをbmで指定したブックマークへ移動しデータバッファに読み出します。 実行結果はstat()で取得します。成功するとゼロが返ります。
bm | 事前に取得したブックマークを指定します。 |
lockBias | ロックバイアスの値と効果は seek() を参照してください。 |
void seekByBookmark | ( | bookmark_td & | bm, |
ushort_td | lockBias = LOCK_BIAS_DEFAULT |
||
) |
カレントレコードをbmで指定したブックマークへ移動しデータバッファに読み出します。 実行結果はstat()で取得します。成功するとゼロが返ります。
bm | 事前に取得したブックマークを指定します。 |
lockBias | ロックバイアスの値と効果は seek() を参照してください。 |
void seekByBookmark | ( | ) |
カレントレコードを内部にキャッシュされたブックマークへ移動しデータバッファに読み出します。 実行結果はstat()で取得します。成功するとゼロが返ります。 あらかじめbookmark()を実行し成功していなければなりません。
void seekByPercentage | ( | ) |
カレントレコードを前回のgetPercentage(bm)で得られた百分率の位置に移動しデータバッファに読み出します。 実行結果はstat()で取得します。成功するとゼロが返ります。 移動した位置はおおよそであり正確な位置ではありません。
void seekByPercentage | ( | percentage_td | pc | ) |
カレントレコードをpcで指定された百分率の位置に移動しデータバッファに読み出します。 実行結果はstat()で取得します。成功するとゼロが返ります。 移動した位置はおおよそであり正確な位置ではありません。
void seekFirst | ( | ushort_td | lockBias = LOCK_BIAS_DEFAULT | ) |
カレントレコードをsetKeyNumで指定されたインデックス順の先頭に移動しデータバッファに読み出します。 実行結果はstat()で取得します。成功するとゼロが返ります。
lockBias | ロックバイアスの値と効果は seek() を参照してください。 |
void seekGreater | ( | bool | orEqual, |
ushort_td | lockBias = LOCK_BIAS_DEFAULT |
||
) |
カレントレコードをsetKeyNumとキーバッファで指定された値のレコードか より大きい最初のレコードに移動しデータバッファに読み出します。 実行結果はstat()で取得します。成功するとゼロが返ります。
orEqual | キーバッファで指定された値があればそのレコードに移動するかを指定します。 |
lockBias | ロックバイアスの値と効果は seek() を参照してください。 |
void seekLast | ( | ushort_td | lockBias = LOCK_BIAS_DEFAULT | ) |
カレントレコードをsetKeyNumで指定されたインデックス順の最後に移動しデータバッファに読み出します。 実行結果はstat()で取得します。成功するとゼロが返ります。
lockBias | ロックバイアスの値と効果は seek() を参照してください。 |
void seekLessThan | ( | bool | orEqual, |
ushort_td | lockBias = LOCK_BIAS_DEFAULT |
||
) |
カレントレコードをsetKeyNumとキーバッファで指定された値のレコードか より小さい最初のレコードに移動しデータバッファに読み出します。 実行結果はstat()で取得します。成功するとゼロが返ります。
orEqual | キーバッファで指定された値があればそのレコードに移動するかを指定します。 |
lockBias | ロックバイアスの値と効果は seek() を参照してください。 |
void seekNext | ( | ushort_td | lockBias = LOCK_BIAS_DEFAULT | ) |
カレントレコードをsetKeyNumで指定されたインデックス順の1つ後ろに移動しデータバッファに読み出します。 実行結果はstat()で取得します。成功するとゼロが返ります。
lockBias | ロックバイアスの値と効果は seek() を参照してください。 |
void seekPrev | ( | ushort_td | lockBias = LOCK_BIAS_DEFAULT | ) |
カレントレコードをsetKeyNumで指定されたインデックス順の1つ前に移動しデータバッファに読み出します。 実行結果はstat()で取得します。成功するとゼロが返ります。
lockBias | ロックバイアスの値と効果は seek() を参照してください。 |
|
inline |
このテーブルのアクセス制御(insert update delete read)をまとめてセットします。
|
inline |
データバッファの確保された長さをセットします。
|
inline |
レコードバッファのポインタをセットします。
|
protected |
このテーブルがオープンされているかどうかを指定します。
|
inline |
キー番号をセットします。
|
protected |
void setOwnerName | ( | const _TCHAR * | name, |
char_td | enctype = 0 |
||
) |
オーナネームをテーブルに書き込みます。 実行結果はstat()で取得します。成功するとゼロが返ります。
name | オーナーネームを指定します。 |
enctype | PSQLでのみ有効です。詳しくはPSQLのsdkを参照してください。 |
|
protected |
このインスタンスを共有インスタンスとしてマークします。 マークされると、 destroy()によって破棄されることはありません。
|
inline |
tdap呼び出しまたは処理の結果をセットします
void setTableid | ( | short | v | ) |
このテーブル番号をセットします。 テーブル番号はこのクラスによって使用されることはありません。 継承したクラスによって使用されるラベルになります。
void setTimestampMode | ( | int | mode | ) |
timestampまたはdatetime型で、レコードの追加日時(CURRENT_TIMESTAMP)またはレコードの更新日時(ON UPDATE CURRENT_TIMESTAMP) の属性を持つフィールドの日時の更新モードを設定します。
mode | TIMESTAMP_ALWAYS(1) insert または update 時にそのフィールドの値が何であれ必ずそのときの日時に更新します。 TIMESTAMP_VALUE_CONTROL(0) フィールドの値が、ゼロの場合にのみそのときの日時に更新します。 |
bool setUpdateConflictCheck | ( | bool | v | ) |
|
inline |
tdap呼び出しまたは処理の結果を返します。
|
inline |
最後に行った処理のエラーメッセージを取得します。
[out] | retbuf | エラーメッセージを受け取るバッファを指定します。バッファ長さは必ず512バイト以上 を確保してください。 |
void stats | ( | void * | databuffer, |
uint_td | buflen, | ||
bool | estimate = true |
||
) |
tdap(TD_TABLE_INFO)オペレーションを実行します。 実行結果はstat()で取得します。成功するとゼロが返ります。
databuffer | 結果を受け取るバッファのアドレスを指定します。 |
buflen | databufferの長さを指定します。 |
estimate | レコード数の取得について見積もり数かどうかを指定します。厳密な数を必要とする場合はfalseを指定します。 transactdにおいてエンジンがInnodbでfalseを指定すると、すべてのレコードをスキャンするためパフォーマンスの低下を招きます。通常はtrueを指定してください。 PSQLの場合は、このパラメータの値は無視され常に厳密なレコード数を高パフォーマンスで返します。 |
void stepFirst | ( | ushort_td | lockBias = LOCK_BIAS_DEFAULT | ) |
カレントレコード物理レコード順の最初のレコードに移動ししデータバッファに読み出します。 実行結果はstat()で取得します。成功するとゼロが返ります。
lockBias | ロックバイアスの値と効果は seek() を参照してください。 |
void stepLast | ( | ushort_td | lockBias = LOCK_BIAS_DEFAULT | ) |
カレントレコード物理レコード順の最後のレコードに移動ししデータバッファに読み出します。 実行結果はstat()で取得します。成功するとゼロが返ります。
lockBias | ロックバイアスの値と効果は seek() を参照してください。 |
void stepNext | ( | ushort_td | lockBias = LOCK_BIAS_DEFAULT | ) |
カレントレコードを物理レコード順の1つ後ろに移動しデータバッファに読み出します。 実行結果はstat()で取得します。成功するとゼロが返ります。
lockBias | ロックバイアスの値と効果は seek() を参照してください。 |
void stepPrev | ( | ushort_td | lockBias = LOCK_BIAS_DEFAULT | ) |
カレントレコードを物理レコード順の1つ前に移動しデータバッファに読み出します。 実行結果はstat()で取得します。成功するとゼロが返ります。
lockBias | ロックバイアスの値と効果は seek() を参照してください。 |
short tableid | ( | ) | const |
このテーブルのテーブル番号を返します。
void tdap | ( | ushort_td | op | ) |
Cのtdap呼び出しを実行します。特別なことがない限りこのメソッドは使用しないでください。 実行結果はstat()で取得します。成功するとゼロが返ります。
|
inline |
最後に行った処理のエラーメッセージを取得します。
hWnd | 親ウィンドウハンドルを指定します。ハンドルを指定すると自動でmessageBoxをにてエラーを表示します。 |
retbuf | メッセージを受け取るバッファを指定します。バッファは512以上を確保してください。 |
|
static |
エラーメッセージを取得します。
hWnd | 親ウィンドウハンドルを指定します。ハンドルを指定すると自動でmessageBoxをにてエラーを表示します。 |
status | stat()で取得したステータスコードを指定します。 |
tableName | tableNameの名前がある場合は指定します。 |
retbuf | エラーの内容を受け取るバッファを指定します。最低でも512バイトを確保してください。 |
|
static |
bzs::rtl::exception例外をスローします。 受け取ったcaptionとstatusCodeから生成したより詳しいエラーメッセージを代入し てスローします。 catchハンドラでの取得は、bzs::rtl::getMsg(e)で取得できます。
|
static |
bzs::rtl::exception例外をスローします。 受け取ったcaptionとtbから生成したより詳しいエラーメッセージを代入し てスローします。 catchハンドラでの取得は、bzs::rtl::getMsg(e)で取得できます。
void unlock | ( | bookmark_td & | bm | ) |
レコードロックを解除します。bmパラメータは、PSQLでのみ有効です。
bmで指定したブックマーク位置のレコードロックを解除します。
void unlock | ( | ) |
現在のレコードロックを解除します。
|
inline |
指定したレコードをデータバッファのイメージで更新します。
type |
|
実行結果はstat()で取得します。成功するとゼロが返ります。
|
protected |
このテーブルのuriを返します。
|
inlineprotectedvirtual |
インデックスを使用した読み取りオペレーション(seek find ...) の前に呼び出されます。 writeKeyDataをオーバーライドしてキーバッファにキー値をセットします。 デフォルト実装はゼロを返します。
tableで再実装されています。
|
protectedpure virtual |
insert、updateオペレーション内からそのオペレーションの実行前に 呼び出されます。デフォルトではそれぞれnstable::onInsertBefore()、nstable::onUpdateBefore()から 呼び出されます。 継承したクラスはこの関数をオーバーライドしてrecordバッファにデータを書き 込む処理をします。
tableで実装されています。
union { ... } |
|
static |
del() オペレーションのinkeyパラメータ用定数
|
protected |
tdap呼び出しのデータバッファレングス
uchar_td m_curd |
アクセス権全体を示します。
|
protected |
tdap呼び出しのデータレングス
uchar_td m_delete |
削除アクセス権があるかどうかを示します。
uchar_td m_insart |
追加アクセス権があるかどうかを示します。
|
protected |
tdap呼び出しのキーバッファアドレス
|
protected |
tdap呼び出しのキーバッファレングス
|
protected |
tdap呼び出しのキーデータレングス
|
protected |
tdap呼び出しのキー番号
|
protected |
tdap呼び出しのオペレーション番号
|
protected |
tdap呼び出しのデータバッファアドレス
uchar_td m_read |
リードアクセス権があるかどうかを示します。
uchar_td m_reserverd |
未使用です。将来のために予約されています。
|
mutableprotected |
tdap呼び出しの戻り値
uchar_td m_write |
更新アクセス権があるかどうかを示します。