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

フィールド定義構造体 [詳解]

#include <tdapSchema.h>

+ fielddef の継承関係図

公開メンバ関数

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
 

詳解

フィールド定義構造体

関数詳解

int align ( ) const
inline

フィールドタイプの表示上のアライメントを返します。

戻り値
0 or 1 or 2 を返します。それぞれ左揃え、中央揃え、右揃えです。
uint_td blobLenBytes ( ) const
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をそのまま返します。

uchar_td charsetIndex ( ) const
inline

指定されたキャラクターセットをインデックス番号で返します。

unsigned int codePage ( ) const
inline

このフィールドのコードページを返します。

double defaultValue ( ) const
inline

setDefaultValue() で指定した値をdouble型に変換して返します。

const __int64 defaultValue64 ( ) const

setDefaultValue() で指定した値を__int64型に変換して返します。

const wchar_t * defaultValue_str ( ) const
inline

setDefaultValue() で指定したフィールドのデフォルト値を文字列で取得します。
ft_mytimestamp と ft_mydatetime 型で DFV_TIMESTAMP_DEFAULTが指定されていた場合は、 "CURRENT_TIMESTAMP(N)"の文字列を返します。Nは小数点の桁数が入ります。

setDefaultValue() で指定したフィールドのデフォルト値をワイド文字列で取得します。
ft_mytimestamp と ft_mydatetime 型で DFV_TIMESTAMP_DEFAULTが指定されていた場合は、 L"1"の文字列を返します。

bool isBlob ( ) const
inline

フィールドがft_myblobまはたft_mytextかどうかを返します。

bool isDateTimeType ( ) const
inline

日付けや時刻を保持するフィールドタイプかどうかを返します。

double isDefaultNull ( ) const
inline

setNullable() で指定したデフォルト値がNULLであるかどうかを返します。

bool isIntegerType ( ) const
inline

フィールドが整数を返すタイプかどうかを返します。

bool isLegacyTimeFormat ( ) const
inline

このフィールドのタイプが ft_mytime ft_mydatetime ft_mytimestampのいずれかで且つ MySQL 5.5形式の秒以下の小数点を持たない形式の内部フォーマットかどうかを返します。

注釈
この判定は、tabledef::setValidationTarget()で指定されたサーバーの種類とバージョンに基づきます。 既にこのフィールドを持つテーブルを開いている場合は、実際にアクセスしているサーバーの情報に基づきます。
bool isNullable ( ) const
inline

NULLを許可するフィールドかどうかを返します。

bool isNullKeysegType ( ) const
inline
bool isNumericType ( ) const
inline

フィールドが数値(通貨も含む)を返すタイプかどうかを返します。

bool isPadCharType ( ) const
inline

空白などで余白が埋められるフィールドタイプかどうかを返します。

bool isStringType ( ) const
inline

フィールドが文字列を保持するタイプかどうかを返します。 string char blob text noteなどはstring typeです。

bool isTimeStampOnUpdate ( ) const
inline

setTimeStampOnUpdate() で指定した値を返します。

bool isTrimPadChar ( ) const
inline

ft_string ft_wstringフィールドタイプの値の取得時に、空白を自動で取り除いて返すかどうかを返します。

bool isUsePadChar ( ) const
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以上でなければなりません。

const char * nameA ( ) const
inline

フィールド名を取得します。

void operator== ( const fielddef r) const

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

引数
r比較するfielddefのポインタを指定します。
戻り値
同じであればtrueを返します。
void setChainChar ( const char *  s)

don't use. BizStation internal use only.

UNICODEコンパイル時のみ

don't use. BizStation internal use only.

マルチバイトコンパイル時のみ

void setCharsetIndex ( uchar_td  index)
inline

キャラクターセットをインデックス番号で指定します。 何も指定しないかった場合は、テーブルに設定されたキャラクターセットがコピーされます。 コードページからインデックスへの変換は mysql::charsetIndex(unsigned short codePage) で行えます。

注釈
キャラクターセットはフィールドのタイプがUnicodeタイプでない場合にのみ有効です。 ft_wcharやft_mywvarchar ft_mywvarbinary など wが付加されたタイプでは無視されます。
Unicodeタイプの場合は、 charsetIndex の値にかかわらず utf16 として処理されます。
void setDecimalDigits ( int  dig,
int  dec 
)

フィールドタイプがft_mydecimal型の場合に、digとdecで指定した値から計算して len digits decimals の3つの値をセットします。

