Minor kibitzing.
authorTom Lane <[email protected]>
Wed, 22 May 2002 18:33:15 +0000 (18:33 +0000)
committerTom Lane <[email protected]>
Wed, 22 May 2002 18:33:15 +0000 (18:33 +0000)
src/backend/catalog/pg_proc.c

index 60cd0e779edd0916ec1fe8a4e48bfc71fe6ecca1..1c9ca917107d0eb13e7ccaabd4e9f9e42181fd6f 100644 (file)
@@ -140,7 +140,6 @@ ProcedureCreate(const char *procedureName,
                elog(ERROR, "method %s already an attribute of type %s",
                         procedureName, format_type_be(typev[0]));
 
-
        /*
         * All seems OK; prepare the data to be inserted into pg_proc.
         */
@@ -177,7 +176,6 @@ ProcedureCreate(const char *procedureName,
                                                                          CStringGetDatum(probin));
        /* proacl will be handled below */
 
-
        rel = heap_openr(ProcedureRelationName, RowExclusiveLock);
        tupDesc = rel->rd_att;
 
@@ -220,7 +218,8 @@ ProcedureCreate(const char *procedureName,
                                         procedureName);
                }
 
-               /* do not change existing permissions, either */
+               /* do not change existing ownership or permissions, either */
+               replaces[Anum_pg_proc_proowner-1] = ' ';
                replaces[Anum_pg_proc_proacl-1] = ' ';
 
                /* Okay, do it... */
@@ -258,9 +257,9 @@ ProcedureCreate(const char *procedureName,
        /* Verify function body */
        if (OidIsValid(languageValidator))
        {
-               /* Advance command counter so recursive functions can be defined */
+               /* Advance command counter so new tuple can be seen by validator */
                CommandCounterIncrement();
-               OidFunctionCall1(languageValidator, retval);
+               OidFunctionCall1(languageValidator, ObjectIdGetDatum(retval));
        }
 
        return retval;