全て クラス 名前空間 関数 変数 型定義 列挙型 列挙値 ページ
公開メンバ関数 | 公開変数類 | 全メンバ一覧
tabledef 構造体

テーブル定義構造体 [詳解]

#include <tdapSchema.h>

公開メンバ関数

 tabledef ()
 
void cleanup ()
 
void convertToUtf8Schema ()
 
short fieldNumByName (const _TCHAR *name) const
 
const char * fileName () const
 
const char * fileNameA () const
 
uchar_td inUse () const
 
bool isLegacyTimeFormat (const fielddef &fd) const
 
bool isMysqlNullMode () const
 
uchar_td nullbytes () const
 
uchar_td nullfields () const
 
bool operator== (const tabledef &r) const
 
ushort_td recordlen () const
 
void setFileName (const char *s)
 
void setFileNameA (const char *s)
 
void setTableName (const char *s)
 
void setTableNameA (const char *s)
 
void setValidationTarget (bool isMariadb, uchar_td srvMinorVersion)
 
int size () const
 
const char * tableName () const
 
const char * tableNameA () const
 
uint_td unPack (char *ptr, size_t size) const
 

公開変数類

union {
   ushort_td   pageSize
 
   ushort_td   varSize
 
}; 
 
int autoIncExSpace
 
uchar_td charsetIndex
 
ushort_td convertFileNum
 
ushort_td ddfid
 
ushort_td fieldCount
 
fielddeffieldDefs
 
ushort_td fixedRecordLen
 
FLAGS flags
 
uchar_td iconIndex
 
uchar_td iconIndex2
 
uchar_td iconIndex3
 
ushort_td id
 
uchar_td keyCount
 
keydefkeyDefs
 
FLAGS optionFlags
 
uchar_td parentKeyNum
 
ushort_td preAlloc
 
uchar_td primaryKeyNum
 
uchar_td replicaKeyNum
 
uint_td schemaCodePage
 
uchar_td treeIndex
 
short version
 

詳解

テーブル定義構造体

構築子と解体子

tabledef ( )
inline

コンストラクタ。すべてのフィールドを初期化します。

関数詳解

void cleanup ( )
inline

この構造体のメンバーを初期化します。

void convertToUtf8Schema ( )
short fieldNumByName ( const _TCHAR *  name) const

nameで指定した名前を持つフィールドのインデックスを返します。

const char * fileName ( ) const

ファイル名を返します。

const char * fileNameA ( ) const
inline

ファイル名を返します。

uchar_td inUse ( ) const
inline

このスキーマ( this )を参照しているデータベースのインスタンス数を返します。

void isLegacyTimeFormat ( const fielddef fd) const
inline

fdで指定したフィールドが、MySQL5.5形式の time datetime timestamp のいずれかかどうかを返します。

bool isMysqlNullMode ( ) const
inline

このスキーマを利用する table クラスが、NULLのサポート並びにデフォルト値がサポートされた最新のモードで処理されているかどうかを返します。

uchar_td nullbytes ( ) const
inline
uchar_td nullfields ( ) const
inline

NULLを許可するフィールドの数を返します。

void operator== ( const tabledef r) const

rで指定したtabledefと同じかどうかを返します。比較には、fielddefs keydefs は含まれません。 また、サーバーなどの条件によって動的に変化するメンバーも除外されます。

引数
r比較するtabledefのポインタを指定します。
戻り値
同じであればtrueを返します。
ushort_td recordlen ( ) const
inline

このテーブルの最大レコードサイズを取得します。

void setFileName ( const char *  s)
inline

ファイル名をセットします。ファイル名は最大265バイトです。 transactdの場合、ファイル名の拡張子は取り除かれてテーブルが作成されます。 SQLでアクセスする際のテーブル名はこの名前でアクセスします。

void setFileNameA ( const char *  s)
inline

ファイル名をセットします。ファイル名は最大265バイトです。 transactdの場合、ファイル名の拡張子は取り除かれてテーブルが作成されます。 SQLでアクセスする際のテーブル名はこの名前でアクセスします。

void setTableName ( const char *  s)
inline

テーブル名をセットします。テーブル名は最大31バイトです。 通常ファイル名から拡張子を取り除いた名前を指定します。

void setTableNameA ( const char *  s)
inline

テーブル名をセットします。テーブル名は最大31バイトです。 通常ファイル名から拡張子を取り除いた名前を指定します。

