Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
07d17a73
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,发现更多精彩内容 >>
提交
07d17a73
编写于
6月 14, 2011
作者:
B
Bruce Momjian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
In pg_upgrade, check there are no prepared transactions.
上级
8cfd59dd
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
33 addition
and
0 deletion
+33
-0
contrib/pg_upgrade/check.c
contrib/pg_upgrade/check.c
+33
-0
未找到文件。
contrib/pg_upgrade/check.c
浏览文件 @
07d17a73
...
...
@@ -16,6 +16,7 @@ static void check_old_cluster_has_new_cluster_dbs(void);
static
void
check_locale_and_encoding
(
ControlData
*
oldctrl
,
ControlData
*
newctrl
);
static
void
check_is_super_user
(
ClusterInfo
*
cluster
);
static
void
check_for_prepared_transactions
(
ClusterInfo
*
cluster
);
static
void
check_for_isn_and_int8_passing_mismatch
(
ClusterInfo
*
cluster
);
static
void
check_for_reg_data_type_usage
(
ClusterInfo
*
cluster
);
...
...
@@ -65,6 +66,7 @@ check_old_cluster(bool live_check,
* Check for various failure cases
*/
check_is_super_user
(
&
old_cluster
);
check_for_prepared_transactions
(
&
old_cluster
);
check_for_reg_data_type_usage
(
&
old_cluster
);
check_for_isn_and_int8_passing_mismatch
(
&
old_cluster
);
...
...
@@ -117,6 +119,7 @@ check_new_cluster(void)
get_db_and_rel_infos
(
&
new_cluster
);
check_new_cluster_is_empty
();
check_for_prepared_transactions
(
&
new_cluster
);
check_old_cluster_has_new_cluster_dbs
();
check_loadable_libraries
();
...
...
@@ -506,6 +509,36 @@ check_is_super_user(ClusterInfo *cluster)
}
/*
* check_for_prepared_transactions()
*
* Make sure there are no prepared transactions because the storage format
* might have changed.
*/
static
void
check_for_prepared_transactions
(
ClusterInfo
*
cluster
)
{
PGresult
*
res
;
PGconn
*
conn
=
connectToServer
(
cluster
,
"template1"
);
prep_status
(
"Checking for prepared transactions"
);
res
=
executeQueryOrDie
(
conn
,
"SELECT * "
"FROM pg_catalog.pg_prepared_xact()"
);
if
(
PQntuples
(
res
)
!=
0
)
pg_log
(
PG_FATAL
,
"The %s cluster contains prepared transactions
\n
"
,
CLUSTER_NAME
(
cluster
));
PQclear
(
res
);
PQfinish
(
conn
);
check_ok
();
}
/*
* check_for_isn_and_int8_passing_mismatch()
*
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录