aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/catalog/pg_proc.c23
1 files changed, 5 insertions, 18 deletions
diff --git a/src/backend/catalog/pg_proc.c b/src/backend/catalog/pg_proc.c
index 3e1c6c4667d..90232daa092 100644
--- a/src/backend/catalog/pg_proc.c
+++ b/src/backend/catalog/pg_proc.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/catalog/pg_proc.c,v 1.38 2000/01/11 02:30:05 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/catalog/pg_proc.c,v 1.39 2000/01/11 05:22:25 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -80,8 +80,9 @@ ProcedureCreate(char *procedureName,
{
Value *t = lfirst(x);
- if (parameterCount > FUNC_MAX_ARGS)
- elog(ERROR, "Procedures cannot take more than %d arguments",FUNC_MAX_ARGS);
+ if (parameterCount >= FUNC_MAX_ARGS)
+ elog(ERROR, "Procedures cannot take more than %d arguments",
+ FUNC_MAX_ARGS);
if (strcmp(strVal(t), "opaque") == 0)
{
@@ -172,7 +173,6 @@ ProcedureCreate(char *procedureName,
elog(ERROR, "ProcedureCreate: sql functions cannot return type \"opaque\"");
typeObjectId = 0;
}
-
else
{
typeObjectId = TypeGet(returnTypeName, &defined);
@@ -192,7 +192,6 @@ ProcedureCreate(char *procedureName,
returnTypeName);
}
}
-
else if (!defined)
{
elog(NOTICE, "ProcedureCreate: return type '%s' is only a shell",
@@ -247,7 +246,7 @@ ProcedureCreate(char *procedureName,
prosrc = procedureName;
if (fmgr_lookupByName(prosrc) == (func_ptr) NULL)
elog(ERROR,
- "ProcedureCreate: there is no builtin function named \"%s\"",
+ "ProcedureCreate: there is no builtin function named \"%s\"",
prosrc);
}
@@ -266,30 +265,18 @@ ProcedureCreate(char *procedureName,
values[i++] = NameGetDatum(&procname);
values[i++] = Int32GetDatum(GetUserId());
values[i++] = ObjectIdGetDatum(languageObjectId);
-
/* XXX isinherited is always false for now */
-
values[i++] = Int8GetDatum((bool) 0);
-
- /* XXX istrusted is always false for now */
-
values[i++] = Int8GetDatum(trusted);
values[i++] = Int8GetDatum(canCache);
values[i++] = UInt16GetDatum(parameterCount);
values[i++] = Int8GetDatum(returnsSet);
values[i++] = ObjectIdGetDatum(typeObjectId);
-
values[i++] = (Datum) typev;
-
- /*
- * The following assignments of constants are made. The real values
- * will have to be extracted from the arglist someday soon.
- */
values[i++] = Int32GetDatum(byte_pct); /* probyte_pct */
values[i++] = Int32GetDatum(perbyte_cpu); /* properbyte_cpu */
values[i++] = Int32GetDatum(percall_cpu); /* propercall_cpu */
values[i++] = Int32GetDatum(outin_ratio); /* prooutin_ratio */
-
values[i++] = (Datum) fmgr(F_TEXTIN, prosrc); /* prosrc */
values[i++] = (Datum) fmgr(F_TEXTIN, probin); /* probin */