On 10/25/26 7:55 AM, Mark wrote:
Hi Adrian

Thanks for the input

On Sun, Oct 25, 2026 at 2:42 PM Adrian Klaver <[email protected] <mailto:[email protected]>> wrote:


    And from here:

    https://www.postgresql.org/docs/current/plpgsql-
    declarations.html#PLPGSQL-DECLARATION-PARAMETERS <https://
    www.postgresql.org/docs/current/plpgsql-declarations.html#PLPGSQL-
    DECLARATION-PARAMETERS>

    "To call a function with OUT parameters, omit the output
    parameter(s) in
    the function call: ..."


In the second case with 3 parameters:  SELECT getSessDbKey (iSessionId => '1234'::text, iUser => .... This was called from the psql command line, the OUT values were returned in the terminal, example:
getsessdbkey
---------------
(3,,keyFound)

Which is the correct process.

When you are calling(SELECTing) the function inside the other function you are doing:

SELECT getSessDbKey (jSessionId, jUser, 'functionName'::text, vSessDbKey, vSessRet, vGetSessDbKeyMess);

There six arguments to to the function.

You get this:

ERROR: function getsessdbkey(text, text, text, bigint, customType, text) does not exist

because your functions signature is:

getsessdbkey(text, text, text)

The OUT parameters are not exposed, so you only get to use three arguments to the function.

If you want a parameter to be dual purpose then you can declare it INOUT.




Thanks for the link, for the 1st case I had defined the IN and OUT parameters in the parent function, I have also just tried the:
parameterName ALIAS FOR $x , but that did not make a difference

Mark

Edit I have just seen your follow up message, there are no INOUT parameters

     >
     > I just tried to user CALL and the HINT was to use SELECT
     >
     > Mark
     >
     > On Sun, Oct 25, 2026 at 1:00 PM Tom Lane <[email protected]
    <mailto:[email protected]>
     > <mailto:[email protected] <mailto:[email protected]>>> wrote:
     >
     >     Mark <[email protected] <mailto:[email protected]>
    <mailto:[email protected] <mailto:[email protected]>>> writes:
     >      > I am getting the following error which has been driving me
    crazy:
     >      > ERROR:  function getsessdbkey(text, text, text, bigint,
     >     customType, text)
     >      > does not exist
     >
     >     (1) search_path problem, perhaps?
     >     (2) are you using a CALL statement to call it?
     >
     >                              regards, tom lane
     >


-- Adrian Klaver
    [email protected] <mailto:[email protected]>



--
Adrian Klaver
[email protected]


Reply via email to