Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
751b1325
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,发现更多精彩内容 >>
提交
751b1325
编写于
8月 12, 2016
作者:
H
Heikki Linnakangas
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove unused function.
上级
9545eedf
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
0 addition
and
110 deletion
+0
-110
src/backend/commands/functioncmds.c
src/backend/commands/functioncmds.c
+0
-51
src/include/catalog/pg_proc.h
src/include/catalog/pg_proc.h
+0
-13
src/test/regress/caqltest.c
src/test/regress/caqltest.c
+0
-30
src/test/regress/input/caql.source
src/test/regress/input/caql.source
+0
-6
src/test/regress/output/caql.source
src/test/regress/output/caql.source
+0
-10
未找到文件。
src/backend/commands/functioncmds.c
浏览文件 @
751b1325
...
...
@@ -2431,57 +2431,6 @@ AlterFunctionNamespace(List *name, List *argtypes, bool isagg,
heap_close
(
procRel
,
RowExclusiveLock
);
}
/*
* GetFuncSQLDataAccess
* Returns the data-access indication of a function specified by
* the input funcOid.
*/
SQLDataAccess
GetFuncSQLDataAccess
(
Oid
funcOid
)
{
Relation
procRelation
;
HeapTuple
procTuple
;
bool
isnull
=
false
;
char
proDataAccess
;
SQLDataAccess
result
=
SDA_NO_SQL
;
cqContext
cqc
;
procRelation
=
heap_open
(
ProcedureRelationId
,
AccessShareLock
);
procTuple
=
caql_getfirst
(
caql_addrel
(
cqclr
(
&
cqc
),
procRelation
),
cql
(
"SELECT * from pg_proc"
" WHERE oid = :1"
,
ObjectIdGetDatum
(
funcOid
)));
if
(
!
HeapTupleIsValid
(
procTuple
))
elog
(
ERROR
,
"cache lookup failed for function %u"
,
funcOid
);
/* get the prodataaccess */
proDataAccess
=
DatumGetChar
(
heap_getattr
(
procTuple
,
Anum_pg_proc_prodataaccess
,
RelationGetDescr
(
procRelation
),
&
isnull
));
heap_freetuple
(
procTuple
);
heap_close
(
procRelation
,
AccessShareLock
);
Assert
(
!
isnull
);
if
(
proDataAccess
==
PRODATAACCESS_NONE
)
result
=
SDA_NO_SQL
;
else
if
(
proDataAccess
==
PRODATAACCESS_CONTAINS
)
result
=
SDA_CONTAINS_SQL
;
else
if
(
proDataAccess
==
PRODATAACCESS_READS
)
result
=
SDA_READS_SQL
;
else
if
(
proDataAccess
==
PRODATAACCESS_MODIFIES
)
result
=
SDA_MODIFIES_SQL
;
else
elog
(
ERROR
,
"invalid data access option for function %u"
,
funcOid
);
return
result
;
}
static
void
CheckForModifySystemFunc
(
Oid
funcOid
,
List
*
funcName
)
{
...
...
src/include/catalog/pg_proc.h
浏览文件 @
751b1325
...
...
@@ -4587,17 +4587,4 @@ extern Oid ProcedureCreate(const char *procedureName,
extern
bool
function_parse_error_transpose
(
const
char
*
prosrc
);
/*
* API to access prodataaccess colum
*/
typedef
enum
SQLDataAccess
{
SDA_NO_SQL
=
0
,
/* procedure does not possibly contain SQL */
SDA_CONTAINS_SQL
,
/* possibly contains SQL */
SDA_READS_SQL
,
/* possibly reads SQL */
SDA_MODIFIES_SQL
/* possibly modifies SQL */
}
SQLDataAccess
;
extern
SQLDataAccess
GetFuncSQLDataAccess
(
Oid
);
#endif
/* PG_PROC_H */
src/test/regress/caqltest.c
浏览文件 @
751b1325
...
...
@@ -38,9 +38,6 @@ extern Datum check_gp_activate_standby(PG_FUNCTION_ARGS);
/* tests for caql coverage in queue.c */
extern
Datum
check_GetResqueueName
(
PG_FUNCTION_ARGS
);
/* test for caql coverage in functioncmds.c */
extern
Datum
check_GetFuncSQLDataAccess
(
PG_FUNCTION_ARGS
);
PG_FUNCTION_INFO_V1
(
caql_bootstrap_regproc
);
Datum
caql_bootstrap_regproc
(
PG_FUNCTION_ARGS
)
...
...
@@ -233,30 +230,3 @@ check_GetResqueueName(PG_FUNCTION_ARGS)
PG_RETURN_TEXT_P
(
cstring_to_text
(
GetResqueueName
(
resqueueOid
)));
}
PG_FUNCTION_INFO_V1
(
check_GetFuncSQLDataAccess
);
Datum
check_GetFuncSQLDataAccess
(
PG_FUNCTION_ARGS
)
{
Oid
funcOid
=
PG_GETARG_OID
(
0
);
SQLDataAccess
data_access
=
SDA_NO_SQL
;
char
*
data_access_name
=
NULL
;
data_access
=
GetFuncSQLDataAccess
(
funcOid
);
switch
(
data_access
)
{
case
SDA_NO_SQL
:
data_access_name
=
"NO SQL"
;
break
;
case
SDA_CONTAINS_SQL
:
data_access_name
=
"CONTAINS SQL"
;
break
;
case
SDA_READS_SQL
:
data_access_name
=
"READS SQL DATA"
;
break
;
case
SDA_MODIFIES_SQL
:
data_access_name
=
"MODIFIES SQL DATA"
;
break
;
}
PG_RETURN_TEXT_P
(
cstring_to_text
(
data_access_name
));
}
src/test/regress/input/caql.source
浏览文件 @
751b1325
...
...
@@ -327,12 +327,6 @@ CREATE FUNCTION check_GetResqueueName(oid) RETURNS text
select check_GetResqueueName(6055);
DROP FUNCTION check_GetResqueueName(oid);
CREATE FUNCTION check_GetFuncSQLDataAccess(oid) RETURNS text
AS '@abs_builddir@/regress@DLSUFFIX@', 'check_GetFuncSQLDataAccess'
LANGUAGE C READS SQL DATA;
select check_GetFuncSQLDataAccess('check_GetFuncSQLDataAccess'::regproc);
DROP FUNCTION check_GetFuncSQLDataAccess(oid);
-- cleanup (as caql_super_luser)
drop type funkytype;
...
...
src/test/regress/output/caql.source
浏览文件 @
751b1325
...
...
@@ -461,16 +461,6 @@ select check_GetResqueueName(6055);
(1 row)
DROP FUNCTION check_GetResqueueName(oid);
CREATE FUNCTION check_GetFuncSQLDataAccess(oid) RETURNS text
AS '@abs_builddir@/regress@DLSUFFIX@', 'check_GetFuncSQLDataAccess'
LANGUAGE C READS SQL DATA;
select check_GetFuncSQLDataAccess('check_GetFuncSQLDataAccess'::regproc);
check_getfuncsqldataaccess
----------------------------
READS SQL DATA
(1 row)
DROP FUNCTION check_GetFuncSQLDataAccess(oid);
-- cleanup (as caql_super_luser)
drop type funkytype;
NOTICE: cast from funkytype to integer depends on type funkytype
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录