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

*概要 [#s51b00d5]
-対象:8.1.4
-言語:C
-宣言・定義:[[postgresql-8.1.4/src/include/nodes/memnodes.h]]

-下記メンバを持つ構造体。
--NodeTag列挙型の変数type
--下記メンバを持つ構造体型MemoryContextMethodsへのポインタmethods
---void*型の関数ポインタalloc
---void型の関数ポインタfree_p
---void*型の関数ポインタrealloc
---void型の関数ポインタinit
---void型の関数ポインタreset
---void型の関数ポインタdelete
---Size型の関数ポインタget_chunk_space
---bool型の関数ポインタis_empty
---void型の関数ポインタstats
---void型の関数ポインタcheck
--MemoryContextDataへのポインタparent(再帰的使用)
--MemoryContextDataへのポインタfirstchild(再帰的使用)
--MemoryContextDataへのポインタnextchild(再帰的使用)
--char型へのポインタname

*実装 [#e661f607]

typedef struct MemoryContextData
{
	NodeTag		type;			/* identifies exact kind of context */
-[[NodeTag/postgresql-8.1.4]] -- 列挙型(定義している定数は多数のため省略するので、リンク先を参照のこと)。

	MemoryContextMethods *methods;		/* virtual function table */
-[[MemoryContextMethods/postgresql-8.1.4]] -- 下記メンバを持つ構造体。
--void*型の関数ポインタalloc
--void型の関数ポインタfree_p
--void*型の関数ポインタrealloc
--void型の関数ポインタinit
--void型の関数ポインタreset
--void型の関数ポインタdelete
--Size型の関数ポインタget_chunk_space
--bool型の関数ポインタis_empty
--void型の関数ポインタstats
--void型の関数ポインタcheck

	MemoryContext parent;		/* NULL if no parent (toplevel context) */
-[[MemoryContext/postgresql-8.1.4]] -- MemoryContextDataへのポインタ(再帰的使用)

	MemoryContext firstchild;	/* head of linked list of children */
-[[MemoryContext/postgresql-8.1.4]] -- MemoryContextDataへのポインタ(再帰的使用)

	MemoryContext nextchild;	/* next child of same parent */
-[[MemoryContext/postgresql-8.1.4]] -- MemoryContextDataへのポインタ(再帰的使用)

	char	   *name;			/* context name (just for debugging) */
} MemoryContextData;

*呼出元 [#h851fcdd]

-[[MemoryContext/postgresql-8.1.4]]

*備考 [#jc89c565]

/* utils/palloc.h contains typedef struct MemoryContextData *MemoryContext */

-[[再帰呼び出し①/解読日記]]参照

*履歴 [#f1fff137]
-作者:[[testnoda/ページ作者]]
-日付:????/?/?
-日付:2007/2/25
|更新日|更新者|更新内容|
||||

*コメント [#yd844d8e]
#comment

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