Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
a17b01f3
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,发现更多精彩内容 >>
提交
a17b01f3
编写于
2月 18, 1997
作者:
B
Bruce Momjian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update btree patches that were missed.
上级
e230c0b6
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
68 addition
and
46 deletion
+68
-46
src/backend/access/nbtree/nbtree.c
src/backend/access/nbtree/nbtree.c
+1
-1
src/backend/access/nbtree/nbtscan.c
src/backend/access/nbtree/nbtscan.c
+61
-9
src/backend/access/nbtree/nbtsearch.c
src/backend/access/nbtree/nbtsearch.c
+2
-2
src/backend/postmaster/postmaster.c
src/backend/postmaster/postmaster.c
+1
-12
src/include/access/nbtree.h
src/include/access/nbtree.h
+2
-4
src/man/postmaster.1
src/man/postmaster.1
+1
-18
未找到文件。
src/backend/access/nbtree/nbtree.c
浏览文件 @
a17b01f3
...
...
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtree.c,v 1.1
3 1997/02/12 05:04:17 scrappy
Exp $
* $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtree.c,v 1.1
4 1997/02/18 17:13:42 momjian
Exp $
*
* NOTES
* This file contains only the public interface routines.
...
...
src/backend/access/nbtree/nbtscan.c
浏览文件 @
a17b01f3
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/nbtree/Attic/nbtscan.c,v 1.
6 1996/11/15 18:37:00
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/access/nbtree/Attic/nbtscan.c,v 1.
7 1997/02/18 17:13:45
momjian Exp $
*
*
* NOTES
...
...
@@ -40,7 +40,10 @@ typedef struct BTScanListData {
typedef
BTScanListData
*
BTScanList
;
static
BTScanList
BTScans
=
(
BTScanList
)
NULL
;
static
void
_bt_scandel
(
IndexScanDesc
scan
,
int
op
,
BlockNumber
blkno
,
OffsetNumber
offno
);
static
bool
_bt_scantouched
(
IndexScanDesc
scan
,
BlockNumber
blkno
,
OffsetNumber
offno
);
/*
* _bt_regscan() -- register a new scan.
*/
...
...
@@ -81,8 +84,12 @@ _bt_dropscan(IndexScanDesc scan)
pfree
(
chk
);
}
/*
* _bt_adjscans() -- adjust all scans in the scan list to compensate
* for a given deletion or insertion
*/
void
_bt_adjscans
(
Relation
rel
,
ItemPointer
tid
)
_bt_adjscans
(
Relation
rel
,
ItemPointer
tid
,
int
op
)
{
BTScanList
l
;
Oid
relid
;
...
...
@@ -90,13 +97,34 @@ _bt_adjscans(Relation rel, ItemPointer tid)
relid
=
rel
->
rd_id
;
for
(
l
=
BTScans
;
l
!=
(
BTScanList
)
NULL
;
l
=
l
->
btsl_next
)
{
if
(
relid
==
l
->
btsl_scan
->
relation
->
rd_id
)
_bt_scandel
(
l
->
btsl_scan
,
ItemPointerGetBlockNumber
(
tid
),
_bt_scandel
(
l
->
btsl_scan
,
op
,
ItemPointerGetBlockNumber
(
tid
),
ItemPointerGetOffsetNumber
(
tid
));
}
}
void
_bt_scandel
(
IndexScanDesc
scan
,
BlockNumber
blkno
,
OffsetNumber
offno
)
/*
* _bt_scandel() -- adjust a single scan
*
* because each index page is always maintained as an ordered array of
* index tuples, the index tuples on a given page shift beneath any
* given scan. an index modification "behind" a scan position (i.e.,
* same page, lower or equal offset number) will therefore force us to
* adjust the scan in the following ways:
*
* - on insertion, we shift the scan forward by one item.
* - on deletion, we shift the scan backward by one item.
*
* note that:
*
* - we need not worry about the actual ScanDirection of the scan
* itself, since the problem is that the "current" scan position has
* shifted.
* - modifications "ahead" of our scan position do not change the
* array index of the current scan position and so can be ignored.
*/
static
void
_bt_scandel
(
IndexScanDesc
scan
,
int
op
,
BlockNumber
blkno
,
OffsetNumber
offno
)
{
ItemPointer
current
;
Buffer
buf
;
...
...
@@ -112,7 +140,17 @@ _bt_scandel(IndexScanDesc scan, BlockNumber blkno, OffsetNumber offno)
if
(
ItemPointerIsValid
(
current
)
&&
ItemPointerGetBlockNumber
(
current
)
==
blkno
&&
ItemPointerGetOffsetNumber
(
current
)
>=
offno
)
{
_bt_step
(
scan
,
&
buf
,
BackwardScanDirection
);
switch
(
op
)
{
case
BT_INSERT
:
_bt_step
(
scan
,
&
buf
,
ForwardScanDirection
);
break
;
case
BT_DELETE
:
_bt_step
(
scan
,
&
buf
,
BackwardScanDirection
);
break
;
default:
elog
(
WARN
,
"_bt_scandel: bad operation '%d'"
,
op
);
/*NOTREACHED*/
}
so
->
btso_curbuf
=
buf
;
}
...
...
@@ -124,7 +162,17 @@ _bt_scandel(IndexScanDesc scan, BlockNumber blkno, OffsetNumber offno)
tmp
=
*
current
;
*
current
=
scan
->
currentItemData
;
scan
->
currentItemData
=
tmp
;
_bt_step
(
scan
,
&
buf
,
BackwardScanDirection
);
switch
(
op
)
{
case
BT_INSERT
:
_bt_step
(
scan
,
&
buf
,
ForwardScanDirection
);
break
;
case
BT_DELETE
:
_bt_step
(
scan
,
&
buf
,
BackwardScanDirection
);
break
;
default:
elog
(
WARN
,
"_bt_scandel: bad operation '%d'"
,
op
);
/*NOTREACHED*/
}
so
->
btso_mrkbuf
=
buf
;
tmp
=
*
current
;
*
current
=
scan
->
currentItemData
;
...
...
@@ -132,7 +180,11 @@ _bt_scandel(IndexScanDesc scan, BlockNumber blkno, OffsetNumber offno)
}
}
bool
/*
* _bt_scantouched() -- check to see if a scan is affected by a given
* change to the index
*/
static
bool
_bt_scantouched
(
IndexScanDesc
scan
,
BlockNumber
blkno
,
OffsetNumber
offno
)
{
ItemPointer
current
;
...
...
src/backend/access/nbtree/nbtsearch.c
浏览文件 @
a17b01f3
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtsearch.c,v 1.1
3 1997/01/05 10:56:36 vadim
Exp $
* $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtsearch.c,v 1.1
4 1997/02/18 17:13:48 momjian
Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -332,7 +332,7 @@ _bt_binsrch(Relation rel,
else
if
(
result
<
0
)
high
=
mid
-
1
;
else
return
(
_bt_firsteq
(
rel
,
itupdesc
,
page
,
keysz
,
scankey
,
mid
));
return
(
_bt_firsteq
(
rel
,
itupdesc
,
page
,
keysz
,
scankey
,
mid
));
}
/*
...
...
src/backend/postmaster/postmaster.c
浏览文件 @
a17b01f3
...
...
@@ -10,7 +10,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.4
0 1997/02/14 04:16:12
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.4
1 1997/02/18 17:13:58
momjian Exp $
*
* NOTES
*
...
...
@@ -287,12 +287,6 @@ PostmasterMain(int argc, char *argv[])
else
DebugLvl
=
1
;
break
;
case
'e'
:
/*
* Use european date formats.
*/
EuroDates
=
1
;
break
;
case
'm'
:
MultiplexedBackends
=
1
;
MultiplexedBackendPort
=
atoi
(
optarg
);
...
...
@@ -424,7 +418,6 @@ usage(const char *progname)
fprintf
(
stderr
,
"
\t
-b backend
\t
use a specific backend server executable
\n
"
);
fprintf
(
stderr
,
"
\t
-d [1|2|3]
\t
set debugging level
\n
"
);
fprintf
(
stderr
,
"
\t
-D datadir
\t
set data directory
\n
"
);
fprintf
(
stderr
,
"
\t
-e
\t
turn on European date format
\n
"
);
fprintf
(
stderr
,
"
\t
-m
\t
start up multiplexing backends
\n
"
);
fprintf
(
stderr
,
"
\t
-n
\t\t
don't reinitialize shared memory after abnormal exit
\n
"
);
fprintf
(
stderr
,
"
\t
-o option
\t
pass 'option' to each backend servers
\n
"
);
...
...
@@ -1113,10 +1106,6 @@ DoExec(StartupInfo *packet, int portFd)
av
[
ac
++
]
=
"-o"
;
av
[
ac
++
]
=
ttybuf
;
}
/* tell the backend we're using European dates */
if
(
EuroDates
==
1
)
av
[
ac
++
]
=
"-e"
;
/* tell the multiplexed backend to start on a certain port */
if
(
MultiplexedBackends
)
{
...
...
src/include/access/nbtree.h
浏览文件 @
a17b01f3
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: nbtree.h,v 1.
7 1997/02/14 22:47:36
momjian Exp $
* $Id: nbtree.h,v 1.
8 1997/02/18 17:14:10
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -238,9 +238,7 @@ extern void btdelete(Relation rel, ItemPointer tid);
*/
extern
void
_bt_regscan
(
IndexScanDesc
scan
);
extern
void
_bt_dropscan
(
IndexScanDesc
scan
);
extern
void
_bt_adjscans
(
Relation
rel
,
ItemPointer
tid
);
extern
void
_bt_scandel
(
IndexScanDesc
scan
,
BlockNumber
blkno
,
OffsetNumber
offno
);
extern
bool
_bt_scantouched
(
IndexScanDesc
scan
,
BlockNumber
blkno
,
OffsetNumber
offno
);
extern
void
_bt_adjscans
(
Relation
rel
,
ItemPointer
tid
,
int
op
);
/*
* prototypes for functions in nbtsearch.c
...
...
src/man/postmaster.1
浏览文件 @
a17b01f3
.\" This is -*-nroff-*-
.\" XXX standard disclaimer belongs here....
.\" $Header: /cvsroot/pgsql/src/man/Attic/postmaster.1,v 1.
3 1997/01/26 15:32:28 scrappy
Exp $
.\" $Header: /cvsroot/pgsql/src/man/Attic/postmaster.1,v 1.
4 1997/02/18 17:14:25 momjian
Exp $
.TH POSTMASTER UNIX 11/05/95 PostgreSQL PostgreSQL
.SH "NAME"
postmaster \(em run the Postgres postmaster
...
...
@@ -173,23 +173,6 @@ programmer can then use the
.IR shmemdoc
program to examine shared memory and semaphore state.
.TP
.BR "-e"
The
.IR "-e"
option controls how dates are input to and output from the database.
.IP
If the
.IR "-e"
option is supplied, then all dates passed to and from the frontend
processes will be assumed to be in
.IR "European"
format ie.
.IR "DD-MM-YYYY"
otherwise dates are input and output in
.IR "American"
format ie.
.IR "MM-DD-YYYY"
.TP
.BR "-o" " backend_options"
The
.IR postgres (1)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录