Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
d1b02e76
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,发现更多精彩内容 >>
提交
d1b02e76
编写于
10月 21, 2008
作者:
P
Peter Eisentraut
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Use format_type_be() instead of TypeNameToString() for some more user-facing
error messages where the type existence is established.
上级
1471e384
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
29 addition
and
29 deletion
+29
-29
src/backend/commands/comment.c
src/backend/commands/comment.c
+6
-6
src/backend/commands/functioncmds.c
src/backend/commands/functioncmds.c
+11
-11
src/backend/commands/tablecmds.c
src/backend/commands/tablecmds.c
+5
-5
src/backend/commands/typecmds.c
src/backend/commands/typecmds.c
+4
-4
src/test/regress/expected/alter_table.out
src/test/regress/expected/alter_table.out
+3
-3
未找到文件。
src/backend/commands/comment.c
浏览文件 @
d1b02e76
...
...
@@ -7,7 +7,7 @@
* Copyright (c) 1996-2008, PostgreSQL Global Development Group
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/commands/comment.c,v 1.10
3 2008/06/19 00:46:04 alvher
re Exp $
* $PostgreSQL: pgsql/src/backend/commands/comment.c,v 1.10
4 2008/10/21 10:38:51 pete
re Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -882,7 +882,7 @@ CommentType(List *typename, char *comment)
if
(
!
pg_type_ownercheck
(
oid
,
GetUserId
()))
aclcheck_error
(
ACLCHECK_NOT_OWNER
,
ACL_KIND_TYPE
,
TypeNameToString
(
tname
));
format_type_be
(
oid
));
/* Call CreateComments() to create/drop the comments */
CreateComments
(
oid
,
TypeRelationId
,
0
,
comment
);
...
...
@@ -1464,8 +1464,8 @@ CommentCast(List *qualname, List *arguments, char *comment)
ereport
(
ERROR
,
(
errcode
(
ERRCODE_UNDEFINED_OBJECT
),
errmsg
(
"cast from type %s to type %s does not exist"
,
TypeNameToString
(
sourcetype
),
TypeNameToString
(
targettype
))));
format_type_be
(
sourcetypeid
),
format_type_be
(
targettypeid
))));
/* Get the OID of the cast */
castOid
=
HeapTupleGetOid
(
tuple
);
...
...
@@ -1476,8 +1476,8 @@ CommentCast(List *qualname, List *arguments, char *comment)
ereport
(
ERROR
,
(
errcode
(
ERRCODE_INSUFFICIENT_PRIVILEGE
),
errmsg
(
"must be owner of type %s or type %s"
,
TypeNameToString
(
sourcetype
),
TypeNameToString
(
targettype
))));
format_type_be
(
sourcetypeid
),
format_type_be
(
targettypeid
))));
ReleaseSysCache
(
tuple
);
...
...
src/backend/commands/functioncmds.c
浏览文件 @
d1b02e76
...
...
@@ -10,7 +10,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/commands/functioncmds.c,v 1.9
8 2008/07/18 03:32:52 tgl
Exp $
* $PostgreSQL: pgsql/src/backend/commands/functioncmds.c,v 1.9
9 2008/10/21 10:38:51 petere
Exp $
*
* DESCRIPTION
* These routines take the parse tree and pick out the
...
...
@@ -1412,8 +1412,8 @@ CreateCast(CreateCastStmt *stmt)
ereport
(
ERROR
,
(
errcode
(
ERRCODE_INSUFFICIENT_PRIVILEGE
),
errmsg
(
"must be owner of type %s or type %s"
,
TypeNameToString
(
stmt
->
sourcetype
),
TypeNameToString
(
stmt
->
targettype
))));
format_type_be
(
sourcetypeid
),
format_type_be
(
targettypeid
))));
if
(
stmt
->
func
!=
NULL
)
{
...
...
@@ -1554,8 +1554,8 @@ CreateCast(CreateCastStmt *stmt)
ereport
(
ERROR
,
(
errcode
(
ERRCODE_DUPLICATE_OBJECT
),
errmsg
(
"cast from type %s to type %s already exists"
,
TypeNameToString
(
stmt
->
sourcetype
),
TypeNameToString
(
stmt
->
targettype
))));
format_type_be
(
sourcetypeid
),
format_type_be
(
targettypeid
))));
/* ready to go */
values
[
Anum_pg_cast_castsource
-
1
]
=
ObjectIdGetDatum
(
sourcetypeid
);
...
...
@@ -1629,13 +1629,13 @@ DropCast(DropCastStmt *stmt)
ereport
(
ERROR
,
(
errcode
(
ERRCODE_UNDEFINED_OBJECT
),
errmsg
(
"cast from type %s to type %s does not exist"
,
TypeNameToString
(
stmt
->
sourcetype
),
TypeNameToString
(
stmt
->
targettype
))));
format_type_be
(
sourcetypeid
),
format_type_be
(
targettypeid
))));
else
ereport
(
NOTICE
,
(
errmsg
(
"cast from type %s to type %s does not exist, skipping"
,
TypeNameToString
(
stmt
->
sourcetype
),
TypeNameToString
(
stmt
->
targettype
))));
format_type_be
(
sourcetypeid
),
format_type_be
(
targettypeid
))));
return
;
}
...
...
@@ -1646,8 +1646,8 @@ DropCast(DropCastStmt *stmt)
ereport
(
ERROR
,
(
errcode
(
ERRCODE_INSUFFICIENT_PRIVILEGE
),
errmsg
(
"must be owner of type %s or type %s"
,
TypeNameToString
(
stmt
->
sourcetype
),
TypeNameToString
(
stmt
->
targettype
))));
format_type_be
(
sourcetypeid
),
format_type_be
(
targettypeid
))));
/*
* Do the deletion
...
...
src/backend/commands/tablecmds.c
浏览文件 @
d1b02e76
...
...
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.26
7 2008/10/07 11:15:41 heikki
Exp $
* $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.26
8 2008/10/21 10:38:51 petere
Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -5520,8 +5520,8 @@ ATPrepAlterColumnType(List **wqueue,
if
(
transform
==
NULL
)
ereport
(
ERROR
,
(
errcode
(
ERRCODE_DATATYPE_MISMATCH
),
errmsg
(
"column
\"
%s
\"
cannot be cast to type
\"
%s
\"
"
,
colName
,
TypeNameToString
(
typenam
e
))));
errmsg
(
"column
\"
%s
\"
cannot be cast to type
%s
"
,
colName
,
format_type_be
(
targettyp
e
))));
/*
* Add a work queue item to make ATRewriteTable update the column
...
...
@@ -5619,8 +5619,8 @@ ATExecAlterColumnType(AlteredTableInfo *tab, Relation rel,
if
(
defaultexpr
==
NULL
)
ereport
(
ERROR
,
(
errcode
(
ERRCODE_DATATYPE_MISMATCH
),
errmsg
(
"default for column
\"
%s
\"
cannot be cast to type
\"
%s
\"
"
,
colName
,
TypeNameToString
(
typenam
e
))));
errmsg
(
"default for column
\"
%s
\"
cannot be cast to type
%s
"
,
colName
,
format_type_be
(
targettyp
e
))));
}
else
defaultexpr
=
NULL
;
...
...
src/backend/commands/typecmds.c
浏览文件 @
d1b02e76
...
...
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/commands/typecmds.c,v 1.12
4 2008/09/25 03:28:56 tgl
Exp $
* $PostgreSQL: pgsql/src/backend/commands/typecmds.c,v 1.12
5 2008/10/21 10:38:51 petere
Exp $
*
* DESCRIPTION
* The "DefineFoo" routines take the parse tree and pick out the
...
...
@@ -581,7 +581,7 @@ RemoveTypes(DropStmt *drop)
if
(
!
pg_type_ownercheck
(
typeoid
,
GetUserId
())
&&
!
pg_namespace_ownercheck
(
typ
->
typnamespace
,
GetUserId
()))
aclcheck_error
(
ACLCHECK_NOT_OWNER
,
ACL_KIND_TYPE
,
TypeNameToString
(
typename
));
format_type_be
(
typeoid
));
if
(
drop
->
removeType
==
OBJECT_DOMAIN
)
{
...
...
@@ -2082,7 +2082,7 @@ checkDomainOwner(HeapTuple tup, TypeName *typename)
/* Permission check: must own type */
if
(
!
pg_type_ownercheck
(
HeapTupleGetOid
(
tup
),
GetUserId
()))
aclcheck_error
(
ACLCHECK_NOT_OWNER
,
ACL_KIND_TYPE
,
TypeNameToString
(
typename
));
format_type_be
(
HeapTupleGetOid
(
tup
)
));
}
/*
...
...
@@ -2487,7 +2487,7 @@ AlterTypeOwner(List *names, Oid newOwnerId)
/* Otherwise, must be owner of the existing object */
if
(
!
pg_type_ownercheck
(
HeapTupleGetOid
(
tup
),
GetUserId
()))
aclcheck_error
(
ACLCHECK_NOT_OWNER
,
ACL_KIND_TYPE
,
TypeNameToString
(
typename
));
format_type_be
(
HeapTupleGetOid
(
tup
)
));
/* Must be able to become new owner */
check_is_member_of_role
(
GetUserId
(),
newOwnerId
);
...
...
src/test/regress/expected/alter_table.out
浏览文件 @
d1b02e76
...
...
@@ -1301,7 +1301,7 @@ select f3,max(f1) from foo group by f3;
-- Simple tests for alter table column type
alter table foo alter f1 TYPE integer; -- fails
ERROR: column "f1" cannot be cast to type
"pg_catalog.int4"
ERROR: column "f1" cannot be cast to type
integer
alter table foo alter f1 TYPE varchar(10);
create table anothertab (atcol1 serial8, atcol2 boolean,
constraint anothertab_chk check (atcol1 <= 3));
...
...
@@ -1316,7 +1316,7 @@ select * from anothertab;
(2 rows)
alter table anothertab alter column atcol1 type boolean; -- fails
ERROR: column "atcol1" cannot be cast to type
"pg_catalog.bool"
ERROR: column "atcol1" cannot be cast to type
boolean
alter table anothertab alter column atcol1 type integer;
select * from anothertab;
atcol1 | atcol2
...
...
@@ -1350,7 +1350,7 @@ select * from anothertab;
alter table anothertab alter column atcol1 type boolean
using case when atcol1 % 2 = 0 then true else false end; -- fails
ERROR: default for column "atcol1" cannot be cast to type
"pg_catalog.bool"
ERROR: default for column "atcol1" cannot be cast to type
boolean
alter table anothertab alter column atcol1 drop default;
alter table anothertab alter column atcol1 type boolean
using case when atcol1 % 2 = 0 then true else false end; -- fails
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录