]> granicus.if.org Git - postgresql/commitdiff
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;