void setValidationTarget ( bool  isMariadb,
uchar_td  srvMinorVersion 
)
inline

この定義をバリデーションする際に、どのサーバーをターゲットにするかを指定します。

引数
isMariadbMariadbかどうかを指定します。
srvMinorVersionサーバーのマイナーバージョンを指定します。
int size ( ) const

このスキーマ構造体の長さを返します。長さには、fieldDefとkeyDefで参照されるそれぞれの定義も含まれています。

const char * tableName ( ) const

テーブル名を返します。

const char * tableNameA ( ) const
inline

テーブル名を返します。

uint_td unPack ( char *  ptr,
size_t  size 
) const

ptrで指定された圧縮されたレコードイメージを伸長して長さを返します。 ptrで指定されたメモリ領域は伸長後の長さを確保できる十分な長さが必要です。 確保された長さはsetBuflen()で指定します。

引数
[in,out]ptrpackされたレコードイメージのアドレスを指定します。
[in]sizepackされたレコードイメージのバイト数を指定します。
戻り値
伸長後の長さを返します。伸長中に結果がbuflen()を超えると判断された場合は処理を中止しゼロを返します。

メンバ詳解

union { ... }
int autoIncExSpace

don't use. BizStation internal use only.

uchar_td charsetIndex

キャラクターセットをインデックス番号で指定します。 コードページからインデックスへの変換は mysql::charsetIndex(unsigned short codePage) で行えます。

ushort_td convertFileNum

don't use. BizStation internal use only.

ushort_td ddfid

DDFのフィールド番号を取得・設定します。 transactdでは使用しません。

ushort_td fieldCount

フィールド数を取得・設定します。

fielddef * fieldDefs

フィールド定義の先頭へのポインタを取得・設定します。

ushort_td fixedRecordLen

テーブルの固定長部分の長さを取得・設定します。

FLAGS flags

ファイルフラグを取得・設定します。 PSQLのテーブルを作成する場合詳しい情報はPSQLのマニュアルを参照してください。
transactdの場合は以下の値を使用できます。

  • bit0 = 1 可変長テーブル
  • bit3 = 1 データ圧縮
  • その他 未使用
    可変長テーブルの指定は、PSQL互換の可変長テーブルテーブルを作成したい場合のみ使用します。 その場合、フィールドの最後はft_varbinary型にします。また、可変長のフィールドはそれのみで それ以外は固定長のフィールドでなければなりません。
    データ圧縮は、SQLのcreate文でROW_FORMAT=COMPRESSEDを指定するのと等価です。圧縮を有効にするには my.cnfまたはmy.iniでinnodb_file_format = Barracudaとinnodb_file_per_tableが指定されている必要があります。
uchar_td iconIndex

don't use. BizStation internal use only.

uchar_td iconIndex2

don't use. BizStation internal use only.

uchar_td iconIndex3

don't use. BizStation internal use only.

ushort_td id

テーブル番号を取得・設定します。

uchar_td keyCount

インデックス数を取得・設定します。

keydef * keyDefs

キー定義の先頭へのポインタを取得・設定します。

FLAGS optionFlags

don't use. BizStation internal use only.

ushort_td pageSize

ページサイズを取得・設定します。 transactdではこの値は無効です。

uchar_td parentKeyNum

don't use. BizStation internal use only.

ushort_td preAlloc

プリアロケートページ数を取得・設定します。 transactdではこの値は無効です。

uchar_td primaryKeyNum

プライマリキーのキー番号を取得・設定します。

uchar_td replicaKeyNum

don't use. BizStation internal use only.

uint_td schemaCodePage

このスキーマで使用される、コードページが何であるかを取得・設定します。
デフォルトはコンストラクタで65001(utf8) で設定されます。
この変数はあくまでも、スキーマ内の文字列の文字コードが何であるかを示すだけです。 この値を変更しても実際の文字列の文字コードが変換されることはありません。

uchar_td treeIndex

don't use. BizStation internal use only.

ushort_td varSize

このテーブル定義のこのフィールド以降の長さを示します。テーブル定義の全長は varSize + 4です。通常この値は内部で使用されます。 transactd以外ではこの値は無効です。

short version

テーブル定義のバージョンを取得・設定します。 この値はシステムにより使用されます。変更は行わないでください。

Transactd SDK 2018年07月31日(火) 19時40分30秒 doxygen