このページを編集する際は、編集に関する方針に従ってください。
概要 †
- データ型TupleDescを、以下のメンバを持つ構造体として定義。
- nattsを、intとして定義。
- attrsを、以下のメンバを持つ構造体Form_pg_attributeへのポインタとして定義。
- attrelidを、Oid(unsigned intの別名)として定義。
- attnameを、以下のメンバを持つ構造体NameDataとして定義。
- dataを、サイズNAMEDATALENのchar配列として定義。
- alignmentDummyを、intとして定義。
- atttypidを、Oid(unsigned intの別名)として定義。
- attstattargetを、int4(int32(signed int)の別名)として定義。
- attlenを、int2(int16(signed short)の別名)として定義。
- attnumを、int2(int16(signed short)の別名)として定義。
- attndimsを、int4(int32(signed int)の別名)として定義。
- attcacheoffを、int4(int32(signed int)の別名)として定義。
- atttypmodを、int4(int32(signed int)の別名)として定義。
- attbyvalを、bool(charの別名)として定義。
- attstorageを、charとして定義。
- attalignを、charとして定義。
- attnotnullを、bool(charの別名)として定義。
- atthasdefを、bool(charの別名)として定義。
- attisdroppedを、bool(charの別名)として定義。
- attislocalを、bool(charの別名)として定義。
- attinhcountを、int4(int32(signed int)の別名)として定義。
- constrを、TupleConstrへのポインタとして定義。
- defvalを、以下のメンバを持つ構造体AttrDefaultへのポインタとして定義。
- adnumを、AttrNumber(int16(signed shortの別名)の別名))として定義。
- adbinを、charへのポインタとして定義。
- checkを、以下のメンバを持つ構造体ConstrCheckへのポインタとして定義。
- ccnameを、charへのポインタとして定義。
- ccbinを、charへのポインタとして定義。
- num_defvalを、uint16(unsigned shortの別名)として定義。
- num_checkを、uint16(unsigned shortの別名)として定義。
- has_not_nullを、bool(charの別名)として定義。
- tdtypeidを、Oid(unsigned intの別名)として定義。
- tdtypmodを、int32(signed intの別名)として定義。
- tdhasoidを、bool(charの別名)として定義。
実装 †
typedef struct tupleDesc
{
int natts; /* number of attributes in the tuple */
Form_pg_attribute *attrs;
/* attrs[N] is a pointer to the description of Attribute Number N+1 */
- 以下のメンバを持つ構造体FormData_pg_attributeへのポインタ。詳細はForm_pg_attribute/postgresql-8.1.4参照。
- attrelidを、Oid(unsigned intの別名)として定義。
- attnameを、以下のメンバを持つ構造体NameDataとして定義。
- dataを、サイズNAMEDATALENのchar配列として定義。
- alignmentDummyを、intとして定義。
- atttypidを、Oid(unsigned intの別名)として定義。
- attstattargetを、int4(int32(signed int)の別名)として定義。
- attlenを、int2(int16(signed short)の別名)として定義。
- attnumを、int2(int16(signed short)の別名)として定義。
- attndimsを、int4(int32(signed int)の別名)として定義。
- attcacheoffを、int4(int32(signed int)の別名)として定義。
- atttypmodを、int4(int32(signed int)の別名)として定義。
- attbyvalを、bool(charの別名)として定義。
- attstorageを、charとして定義。
- attalignを、charとして定義。
- attnotnullを、bool(charの別名)として定義。
- atthasdefを、bool(charの別名)として定義。
- attisdroppedを、bool(charの別名)として定義。
- attislocalを、bool(charの別名)として定義。
- attinhcountを、int4(int32(signed int)の別名)として定義。
TupleConstr *constr; /* constraints, or NULL if none */
- 以下のメンバを持つ構造体。詳細はTupleConstr/postgresql-8.1.4参照。
- defvalを、以下のメンバを持つ構造体AttrDefaultへのポインタとして定義。
- adnumを、AttrNumber(int16(signed shortの別名)の別名))として定義。
- adbinを、charへのポインタとして定義。
- checkを、以下のメンバを持つ構造体ConstrCheckへのポインタとして定義。
- ccnameを、charへのポインタとして定義。
- ccbinを、charへのポインタとして定義。
- num_defvalを、uint16(unsigned shortの別名)として定義。
- num_checkを、uint16(unsigned shortの別名)として定義。
- has_not_nullを、bool(charの別名)として定義。
Oid tdtypeid; /* composite type ID for tuple type */
int32 tdtypmod; /* typmod for tuple type */
bool tdhasoid; /* tuple has oid attribute in its header */
} *TupleDesc;
履歴 †
コメント †