Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
ba4d223c
G
Gpdb
项目概览
Greenplum
/
Gpdb
通知
7
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Gpdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ba4d223c
编写于
8月 02, 2001
作者:
T
Tom Lane
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Tweak memory context sizing for saved SPI plans.
上级
ecaa2e01
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
27 addition
and
20 deletion
+27
-20
src/backend/executor/spi.c
src/backend/executor/spi.c
+27
-20
未找到文件。
src/backend/executor/spi.c
浏览文件 @
ba4d223c
...
...
@@ -3,13 +3,21 @@
* spi.c
* Server Programming Interface
*
* $Header: /cvsroot/pgsql/src/backend/executor/spi.c,v 1.55 2001/06/01 19:43:55 tgl Exp $
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/executor/spi.c,v 1.56 2001/08/02 16:05:23 tgl Exp $
*
*-------------------------------------------------------------------------
*/
#include "executor/spi_priv.h"
#include "postgres.h"
#include "access/printtup.h"
#include "commands/command.h"
#include "executor/spi_priv.h"
uint32
SPI_processed
=
0
;
Oid
SPI_lastoid
=
InvalidOid
;
...
...
@@ -786,10 +794,10 @@ spi_printtup(HeapTuple tuple, TupleDesc tupdesc, DestReceiver *self)
if
(
tuptable
==
NULL
)
{
tuptabcxt
=
AllocSetContextCreate
(
CurrentMemoryContext
,
"SPI TupTable"
,
ALLOCSET_DEFAULT_MINSIZE
,
ALLOCSET_DEFAULT_INITSIZE
,
ALLOCSET_DEFAULT_MAXSIZE
);
"SPI TupTable"
,
ALLOCSET_DEFAULT_MINSIZE
,
ALLOCSET_DEFAULT_INITSIZE
,
ALLOCSET_DEFAULT_MAXSIZE
);
MemoryContextSwitchTo
(
tuptabcxt
);
_SPI_current
->
tuptable
=
tuptable
=
(
SPITupleTable
*
)
...
...
@@ -1253,29 +1261,28 @@ _SPI_copy_plan(_SPI_plan *plan, int location)
_SPI_plan
*
newplan
;
MemoryContext
oldcxt
;
MemoryContext
plancxt
;
MemoryContext
parentcxt
=
CurrentMemoryContext
;
MemoryContext
parentcxt
;
/* Determine correct parent for the plans memory context */
/* Determine correct parent for the plan
'
s memory context */
if
(
location
==
_SPI_CPLAN_PROCXT
)
parentcxt
=
_SPI_current
->
procCxt
;
/*
oldcxt = MemoryContextSwitchTo(_SPI_current->procCxt);
*/
else
if
(
location
==
_SPI_CPLAN_TOPCXT
)
parentcxt
=
TopMemoryContext
;
/*
oldcxt = MemoryContextSwitchTo(TopMemoryContext);
*/
else
parentcxt
=
CurrentMemoryContext
;
/* Create a memory context for the plan */
/*
* Create a memory context for the plan. We don't expect the plan to
* be very large, so use smaller-than-default alloc parameters.
*/
plancxt
=
AllocSetContextCreate
(
parentcxt
,
"SPI Plan"
,
ALLOCSET_DEFAULT_MINSIZE
,
ALLOCSET_DEFAULT_INITSIZE
,
ALLOCSET_DEFAULT_MAXSIZE
);
"SPI Plan"
,
1024
,
1024
,
ALLOCSET_DEFAULT_MAXSIZE
);
oldcxt
=
MemoryContextSwitchTo
(
plancxt
);
/* Copy the SPI plan into it
'
s own context */
/* Copy the SPI plan into its own context */
newplan
=
(
_SPI_plan
*
)
palloc
(
sizeof
(
_SPI_plan
));
newplan
->
plancxt
=
plancxt
;
newplan
->
qtlist
=
(
List
*
)
copyObject
(
plan
->
qtlist
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录