aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/commands')
-rw-r--r--src/backend/commands/aggregatecmds.c6
-rw-r--r--src/backend/commands/comment.c10
-rw-r--r--src/backend/commands/conversioncmds.c8
-rw-r--r--src/backend/commands/functioncmds.c9
-rw-r--r--src/backend/commands/opclasscmds.c18
-rw-r--r--src/backend/commands/operatorcmds.c7
-rw-r--r--src/backend/commands/proclang.c12
-rw-r--r--src/backend/commands/trigger.c7
-rw-r--r--src/backend/commands/typecmds.c38
9 files changed, 50 insertions, 65 deletions
diff --git a/src/backend/commands/aggregatecmds.c b/src/backend/commands/aggregatecmds.c
index 860d490bd30..8006d718987 100644
--- a/src/backend/commands/aggregatecmds.c
+++ b/src/backend/commands/aggregatecmds.c
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/aggregatecmds.c,v 1.9 2003/07/01 19:10:52 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/aggregatecmds.c,v 1.10 2003/07/04 02:51:33 tgl Exp $
*
* DESCRIPTION
* The "DefineFoo" routines take the parse tree and pick out the
@@ -165,7 +165,7 @@ RemoveAggregate(RemoveAggrStmt *stmt)
else
basetypeID = ANYOID;
- procOid = find_aggregate_func("RemoveAggregate", aggName, basetypeID);
+ procOid = find_aggregate_func(aggName, basetypeID, false);
/*
* Find the function tuple, do permissions and validity checks
@@ -223,7 +223,7 @@ RenameAggregate(List *name, TypeName *basetype, const char *newname)
rel = heap_openr(ProcedureRelationName, RowExclusiveLock);
- procOid = find_aggregate_func("RenameAggregate", name, basetypeOid);
+ procOid = find_aggregate_func(name, basetypeOid, false);
tup = SearchSysCacheCopy(PROCOID,
ObjectIdGetDatum(procOid),
diff --git a/src/backend/commands/comment.c b/src/backend/commands/comment.c
index 53974f396b2..99b1fadbcf8 100644
--- a/src/backend/commands/comment.c
+++ b/src/backend/commands/comment.c
@@ -7,7 +7,7 @@
* Copyright (c) 1996-2001, PostgreSQL Global Development Group
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/comment.c,v 1.63 2003/06/27 14:45:27 petere Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/comment.c,v 1.64 2003/07/04 02:51:33 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -629,7 +629,7 @@ CommentAggregate(List *aggregate, List *arguments, char *comment)
/* Now, attempt to find the actual tuple in pg_proc */
- oid = find_aggregate_func("CommentAggregate", aggregate, baseoid);
+ oid = find_aggregate_func(aggregate, baseoid, false);
/* Next, validate the user's attempt to comment */
@@ -657,8 +657,7 @@ CommentProc(List *function, List *arguments, char *comment)
/* Look up the procedure */
- oid = LookupFuncNameTypeNames(function, arguments,
- "CommentProc");
+ oid = LookupFuncNameTypeNames(function, arguments, false);
/* Now, validate the user's ability to comment on this function */
@@ -689,8 +688,7 @@ CommentOperator(List *opername, List *arguments, char *comment)
Oid classoid;
/* Look up the operator */
- oid = LookupOperNameTypeNames(opername, typenode1, typenode2,
- "CommentOperator");
+ oid = LookupOperNameTypeNames(opername, typenode1, typenode2, false);
/* Valid user's ability to comment on this operator */
if (!pg_oper_ownercheck(oid, GetUserId()))
diff --git a/src/backend/commands/conversioncmds.c b/src/backend/commands/conversioncmds.c
index 2d2fd66c4b3..e490a852c40 100644
--- a/src/backend/commands/conversioncmds.c
+++ b/src/backend/commands/conversioncmds.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/conversioncmds.c,v 1.6 2003/06/27 14:45:27 petere Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/conversioncmds.c,v 1.7 2003/07/04 02:51:33 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -70,10 +70,8 @@ CreateConversionCommand(CreateConversionStmt *stmt)
* Check the existence of the conversion function. Function name could
* be a qualified name.
*/
- funcoid = LookupFuncName(func_name, sizeof(funcargs) / sizeof(Oid), funcargs);
- if (!OidIsValid(funcoid))
- func_error("CreateConversion", func_name,
- sizeof(funcargs) / sizeof(Oid), funcargs, NULL);
+ funcoid = LookupFuncName(func_name, sizeof(funcargs) / sizeof(Oid),
+ funcargs, false);
/* Check we have EXECUTE rights for the function */
aclresult = pg_proc_aclcheck(funcoid, GetUserId(), ACL_EXECUTE);
diff --git a/src/backend/commands/functioncmds.c b/src/backend/commands/functioncmds.c
index 47ac67b9dcd..a7c7c47e197 100644
--- a/src/backend/commands/functioncmds.c
+++ b/src/backend/commands/functioncmds.c
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/functioncmds.c,v 1.26 2003/06/27 14:45:27 petere Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/functioncmds.c,v 1.27 2003/07/04 02:51:33 tgl Exp $
*
* DESCRIPTION
* These routines take the parse tree and pick out the
@@ -495,8 +495,7 @@ RemoveFunction(RemoveFuncStmt *stmt)
/*
* Find the function, do permissions and validity checks
*/
- funcOid = LookupFuncNameTypeNames(functionName, argTypes,
- "RemoveFunction");
+ funcOid = LookupFuncNameTypeNames(functionName, argTypes, false);
tup = SearchSysCache(PROCOID,
ObjectIdGetDatum(funcOid),
@@ -607,7 +606,7 @@ RenameFunction(List *name, List *argtypes, const char *newname)
rel = heap_openr(ProcedureRelationName, RowExclusiveLock);
- procOid = LookupFuncNameTypeNames(name, argtypes, "RenameFunction");
+ procOid = LookupFuncNameTypeNames(name, argtypes, false);
tup = SearchSysCacheCopy(PROCOID,
ObjectIdGetDatum(procOid),
@@ -796,7 +795,7 @@ CreateCast(CreateCastStmt *stmt)
funcid = LookupFuncNameTypeNames(stmt->func->funcname,
stmt->func->funcargs,
- "CreateCast");
+ false);
tuple = SearchSysCache(PROCOID,
ObjectIdGetDatum(funcid),
diff --git a/src/backend/commands/opclasscmds.c b/src/backend/commands/opclasscmds.c
index 9b90698a26a..84a01446d4d 100644
--- a/src/backend/commands/opclasscmds.c
+++ b/src/backend/commands/opclasscmds.c
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/opclasscmds.c,v 1.10 2003/06/27 14:45:27 petere Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/opclasscmds.c,v 1.11 2003/07/04 02:51:33 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -155,19 +155,15 @@ DefineOpClass(CreateOpClassStmt *stmt)
TypeName *typeName2 = (TypeName *) lsecond(item->args);
operOid = LookupOperNameTypeNames(item->name,
- typeName1, typeName2,
- "DefineOpClass");
- /* No need to check for error */
+ typeName1,
+ typeName2,
+ false);
}
else
{
/* Default to binary op on input datatype */
- operOid = LookupOperName(item->name, typeoid, typeoid);
- if (!OidIsValid(operOid))
- elog(ERROR, "DefineOpClass: Operator '%s' for types '%s' and '%s' does not exist",
- NameListToString(item->name),
- format_type_be(typeoid),
- format_type_be(typeoid));
+ operOid = LookupOperName(item->name, typeoid, typeoid,
+ false);
}
/* Caller must have execute permission on operators */
funcOid = get_opcode(operOid);
@@ -187,7 +183,7 @@ DefineOpClass(CreateOpClassStmt *stmt)
elog(ERROR, "DefineOpClass: procedure number %d appears more than once",
item->number);
funcOid = LookupFuncNameTypeNames(item->name, item->args,
- "DefineOpClass");
+ false);
/* Caller must have execute permission on functions */
aclresult = pg_proc_aclcheck(funcOid, GetUserId(),
ACL_EXECUTE);
diff --git a/src/backend/commands/operatorcmds.c b/src/backend/commands/operatorcmds.c
index bb82e0df56f..6c902b643ce 100644
--- a/src/backend/commands/operatorcmds.c
+++ b/src/backend/commands/operatorcmds.c
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/operatorcmds.c,v 1.7 2002/09/04 20:31:15 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/operatorcmds.c,v 1.8 2003/07/04 02:51:33 tgl Exp $
*
* DESCRIPTION
* The "DefineFoo" routines take the parse tree and pick out the
@@ -206,14 +206,13 @@ RemoveOperator(RemoveOperStmt *stmt)
ObjectAddress object;
operOid = LookupOperNameTypeNames(operatorName, typeName1, typeName2,
- "RemoveOperator");
+ false);
tup = SearchSysCache(OPEROID,
ObjectIdGetDatum(operOid),
0, 0, 0);
if (!HeapTupleIsValid(tup)) /* should not happen */
- elog(ERROR, "RemoveOperator: failed to find tuple for operator '%s'",
- NameListToString(operatorName));
+ elog(ERROR, "cache lookup of operator %u failed", operOid);
/* Permission check: must own operator or its namespace */
if (!pg_oper_ownercheck(operOid, GetUserId()) &&
diff --git a/src/backend/commands/proclang.c b/src/backend/commands/proclang.c
index 1e93c07fec5..65c82fbab8b 100644
--- a/src/backend/commands/proclang.c
+++ b/src/backend/commands/proclang.c
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/proclang.c,v 1.44 2003/06/27 14:45:27 petere Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/proclang.c,v 1.45 2003/07/04 02:51:33 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -77,10 +77,7 @@ CreateProceduralLanguage(CreatePLangStmt *stmt)
* return type
*/
MemSet(typev, 0, sizeof(typev));
- procOid = LookupFuncName(stmt->plhandler, 0, typev);
- if (!OidIsValid(procOid))
- elog(ERROR, "function %s() doesn't exist",
- NameListToString(stmt->plhandler));
+ procOid = LookupFuncName(stmt->plhandler, 0, typev, false);
funcrettype = get_func_rettype(procOid);
if (funcrettype != LANGUAGE_HANDLEROID)
{
@@ -104,10 +101,7 @@ CreateProceduralLanguage(CreatePLangStmt *stmt)
if (stmt->plvalidator)
{
typev[0] = OIDOID;
- valProcOid = LookupFuncName(stmt->plvalidator, 1, typev);
- if (!OidIsValid(valProcOid))
- elog(ERROR, "function %s(oid) doesn't exist",
- NameListToString(stmt->plvalidator));
+ valProcOid = LookupFuncName(stmt->plvalidator, 1, typev, false);
/* return value is ignored, so we don't check the type */
}
else
diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c
index db30014bf9b..8e8d61d77b8 100644
--- a/src/backend/commands/trigger.c
+++ b/src/backend/commands/trigger.c
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/trigger.c,v 1.149 2003/06/24 23:25:44 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/trigger.c,v 1.150 2003/07/04 02:51:33 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -257,10 +257,7 @@ CreateTrigger(CreateTrigStmt *stmt, bool forConstraint)
* Find and validate the trigger function.
*/
MemSet(fargtypes, 0, FUNC_MAX_ARGS * sizeof(Oid));
- funcoid = LookupFuncName(stmt->funcname, 0, fargtypes);
- if (!OidIsValid(funcoid))
- elog(ERROR, "CreateTrigger: function %s() does not exist",
- NameListToString(stmt->funcname));
+ funcoid = LookupFuncName(stmt->funcname, 0, fargtypes, false);
funcrettype = get_func_rettype(funcoid);
if (funcrettype != TRIGGEROID)
{
diff --git a/src/backend/commands/typecmds.c b/src/backend/commands/typecmds.c
index 5a16e53e983..94f25fb4be4 100644
--- a/src/backend/commands/typecmds.c
+++ b/src/backend/commands/typecmds.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/typecmds.c,v 1.37 2003/06/06 15:04:01 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/typecmds.c,v 1.38 2003/07/04 02:51:33 tgl Exp $
*
* DESCRIPTION
* The "DefineFoo" routines take the parse tree and pick out the
@@ -789,14 +789,14 @@ findTypeInputFunction(List *procname, Oid typeOid)
argList[0] = CSTRINGOID;
- procOid = LookupFuncName(procname, 1, argList);
+ procOid = LookupFuncName(procname, 1, argList, true);
if (OidIsValid(procOid))
return procOid;
argList[1] = OIDOID;
argList[2] = INT4OID;
- procOid = LookupFuncName(procname, 3, argList);
+ procOid = LookupFuncName(procname, 3, argList, true);
if (OidIsValid(procOid))
return procOid;
@@ -805,14 +805,14 @@ findTypeInputFunction(List *procname, Oid typeOid)
argList[0] = OPAQUEOID;
- procOid = LookupFuncName(procname, 1, argList);
+ procOid = LookupFuncName(procname, 1, argList, true);
if (!OidIsValid(procOid))
{
argList[1] = OIDOID;
argList[2] = INT4OID;
- procOid = LookupFuncName(procname, 3, argList);
+ procOid = LookupFuncName(procname, 3, argList, true);
}
if (OidIsValid(procOid))
@@ -834,7 +834,8 @@ findTypeInputFunction(List *procname, Oid typeOid)
/* Use CSTRING (preferred) in the error message */
argList[0] = CSTRINGOID;
- func_error("TypeCreate", procname, 1, argList, NULL);
+ elog(ERROR, "function %s does not exist",
+ func_signature_string(procname, 1, argList));
return InvalidOid; /* keep compiler quiet */
}
@@ -857,13 +858,13 @@ findTypeOutputFunction(List *procname, Oid typeOid)
argList[0] = typeOid;
- procOid = LookupFuncName(procname, 1, argList);
+ procOid = LookupFuncName(procname, 1, argList, true);
if (OidIsValid(procOid))
return procOid;
argList[1] = OIDOID;
- procOid = LookupFuncName(procname, 2, argList);
+ procOid = LookupFuncName(procname, 2, argList, true);
if (OidIsValid(procOid))
return procOid;
@@ -872,13 +873,13 @@ findTypeOutputFunction(List *procname, Oid typeOid)
argList[0] = OPAQUEOID;
- procOid = LookupFuncName(procname, 1, argList);
+ procOid = LookupFuncName(procname, 1, argList, true);
if (!OidIsValid(procOid))
{
argList[1] = OIDOID;
- procOid = LookupFuncName(procname, 2, argList);
+ procOid = LookupFuncName(procname, 2, argList, true);
}
if (OidIsValid(procOid))
@@ -899,7 +900,8 @@ findTypeOutputFunction(List *procname, Oid typeOid)
/* Use type name, not OPAQUE, in the failure message. */
argList[0] = typeOid;
- func_error("TypeCreate", procname, 1, argList, NULL);
+ elog(ERROR, "function %s does not exist",
+ func_signature_string(procname, 1, argList));
return InvalidOid; /* keep compiler quiet */
}
@@ -918,17 +920,18 @@ findTypeReceiveFunction(List *procname, Oid typeOid)
argList[0] = INTERNALOID;
- procOid = LookupFuncName(procname, 1, argList);
+ procOid = LookupFuncName(procname, 1, argList, true);
if (OidIsValid(procOid))
return procOid;
argList[1] = OIDOID;
- procOid = LookupFuncName(procname, 2, argList);
+ procOid = LookupFuncName(procname, 2, argList, true);
if (OidIsValid(procOid))
return procOid;
- func_error("TypeCreate", procname, 1, argList, NULL);
+ elog(ERROR, "function %s does not exist",
+ func_signature_string(procname, 1, argList));
return InvalidOid; /* keep compiler quiet */
}
@@ -947,17 +950,18 @@ findTypeSendFunction(List *procname, Oid typeOid)
argList[0] = typeOid;
- procOid = LookupFuncName(procname, 1, argList);
+ procOid = LookupFuncName(procname, 1, argList, true);
if (OidIsValid(procOid))
return procOid;
argList[1] = OIDOID;
- procOid = LookupFuncName(procname, 2, argList);
+ procOid = LookupFuncName(procname, 2, argList, true);
if (OidIsValid(procOid))
return procOid;
- func_error("TypeCreate", procname, 1, argList, NULL);
+ elog(ERROR, "function %s does not exist",
+ func_signature_string(procname, 1, argList));
return InvalidOid; /* keep compiler quiet */
}