Remove some obsolete procedure-specific code from PLs
authorPeter Eisentraut <peter_e@gmx.net>
Mon, 5 Mar 2018 16:51:15 +0000 (11:51 -0500)
committerPeter Eisentraut <peter_e@gmx.net>
Mon, 5 Mar 2018 16:51:15 +0000 (11:51 -0500)
Since procedures are now declared to return void, code that handled
return values for procedures separately is no longer necessary.

src/pl/plperl/plperl.c
src/pl/plpython/plpy_procedure.c
src/pl/tcl/pltcl.c

index fa8e2fdc695546da95241591e55153c911803335..d44089aedcc845aeb81cf4db2399069ce62d7bc5 100644 (file)
@@ -2832,8 +2832,7 @@ compile_plperl_function(Oid fn_oid, bool is_trigger, bool is_event_trigger)
         * Get the required information for input conversion of the
         * return value.
         ************************************************************/
-       if (!is_trigger && !is_event_trigger &&
-           procStruct->prokind != PROKIND_PROCEDURE)
+       if (!is_trigger && !is_event_trigger)
        {
            Oid         rettype = procStruct->prorettype;
 
index 82cc3f28b8d3029ba7fc62d0ecbd9d5d22875891..b4c4dcdb6c2defac5e09c68d2a6fee1d80db8c3f 100644 (file)
@@ -206,9 +206,9 @@ PLy_procedure_create(HeapTuple procTup, Oid fn_oid, bool is_trigger)
 
        /*
         * get information required for output conversion of the return value,
-        * but only if this isn't a trigger or procedure.
+        * but only if this isn't a trigger.
         */
-       if (!is_trigger && procStruct->prokind != PROKIND_PROCEDURE)
+       if (!is_trigger)
        {
            Oid         rettype = procStruct->prorettype;
            HeapTuple   rvTypeTup;
index 2eb6c337aae14f7cee24baf764ba6b80544363fb..11411f35ab3ba63eef1264d58030bd85d25f93dd 100644 (file)
@@ -146,7 +146,6 @@ typedef struct pltcl_proc_desc
    Oid         result_typid;   /* OID of fn's result type */
    FmgrInfo    result_in_func; /* input function for fn's result type */
    Oid         result_typioparam;  /* param to pass to same */
-   bool        fn_is_procedure;    /* true if this is a procedure */
    bool        fn_retisset;    /* true if function returns a set */
    bool        fn_retistuple;  /* true if function returns composite */
    bool        fn_retisdomain; /* true if function returns domain */
@@ -982,7 +981,7 @@ pltcl_func_handler(PG_FUNCTION_ARGS, pltcl_call_state *call_state,
        retval = (Datum) 0;
        fcinfo->isnull = true;
    }
-   else if (fcinfo->isnull && !prodesc->fn_is_procedure)
+   else if (fcinfo->isnull)
    {
        retval = InputFunctionCall(&prodesc->result_in_func,
                                   NULL,
@@ -1040,13 +1039,11 @@ pltcl_func_handler(PG_FUNCTION_ARGS, pltcl_call_state *call_state,
                                       call_state);
        retval = HeapTupleGetDatum(tup);
    }
-   else if (!prodesc->fn_is_procedure)
+   else
        retval = InputFunctionCall(&prodesc->result_in_func,
                                   utf_u2e(Tcl_GetStringResult(interp)),
                                   prodesc->result_typioparam,
                                   -1);
-   else
-       retval = 0;
 
    return retval;
 }
@@ -1523,9 +1520,7 @@ compile_pltcl_function(Oid fn_oid, Oid tgreloid,
         * Get the required information for input conversion of the
         * return value.
         ************************************************************/
-       prodesc->fn_is_procedure = (procStruct->prokind == PROKIND_PROCEDURE);
-
-       if (!is_trigger && !is_event_trigger && !prodesc->fn_is_procedure)
+       if (!is_trigger && !is_event_trigger)
        {
            Oid         rettype = procStruct->prorettype;
 
@@ -2218,7 +2213,7 @@ pltcl_returnnext(ClientData cdata, Tcl_Interp *interp,
                tuplestore_puttuple(call_state->tuple_store, tuple);
            }
        }
-       else if (!prodesc->fn_is_procedure)
+       else
        {
            Datum       retval;
            bool        isNull = false;