フィールド定義構造体 [詳解]
#include <tdapSchema.h>
公開メンバ関数 | |
int | align () const |
uint_td | blobLenBytes () const |
const char * | chainChar () const |
unsigned int | charNum () const |
uchar_td | charsetIndex () const |
unsigned int | codePage () const |
double | defaultValue () const |
__int64 | defaultValue64 () const |
const char * | defaultValue_str () const |
bool | isBlob () const |
bool | isDateTimeType () const |
bool | isDefaultNull () const |
bool | isIntegerType () const |
bool | isLegacyTimeFormat () const |
bool | isNullable () const |
bool | isNullKeysegType () const |
bool | isNumericType () const |
bool | isPadCharType () const |
bool | isStringType () const |
bool | isTimeStampOnUpdate () const |
bool | isTrimPadChar () const |
bool | isUsePadChar () const |
bool | isValidCharNum () const |
const char * | name () const |
const char * | name (char *buf) const |
const char * | nameA () const |
bool | operator== (const fielddef &r) const |
void | setChainChar (const char *s) |
void | setCharsetIndex (uchar_td index) |
void | setDecimalDigits (int dig, int dec) |
void | setDefaultValue (const char *s) |
void | setDefaultValue (__int64 v) |
void | setDefaultValue (double v) |
void | setDefaultValue (const bitset &v) |
void | setLenByCharnum (ushort_td charnum) |
void | setName (const char *s) |
void | setNameA (const char *s) |
void | setNullable (bool v, bool defaultNull=true) |
void | setPadCharSettings (bool set, bool trim) |
void | setTimeStampOnUpdate (bool v) |
const _TCHAR * | typeName () const |
uint_td | varLenBytes () const |
基底クラス fielddef_t< N > に属する継承公開メンバ関数 | |
void | setSchemaCodePage (uint_td v) |
その他の継承メンバ | |
基底クラス fielddef_t< N > に属する継承公開変数類 | |
union { | |
ushort_td ddfid | |
ushort_td digits | |
}; | |
uchar_td | decimals |
FLAGS | enableFlags |
ushort_td | filterId |
uchar_td | filterKeynum |
ushort_td | keylen |
ushort_td | len |
uchar_td | lookDBNum |
uchar_td | lookField |
uchar_td | lookFields [3] |
uchar_td | lookTable |
double | max |
double | min |
uchar_td | nullValue |
ushort_td | pos |
uchar_td | type |
ushort_td | userOption |
char | viewNum |
ushort_td | viewWidth |
基底クラス fielddef_t< N > に属する継承限定公開変数類 | |
char | m_chainChar [2] |
uchar_td | m_charsetIndex |
char | m_defValue [DEFAULT_VALUE_SIZE] |
char | m_name [N] |
uchar_td | m_nullbit |
uchar_td | m_nullbytes |
uchar_td | m_options |
uchar_td | m_padCharOptions |
ushort_td | m_schemaCodePage |
フィールド定義構造体
|
inline |
フィールドタイプの表示上のアライメントを返します。
|
inline |
BLOB型の内容の長さを示す領域のサイズをバイト数で返します。 BLOB型で無い場合は0を返します。
const char * chainChar | ( | ) | const |
don't use. BizStation internal use only.
マルチバイトコンパイル時のみ
unsigned int charNum | ( | ) | const |
フィールドの最大文字数を返します。 文字数の計算はlenをcharsetIndexで指定された文字コードの1文字当たりのバイト数で割った値です。 フィールドがchar型とvarchar型以外の時は、lenをそのまま返します。
|
inline |
指定されたキャラクターセットをインデックス番号で返します。
|
inline |
このフィールドのコードページを返します。
|
inline |
setDefaultValue() で指定した値をdouble型に変換して返します。
const __int64 defaultValue64 | ( | ) | const |
setDefaultValue() で指定した値を__int64型に変換して返します。
|
inline |
setDefaultValue() で指定したフィールドのデフォルト値を文字列で取得します。
ft_mytimestamp と ft_mydatetime 型で DFV_TIMESTAMP_DEFAULTが指定されていた場合は、 "CURRENT_TIMESTAMP(N)"の文字列を返します。Nは小数点の桁数が入ります。
setDefaultValue() で指定したフィールドのデフォルト値をワイド文字列で取得します。
ft_mytimestamp と ft_mydatetime 型で DFV_TIMESTAMP_DEFAULTが指定されていた場合は、 L"1"の文字列を返します。
|
inline |
フィールドがft_myblobまはたft_mytextかどうかを返します。
|
inline |
日付けや時刻を保持するフィールドタイプかどうかを返します。
|
inline |
setNullable() で指定したデフォルト値がNULLであるかどうかを返します。
|
inline |
フィールドが整数を返すタイプかどうかを返します。
|
inline |
このフィールドのタイプが ft_mytime ft_mydatetime ft_mytimestampのいずれかで且つ MySQL 5.5形式の秒以下の小数点を持たない形式の内部フォーマットかどうかを返します。
|
inline |
NULLを許可するフィールドかどうかを返します。
|
inline |
|
inline |
フィールドが数値(通貨も含む)を返すタイプかどうかを返します。
|
inline |
空白などで余白が埋められるフィールドタイプかどうかを返します。
|
inline |
フィールドが文字列を保持するタイプかどうかを返します。 string char blob text noteなどはstring typeです。
|
inline |
setTimeStampOnUpdate() で指定した値を返します。
|
inline |
ft_string ft_wstringフィールドタイプの値の取得時に、空白を自動で取り除いて返すかどうかを返します。
|
inline |
ft_string ft_wstringフィールドタイプの値の設定において、文字列の長さがフィールド長より短い場合、余剰部分を空白で埋めるかかどうかを返します。
bool isValidCharNum | ( | ) | const |
MySQLのchar型においてフィールド長 (len)が、1文字のバイト数の整数倍であるかどうかを返します。 MySQLのchar型 (CHAR VARCHAR)のフィールド長は、1文字のバイト数の整数倍でなければなりません。
const char * name | ( | ) | const |
フィールド名を返します。
UNICODEコンパイル時のみ
フィールド名を取得します。 マルチバイトコンパイル時のみ
const char * name | ( | char * | buf | ) | const |
bufで指定したバッファにフィールド名をコピーして返します。 bufのサイズはMYSQL_FDNAME_SIZE + 1以上でなければなりません。
|
inline |
フィールド名を取得します。
void operator== | ( | const fielddef & | r | ) | const |
rで指定したfielddefと同じかどうかを返します。 比較は、サーバーなどの条件によって動的に変化するメンバーが除外されます。
r | 比較するfielddefのポインタを指定します。 |
void setChainChar | ( | const char * | s | ) |
don't use. BizStation internal use only.
UNICODEコンパイル時のみ
don't use. BizStation internal use only.
マルチバイトコンパイル時のみ
|
inline |
キャラクターセットをインデックス番号で指定します。 何も指定しないかった場合は、テーブルに設定されたキャラクターセットがコピーされます。 コードページからインデックスへの変換は mysql::charsetIndex(unsigned short codePage) で行えます。
void setDecimalDigits | ( | int | dig, |
int | dec | ||
) |
フィールドタイプがft_mydecimal型の場合に、digとdecで指定した値から計算して len digits decimals の3つの値をセットします。
dig | 総桁数を指定します。桁数には、マイナス符号と小数点ピリオドは含みません。最大65まで指定できます。 |
dec | 小数点以下の桁数を指定します。最大30まで指定できます。 |
|
inline |
フィールドのデフォルト値をsで指定した文字列で設定します。同時にNULLを許可するフィールドの場合 非デフォルトNULLとマークします。
このフィールドタイプが文字列型でない場合は、__int64型またはdouble型に変換されて保存されます。
文字列型の場合は終端NULLも含め8バイトまで保存されます。それより長い場合は切り捨てられます。
ft_mytimestamp と ft_mydatetime 型ではレコードの挿入時タイムスタンプを記録する特殊なデフォルト値 DFV_TIMESTAMP_DEFAULT = 1 を指定できます。この値は、SQL文の DEFAULT CURRENT_TIMESTAMP と同じ意味です。
NULLを許可するフィールドで、非デフォルトNULLで有効なデフォルト値を指定しなかった場合、 テーブルを作成する際のデフォルト値は以下のようになります。
|
inline |
フィールドのデフォルト値をvで指定した__int64値で設定します。整数型の type でない場合は double型または文字列に変換されて保存されます
__int64型で値を指定する以外は setDefaultValue(const char* s) と同様です。
void setDefaultValue | ( | double | v | ) |
フィールドのデフォルト値をvで指定したdouble値で設定します。小数点を持つ type でない場合は __int64型または文字列に変換されて保存されます
double型で値を指定する以外は setDefaultValue(const char* s) と同様です。
|
inline |
フィールドのデフォルト値を指定したbitsetの内部に持つ__int64値で設定します。 type がbit型でない場合は 適切な型に変換されて保存されます
bitset型で値を指定する以外は setDefaultValue(const char* s) と同様です。
|
inline |
フィールドタイプがft_mychar ft_myvarchar ft_mywchar ft_mywvarchar型 の場合に、charnumで指定した文字数から、 setCharsetIndex()で指定された文字コード を使って、 len を計算してセットします。 前記以外のフィールドタイプの場合は、lenにcharnumをそのままセットします。
void setName | ( | const char * | s | ) |
フィールド名をセットします。
UNICODEコンパイル時のみ
フィールド名をセットします。
マルチバイトコンパイル時のみ
|
inline |
フィールド名をセットします。
|
inline |
NULLを許可するフィールドかどうかを指定します。
v | NULLを許可するフィールドかどうかを指定します。 |
defaultNull | NULLを許可する場合にデフォルト値をNULLにするかどうかを指定します。非NULLの場合はこの値は無視されます。 |
|
inline |
ft_string ft_wstringフィールドタイプにおいて空白のセットと取り除きについて設定します。
set | 値の設定時に文字列の長さがフィールド長より短い場合、余剰部分を空白で埋めるかかどうかを返します。 trueの場合空白で埋めます。falseの場合は特別な処理は行いません。 |
trim | 値の取得時に空白を自動で取り除いて返すかどうかを指定します。 |
|
inline |
フィールドの型が ft_mytimestamp または ft_datetime 型の場合に、値の更新時にその時の日時(タイムスタンプ)を記録するかどうかを指定します。
|
inline |
フィールドタイプの名前を取得します。
|
inline |
文字列型の文字列長を示す領域のサイズをバイト数で返します。 可変長で無い場合は0を返します。