|
8 | 8 | * |
9 | 9 | * |
10 | 10 | * IDENTIFICATION |
11 | | - * $Header: /cvsroot/pgsql/src/backend/catalog/pg_proc.c,v 1.74 2002/05/2217:20:58 petere Exp $ |
| 11 | + * $Header: /cvsroot/pgsql/src/backend/catalog/pg_proc.c,v 1.75 2002/05/2218:33:15 tgl Exp $ |
12 | 12 | * |
13 | 13 | *------------------------------------------------------------------------- |
14 | 14 | */ |
@@ -140,7 +140,6 @@ ProcedureCreate(const char *procedureName, |
140 | 140 | elog(ERROR,"method %s already an attribute of type %s", |
141 | 141 | procedureName,format_type_be(typev[0])); |
142 | 142 |
|
143 | | - |
144 | 143 | /* |
145 | 144 | * All seems OK; prepare the data to be inserted into pg_proc. |
146 | 145 | */ |
@@ -177,7 +176,6 @@ ProcedureCreate(const char *procedureName, |
177 | 176 | CStringGetDatum(probin)); |
178 | 177 | /* proacl will be handled below */ |
179 | 178 |
|
180 | | - |
181 | 179 | rel=heap_openr(ProcedureRelationName,RowExclusiveLock); |
182 | 180 | tupDesc=rel->rd_att; |
183 | 181 |
|
@@ -220,7 +218,8 @@ ProcedureCreate(const char *procedureName, |
220 | 218 | procedureName); |
221 | 219 | } |
222 | 220 |
|
223 | | -/* do not change existing permissions, either */ |
| 221 | +/* do not change existing ownership or permissions, either */ |
| 222 | +replaces[Anum_pg_proc_proowner-1]=' '; |
224 | 223 | replaces[Anum_pg_proc_proacl-1]=' '; |
225 | 224 |
|
226 | 225 | /* Okay, do it... */ |
@@ -258,9 +257,9 @@ ProcedureCreate(const char *procedureName, |
258 | 257 | /* Verify function body */ |
259 | 258 | if (OidIsValid(languageValidator)) |
260 | 259 | { |
261 | | -/* Advance command counter sorecursive functions can bedefined */ |
| 260 | +/* Advance command counter sonew tuple can beseen by validator */ |
262 | 261 | CommandCounterIncrement(); |
263 | | -OidFunctionCall1(languageValidator,retval); |
| 262 | +OidFunctionCall1(languageValidator,ObjectIdGetDatum(retval)); |
264 | 263 | } |
265 | 264 |
|
266 | 265 | returnretval; |
|