Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
13910988
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,发现更多精彩内容 >>
提交
13910988
编写于
7月 07, 1999
作者:
B
Bruce Momjian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix misspelling.
上级
ab1b88fd
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
26 addition
and
16 deletion
+26
-16
doc/TODO
doc/TODO
+13
-3
src/backend/commands/variable.c
src/backend/commands/variable.c
+5
-5
src/backend/optimizer/path/costsize.c
src/backend/optimizer/path/costsize.c
+8
-8
未找到文件。
doc/TODO
浏览文件 @
13910988
...
...
@@ -114,7 +114,7 @@ COMMANDS
* Allow CLUSTER on all tables at once, and improve CLUSTER
* Generate error on CREATE OPERATOR of ~~, ~ and and ~*
* Add SIMILAR TO to allow character classes, 'pg_[a-c]%'
* Auto-destroy sequence on DROP of table with SERIAL
* Auto-destroy sequence on DROP of table with SERIAL
(Ryan)
* Allow LOCK TABLE tab1, tab2, tab3 so all tables locked in unison
* Allow INSERT/UPDATE of system-generated oid value for a row
* Allow ESCAPE '\' at the end of LIKE for ANSI compliance
...
...
@@ -135,7 +135,9 @@ CLIENTS
MISC
* Increase identifier length(NAMEDATALEN) if small performance hit
* Allow row re-use without vacuum, maybe?(Vadim)
* Allow row re-use without vacuum(Vadim)
* Create a background process for each database that runs while
database is idle, finding superceeded rows, gathering stats and vacuuming
* Add UNIQUE capability to non-btree indexes
* Certain indexes will not shrink, i.e. oid indexes with many inserts
* Restore unused oid's on backend exit if no one else has gotten oids
...
...
@@ -143,7 +145,8 @@ MISC
* Allow WHERE restriction on ctid
* Allow cursors to be DECLAREd/OPENed/CLOSEed outside transactions
* Allow PQrequestCancel() to terminate when in waiting-for-lock state
* Transaction log, so re-do log can be on a separate disk
* Transaction log, so re-do log can be on a separate disk by
logging SQL queries, or before/after row images
* Populate backend status area and write program to dump status data
* Make oid use unsigned int more reliably, pg_atoi()
* Allow subqueries in target list
...
...
@@ -177,6 +180,7 @@ INDEXES
* Allow LIMIT ability on single-table queries that have no ORDER BY to use
a matching index
* Improve LIMIT processing by using index to limit rows processed
* Have optimizer take LIMIT into account when considering index scans
CACHE
...
...
@@ -199,6 +203,11 @@ MISC
* Create more system table indexes for faster cache lookups
* Improve Subplan list handling
* Allow Subplans to use efficient joins(hash, merge) with upper variable
* use fmgr_info()/fmgr_faddr() instead of fmgr() calls in high-traffic
places, like GROUP BY, UNIQUE, index processing, etc.
* improve dynamic memory allocation by introducing tuple-context memory
allocation
* add pooled memory allocation where allocations are freed only as a group
SOURCE CODE
...
...
@@ -227,6 +236,7 @@ Developers who have claimed items are:
* Michael is Michael Meskes <meskes@postgresql.org>
* Oleg is Oleg Bartunov <oleg@sai.msu.su>
* Peter is Peter T Mount <peter@retep.org.uk>
* Ryan is Ryan Bradetich <rbrad@hpb50023.boi.hp.com>
* Stefan Simkovics <ssimkovi@rainbow.studorg.tuwien.ac.at>
* Tatsuo is Tatsuo Ishii <t-ishii@sra.co.jp>
* Tom is Tom Lane <tgl@sss.pgh.pa.us>
...
...
src/backend/commands/variable.c
浏览文件 @
13910988
...
...
@@ -2,7 +2,7 @@
* Routines for handling of 'SET var TO',
* 'SHOW var' and 'RESET var' statements.
*
* $Id: variable.c,v 1.2
1 1999/06/17 15:15:48
momjian Exp $
* $Id: variable.c,v 1.2
2 1999/07/07 09:11:13
momjian Exp $
*
*/
...
...
@@ -42,7 +42,7 @@ static bool show_XactIsoLevel(void);
static
bool
reset_XactIsoLevel
(
void
);
static
bool
parse_XactIsoLevel
(
const
char
*
);
extern
Cost
_cpu_page_wight_
;
extern
Cost
_cpu_page_w
e
ight_
;
extern
Cost
_cpu_index_page_wight_
;
extern
bool
_use_geqo_
;
extern
int32
_use_geqo_rels_
;
...
...
@@ -246,7 +246,7 @@ parse_cost_heap(const char *value)
}
res
=
float4in
((
char
*
)
value
);
_cpu_page_wight_
=
*
res
;
_cpu_page_w
e
ight_
=
*
res
;
return
TRUE
;
}
...
...
@@ -255,14 +255,14 @@ static bool
show_cost_heap
()
{
elog
(
NOTICE
,
"COST_HEAP is %f"
,
_cpu_page_wight_
);
elog
(
NOTICE
,
"COST_HEAP is %f"
,
_cpu_page_w
e
ight_
);
return
TRUE
;
}
static
bool
reset_cost_heap
()
{
_cpu_page_wight_
=
_CPU_PAGE_WEIGHT_
;
_cpu_page_w
e
ight_
=
_CPU_PAGE_WEIGHT_
;
return
TRUE
;
}
...
...
src/backend/optimizer/path/costsize.c
浏览文件 @
13910988
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/costsize.c,v 1.3
8 1999/05/25 22:41:27
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/costsize.c,v 1.3
9 1999/07/07 09:11:15
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -51,7 +51,7 @@ bool _enable_nestloop_ = true;
bool
_enable_mergejoin_
=
true
;
bool
_enable_hashjoin_
=
true
;
Cost
_cpu_page_wight_
=
_CPU_PAGE_WEIGHT_
;
Cost
_cpu_page_w
e
ight_
=
_CPU_PAGE_WEIGHT_
;
Cost
_cpu_index_page_wight_
=
_CPU_INDEX_PAGE_WEIGHT_
;
/*
...
...
@@ -93,7 +93,7 @@ cost_seqscan(int relid, int relpages, int reltuples)
else
{
temp
+=
relpages
;
temp
+=
_cpu_page_wight_
*
reltuples
;
temp
+=
_cpu_page_w
e
ight_
*
reltuples
;
}
Assert
(
temp
>=
0
);
return
temp
;
...
...
@@ -159,7 +159,7 @@ cost_index(Oid indexid,
temp
+=
_cpu_index_page_wight_
*
selec
*
indextuples
;
/* per heap tuples */
temp
+=
_cpu_page_wight_
*
selec
*
reltuples
;
temp
+=
_cpu_page_w
e
ight_
*
selec
*
reltuples
;
Assert
(
temp
>=
0
);
return
temp
;
...
...
@@ -213,7 +213,7 @@ cost_sort(List *pathkeys, int tuples, int width)
* could be base_log(tuples, NBuffers), but we are only doing 2-way
* merges
*/
temp
+=
_cpu_page_wight_
*
tuples
*
base_log
((
double
)
tuples
,
2
.
0
);
temp
+=
_cpu_page_w
e
ight_
*
tuples
*
base_log
((
double
)
tuples
,
2
.
0
);
Assert
(
temp
>
0
);
...
...
@@ -236,7 +236,7 @@ cost_result(int tuples, int width)
Cost
temp
=
0
;
temp
=
temp
+
page_size
(
tuples
,
width
);
temp
=
temp
+
_cpu_page_wight_
*
tuples
;
temp
=
temp
+
_cpu_page_w
e
ight_
*
tuples
;
Assert
(
temp
>=
0
);
return
temp
;
}
...
...
@@ -310,7 +310,7 @@ cost_mergejoin(Cost outercost,
temp
+=
cost_sort
(
outersortkeys
,
outersize
,
outerwidth
);
if
(
innersortkeys
)
/* do we need to sort? */
temp
+=
cost_sort
(
innersortkeys
,
innersize
,
innerwidth
);
temp
+=
_cpu_page_wight_
*
(
outersize
+
innersize
);
temp
+=
_cpu_page_w
e
ight_
*
(
outersize
+
innersize
);
Assert
(
temp
>=
0
);
...
...
@@ -361,7 +361,7 @@ cost_hashjoin(Cost outercost,
temp
+=
outercost
+
innercost
;
/* cost of computing hash function: must do it once per tuple */
temp
+=
_cpu_page_wight_
*
(
outersize
+
innersize
);
temp
+=
_cpu_page_w
e
ight_
*
(
outersize
+
innersize
);
/* cost of main-memory hashtable */
temp
+=
(
innerpages
<
NBuffers
)
?
innerpages
:
NBuffers
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录