このページを編集する際は、[[編集に関する方針]]に従ってください。

*概要 [#yfd2da45]
-対象:8.1.4
-言語:C
-[[postgresql-8.1.4/src/include/access/tupdesc.h]]にて定義

-データ型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の別名)として定義。

*実装 [#n971767f]

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 */
-unsigned intの別名。詳細は[[Oid/postgresql-8.1.4]]参照。

	int32		tdtypmod;		/* typmod for tuple type */
-signed intの別名。詳細は[[int32/postgresql-8.1.4]]参照。

	bool		tdhasoid;		/* tuple has oid attribute in its header */
-charの別名。詳細は[[bool/postgresql-8.1.4]]参照。

}	*TupleDesc;

*呼出元 [#o2156e7a]

-[[heap_compute_data_size()/postgresql-8.1.4]]

*備考 [#s7ae4dd9]

*履歴 [#b5aa1bd1]
-作者:[[testnoda/ページ作者]]
-日付:2006/9/3
|更新日|更新者|更新内容|
||||

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS