Re: Possible trigger bug? function call argument literalised - Mailing list pgsql-general

From Tom Lane
Subject Re: Possible trigger bug? function call argument literalised
Date
Msg-id 2692292.1609695452@sss.pgh.pa.us
Whole thread Raw
In response to Possible trigger bug? function call argument literalised  (Thiemo Kellner <thiemo@gelassene-pferde.biz>)
Responses Re: Possible trigger bug? function call argument literalised
List pgsql-general
Thiemo Kellner <thiemo@gelassene-pferde.biz> writes:
> create trigger CALCULATION_METHOD_BR_IU
>    before insert on CALCULATION_METHOD
>    for each row
>    execute function METHOD_CHECK(current_schema);

> Executing such, the string "current_schema" gets literalised, i.e.  
> single quoted:

Yup, per the CREATE TRIGGER documentation [1]:

    arguments

    An optional comma-separated list of arguments to be provided to the
    function when the trigger is executed. The arguments are literal
    string constants. Simple names and numeric constants can be written
    here, too, but they will all be converted to strings. Please check the
    description of the implementation language of the trigger function to
    find out how these arguments can be accessed within the function; it
    might be different from normal function arguments.

> I strongly feel this is a bug,

It's operating as designed.  There might be scope for a feature
improvement here, but it'd be a far-from-trivial task, with probably
a lot of ensuing compatibility breakage.

            regards, tom lane

[1] https://www.postgresql.org/docs/current/sql-createtrigger.html



pgsql-general by date:

Previous
From: Thiemo Kellner
Date:
Subject: Re: Possible trigger bug? function call argument literalised
Next
From: Thomas Flatley
Date:
Subject: RE: Max# of tablespaces