引数
dig総桁数を指定します。桁数には、マイナス符号と小数点ピリオドは含みません。最大65まで指定できます。
dec小数点以下の桁数を指定します。最大30まで指定できます。
注釈
type がft_mydecimal以外の場合、この関数は何の効果も持ちません。
void setDefaultValue ( const char *  s)
inline

フィールドのデフォルト値をsで指定した文字列で設定します。同時にNULLを許可するフィールドの場合 非デフォルトNULLとマークします。
このフィールドタイプが文字列型でない場合は、__int64型またはdouble型に変換されて保存されます。
文字列型の場合は終端NULLも含め8バイトまで保存されます。それより長い場合は切り捨てられます。
ft_mytimestamp と ft_mydatetime 型ではレコードの挿入時タイムスタンプを記録する特殊なデフォルト値 DFV_TIMESTAMP_DEFAULT = 1 を指定できます。この値は、SQL文の DEFAULT CURRENT_TIMESTAMP と同じ意味です。
NULLを許可するフィールドで、非デフォルトNULLで有効なデフォルト値を指定しなかった場合、 テーブルを作成する際のデフォルト値は以下のようになります。

  • 数値型 0
  • 文字列型 ""
  • ft_date "0000-00-00"
  • ft_mydate "0000-00-00"
  • ft_time "00:00:00"
  • ft_mytime "00:00:00"
  • ft_datetime "0000-00-00 00:00:00"
  • ft_mydatetime "0000-00-00 00:00:00"
  • ft_timestamp "0000-00-00 00:00:00"
  • ft_mytimestamp "0000-00-00 00:00:00"
注釈
ft_myblob ft_mytext型はMySQLの仕様上デフォルト値を指定できません。 これらの型で指定しても値は保存されません。
void setDefaultValue ( __int64  v)
inline

フィールドのデフォルト値をvで指定した__int64値で設定します。整数型の type でない場合は double型または文字列に変換されて保存されます
__int64型で値を指定する以外は setDefaultValue(const char* s) と同様です。

注釈
setDefaultValue(const char* s) にさらに詳しい説明があります。
void setDefaultValue ( double  v)

フィールドのデフォルト値をvで指定したdouble値で設定します。小数点を持つ type でない場合は __int64型または文字列に変換されて保存されます
double型で値を指定する以外は setDefaultValue(const char* s) と同様です。

注釈
setDefaultValue(const char* s) にさらに詳しい説明があります。
void setDefaultValue ( const bitset v)
inline

フィールドのデフォルト値を指定したbitsetの内部に持つ__int64値で設定します。 type がbit型でない場合は 適切な型に変換されて保存されます
bitset型で値を指定する以外は setDefaultValue(const char* s) と同様です。

注釈
setDefaultValue(const char* s) にさらに詳しい説明があります。
void setLenByCharnum ( ushort_td  charnum)
inline

フィールドタイプがft_mychar ft_myvarchar ft_mywchar ft_mywvarchar型 の場合に、charnumで指定した文字数から、 setCharsetIndex()で指定された文字コード を使って、 len を計算してセットします。 前記以外のフィールドタイプの場合は、lenにcharnumをそのままセットします。

void setName ( const char *  s)

フィールド名をセットします。

UNICODEコンパイル時のみ

フィールド名をセットします。

マルチバイトコンパイル時のみ

void setNameA ( const char *  s)
inline

フィールド名をセットします。

void setNullable ( bool  v,
bool  defaultNull = true 
)
inline

NULLを許可するフィールドかどうかを指定します。

引数
vNULLを許可するフィールドかどうかを指定します。
defaultNullNULLを許可する場合にデフォルト値をNULLにするかどうかを指定します。非NULLの場合はこの値は無視されます。
void setPadCharSettings ( bool  set,
bool  trim 
)
inline

ft_string ft_wstringフィールドタイプにおいて空白のセットと取り除きについて設定します。

引数
set値の設定時に文字列の長さがフィールド長より短い場合、余剰部分を空白で埋めるかかどうかを返します。 trueの場合空白で埋めます。falseの場合は特別な処理は行いません。
trim値の取得時に空白を自動で取り除いて返すかどうかを指定します。
void setTimeStampOnUpdate ( bool  v)
inline

フィールドの型が ft_mytimestamp または ft_datetime 型の場合に、値の更新時にその時の日時(タイムスタンプ)を記録するかどうかを指定します。

const _TCHAR * typeName ( ) const
inline

フィールドタイプの名前を取得します。

int varLenBytes ( ) const
inline

文字列型の文字列長を示す領域のサイズをバイト数で返します。 可変長で無い場合は0を返します。

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