このページを編集する際は、[[編集に関する方針]]に従ってください。
*概要 [#j424c23e]
-対象:8.1.4
-言語:C
-宣言・定義:[[postgresql-8.1.4/src/include/utils/palloc.h]] -- __GNUC__ が定義されている場合。
-宣言:[[postgresql-8.1.4/src/include/utils/palloc.h]] -- __GNUC__ が定義されていない場合。extern宣言。
-定義:[[postgresql-8.1.4/src/backend/utils/mmgr/mcxt.c]]
** __GNUC__ が定義されている場合([[postgresql-8.1.4/src/include/utils/palloc.h]]) [#i0c84595]
-引数 context の値を、グローバル変数 [[CurrentMemoryContext/postgresql-8.1.4]] に代入して、代入前に入っていた値を戻り値として返す。
-inline関数として実装する。
** 上記以外([[postgresql-8.1.4/src/backend/utils/mmgr/mcxt.c]]) [#b44a77be]
-(USE_ASSERT_CHECKINGを指定したバイナリの場合)assert_enabledが0以外、かつ、ポインタcontextを構造体[[Node/postgresql-8.1.4]]型のポインタにキャストしたときにtypeメンバに相当する値が、T_AllocSetContextでない時、エラー情報を出力してプログラムを停止する。
-引数 context の値を、グローバル変数 [[CurrentMemoryContext/postgresql-8.1.4]] に代入して、代入前に入っていた値を戻り値として返す。
*引数 [#p0e7b8db]
-context -- グローバル変数 [[CurrentMemoryContext/postgresql-8.1.4]] に代入する変数
*実装 [#d46da3f9]
** __GNUC__ が定義されている場合([[postgresql-8.1.4/src/include/utils/palloc.h]]) [#h2ade277]
static __inline__ MemoryContext
MemoryContextSwitchTo(MemoryContext context)
-[[MemoryContext/postgresql-8.1.4]] -- 下記メンバを持つ構造体へのポインタ型。
--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
{
MemoryContext old = CurrentMemoryContext;
-[[MemoryContext/postgresql-8.1.4]] -- 上記参照。
-[[CurrentMemoryContext/postgresql-8.1.4]] -- [[MemoryContext/postgresql-8.1.4]](上記参照)のグローバル変数。
CurrentMemoryContext = context;
-[[CurrentMemoryContext/postgresql-8.1.4]] -- 上記参照。
return old;
}
** 上記以外([[postgresql-8.1.4/src/backend/utils/mmgr/mcxt.c]]) [#d45bc531]
MemoryContext
MemoryContextSwitchTo(MemoryContext context)
-[[MemoryContext/postgresql-8.1.4]] -- 下記メンバを持つ構造体へのポインタ型。
--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
{
MemoryContext old;
-[[MemoryContext/postgresql-8.1.4]] -- 上記参照。
AssertArg(MemoryContextIsValid(context));
-[[AssertArg()/postgresql-8.1.4]] -- (USE_ASSERT_CHECKINGを指定したバイナリの場合)assert_enabledが0以外、かつ、評価式MemoryContextIsValid(context)の結果が0である時、エラー情報を出力してプログラムを停止する。
-[[MemoryContextIsValid()/postgresql-8.1.4]] -- ポインタcontextを構造体[[Node/postgresql-8.1.4]]型のポインタにキャストしたときにtypeメンバに相当する値が、T_AllocSetContextであるかどうか判別する。
old = CurrentMemoryContext;
-[[CurrentMemoryContext/postgresql-8.1.4]] -- [[MemoryContext/postgresql-8.1.4]](上記参照)のグローバル変数。
CurrentMemoryContext = context;
-[[CurrentMemoryContext/postgresql-8.1.4]] -- 上記参照。
return old;
}
*呼出元 [#wbe05d6c]
-[[errmsg_internal()/postgresql-8.1.4]]
*備考 [#p4eedf70]
/*
* MemoryContextSwitchTo can't be a macro in standard C compilers.
* But we can make it an inline function when using GCC.
*/
*履歴 [#a599acbe]
-作者:[[testnoda/ページ作者]]
-日付:2007/3/31
|更新日|更新者|更新内容|
||||
*コメント [#r6f51030]
- q7Kktk http://www.FyLitCl7Pf7ojQdDUOLQOuaxTXbj5iNG.com -- [[Barnypok]] &new{2017-01-02 (月) 17:36:07};
- fMHCE6 http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com -- [[chaba]] &new{2017-01-30 (月) 00:19:58};
- 3vXdLf http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com -- [[matt]] &new{2017-01-30 (月) 00:21:55};
- iXYW3k http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com -- [[gordon]] &new{2017-02-01 (水) 02:39:17};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:27:28};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:27:28};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:27:38};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:27:38};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:27:39};
- ' -- &new{2018-09-06 (木) 10:27:39};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:27:45};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:27:45};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:27:46};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:27:46};
- ,00 -- [[w3bSc9n]] &new{2018-09-06 (木) 10:27:46};
- w3bSc9n -- [[,00]] &new{2018-09-06 (木) 10:27:46};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:27:46};
- c:\ -- &new{2018-09-06 (木) 10:27:48};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:27:54};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:27:54};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:27:54};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:27:54};
- %u0027 -- [[w3bSc9n]] &new{2018-09-06 (木) 10:27:55};
- w3bSc9n -- [[%u0027]] &new{2018-09-06 (木) 10:27:55};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:27:55};
- http://www.google.com -- &new{2018-09-06 (木) 10:27:57};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:05};
- wsng;SELECT SLEEP(5);-- -- &new{2018-09-06 (木) 10:28:06};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:12};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:12};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:13};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:14};
- c:\Windows\Win.ini -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:21};
- w3bSc9n -- [[c:\Windows\Win.ini]] &new{2018-09-06 (木) 10:28:21};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:22};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:24};
- 26ping -n 5 8.8.8.8& -- &new{2018-09-06 (木) 10:28:26};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:40};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:40};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:41};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:42};
- ' -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:42};
- w3bSc9n -- [[ ']] &new{2018-09-06 (木) 10:28:42};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:44};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:46};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:46};
- htTps://www.google.com -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:47};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:47};
- w3bSc9n -- [[htTps://www.google.com]] &new{2018-09-06 (木) 10:28:48};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:50};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:51};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:51};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:52};
- c:\boot.ini -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:53};
- w3bSc9n -- [[c:\boot.ini]] &new{2018-09-06 (木) 10:28:53};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:53};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:28:55};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:02};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:03};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:03};
- ) -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:03};
- w3bSc9n -- [[)]] &new{2018-09-06 (木) 10:29:04};
- w3bSc9n -- [[ | Dir c:\]] &new{2018-09-06 (木) 10:29:08};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:09};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:10};
- www.google.com -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:11};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:11};
- w3bSc9n -- [[www.google.com]] &new{2018-09-06 (木) 10:29:12};
- |echo $((99333685+99333685))||a -- &new{2018-09-06 (木) 10:29:13};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:26};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:32};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:34};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:36};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:36};
- | Dir c:\ -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:39};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:40};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:41};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:42};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:43};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:44};
- \" -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:45};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:45};
- w3bSc9n -- [[\"]] &new{2018-09-06 (木) 10:29:45};
- w3bSc9n -- [[d:\]] &new{2018-09-06 (木) 10:29:46};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:46};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:47};
- htTp://www.google.com -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:47};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:47};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:58};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:58};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:59};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:29:58};
- d:\ -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:00};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:01};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:02};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:02};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:04};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:06};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:06};
- [ -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:06};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:06};
- w3bSc9n -- [[[]] &new{2018-09-06 (木) 10:30:06};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:07};
- w3bSc9n -- [[e:\]] &new{2018-09-06 (木) 10:30:07};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:07};
- w3bSc9n -- [[511072021]] &new{2018-09-06 (木) 10:30:07};
- 617110062 -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:08};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:08};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:09};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:10};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:13};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:13};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:14};
- 268435455 -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:14};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:14};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:14};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:15};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:15};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:15};
- e:\ -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:15};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:16};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:16};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:21};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:22};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:22};
- w3bSc9n -- [[268435455]] &new{2018-09-06 (木) 10:30:22};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:23};
-- 268435455 -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:23};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:23};
- w3bSc9n -- [[file://c/]] &new{2018-09-06 (木) 10:30:24};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:24};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:24};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:25};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:25};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:25};
- '217094770 -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:25};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:25};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:30};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:30};
- w3bSc9n -- [[-268435455]] &new{2018-09-06 (木) 10:30:31};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:32};
- file://c/ -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:32};
- w3bSc9n -- [['759170371]] &new{2018-09-06 (木) 10:30:34};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:35};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:35};
- \' -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:36};
- w3bSc9n -- [[foo/../$value]] &new{2018-09-06 (木) 10:30:36};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:36};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:37};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:40};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:40};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:40};
- w3bSc9n -- [[w3bSc9n]] &new{2018-09-06 (木) 10:30:40};
- \'\");|]*{<