Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
872aad61
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,发现更多精彩内容 >>
提交
872aad61
编写于
1月 10, 2002
作者:
B
Bruce Momjian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Per Tom, do full reset on -x flag.
上级
f6e603cf
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
26 addition
and
42 deletion
+26
-42
contrib/pg_resetxlog/pg_resetxlog.c
contrib/pg_resetxlog/pg_resetxlog.c
+26
-42
未找到文件。
contrib/pg_resetxlog/pg_resetxlog.c
浏览文件 @
872aad61
...
...
@@ -23,7 +23,7 @@
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $Header: /cvsroot/pgsql/contrib/pg_resetxlog/Attic/pg_resetxlog.c,v 1.1
1 2002/01/10 17:51:52
momjian Exp $
* $Header: /cvsroot/pgsql/contrib/pg_resetxlog/Attic/pg_resetxlog.c,v 1.1
2 2002/01/10 18:08:29
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -714,32 +714,30 @@ RewriteControlFile(TransactionId set_xid)
int
fd
;
char
buffer
[
BLCKSZ
];
/* need not be aligned */
if
(
set_xid
==
0
)
{
/*
* Adjust fields as needed to force an empty XLOG starting at the next
* available segment.
*/
newXlogId
=
ControlFile
.
logId
;
newXlogSeg
=
ControlFile
.
logSeg
;
/* be sure we wrap around correctly at end of a logfile */
NextLogSeg
(
newXlogId
,
newXlogSeg
);
ControlFile
.
checkPointCopy
.
redo
.
xlogid
=
newXlogId
;
ControlFile
.
checkPointCopy
.
redo
.
xrecoff
=
newXlogSeg
*
XLogSegSize
+
SizeOfXLogPHD
;
ControlFile
.
checkPointCopy
.
undo
=
ControlFile
.
checkPointCopy
.
redo
;
ControlFile
.
checkPointCopy
.
time
=
time
(
NULL
);
ControlFile
.
state
=
DB_SHUTDOWNED
;
ControlFile
.
time
=
time
(
NULL
);
ControlFile
.
logId
=
newXlogId
;
ControlFile
.
logSeg
=
newXlogSeg
+
1
;
ControlFile
.
checkPoint
=
ControlFile
.
checkPointCopy
.
redo
;
ControlFile
.
prevCheckPoint
.
xlogid
=
0
;
ControlFile
.
prevCheckPoint
.
xrecoff
=
0
;
}
else
/*
* Adjust fields as needed to force an empty XLOG starting at the next
* available segment.
*/
newXlogId
=
ControlFile
.
logId
;
newXlogSeg
=
ControlFile
.
logSeg
;
/* be sure we wrap around correctly at end of a logfile */
NextLogSeg
(
newXlogId
,
newXlogSeg
);
ControlFile
.
checkPointCopy
.
redo
.
xlogid
=
newXlogId
;
ControlFile
.
checkPointCopy
.
redo
.
xrecoff
=
newXlogSeg
*
XLogSegSize
+
SizeOfXLogPHD
;
ControlFile
.
checkPointCopy
.
undo
=
ControlFile
.
checkPointCopy
.
redo
;
ControlFile
.
checkPointCopy
.
time
=
time
(
NULL
);
ControlFile
.
state
=
DB_SHUTDOWNED
;
ControlFile
.
time
=
time
(
NULL
);
ControlFile
.
logId
=
newXlogId
;
ControlFile
.
logSeg
=
newXlogSeg
+
1
;
ControlFile
.
checkPoint
=
ControlFile
.
checkPointCopy
.
redo
;
ControlFile
.
prevCheckPoint
.
xlogid
=
0
;
ControlFile
.
prevCheckPoint
.
xrecoff
=
0
;
if
(
set_xid
!=
0
)
ControlFile
.
checkPointCopy
.
nextXid
=
set_xid
;
/* Contents are protected with a CRC */
...
...
@@ -1011,20 +1009,6 @@ main(int argc, char **argv)
if
(
!
ReadControlFile
())
GuessControlValues
();
/*
* Set XID in pg_control and exit
*/
if
(
set_xid
)
{
if
(
guessed
)
{
printf
(
"
\n
pg_control appears corrupt. Can not update XID.
\n
"
);
exit
(
1
);
}
RewriteControlFile
(
set_xid
);
exit
(
0
);
}
/*
* If we had to guess anything, and -f was not given, just print the
* guessed values and exit. Also print if -n is given.
...
...
@@ -1051,7 +1035,7 @@ main(int argc, char **argv)
/*
* Else, do the dirty deed.
*/
RewriteControlFile
(
0
);
RewriteControlFile
(
set_xid
);
KillExistingXLOG
();
WriteEmptyXLOG
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录