このページを編集する際は、[[編集に関する方針]]に従ってください。 *概要 [#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