提交 751b1325 编写于 作者: H Heikki Linnakangas

Remove unused function.

上级 9545eedf
......@@ -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)
{
......
......@@ -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 */
......@@ -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));
}
......@@ -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;
......
......@@ -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.
先完成此消息的编辑!
想要评论请 注册