Re: BUG #18774: Not the required output of the query used in the function(delete_from_table1) in postgresql9.4

Rajni Bobal <rajnibobal@gmail.com>

From: Rajni Bobal <rajnibobal@gmail.com>
To: "David G. Johnston" <david.g.johnston@gmail.com>
Cc: pgsql-bugs@lists.postgresql.org
Date: 2025-02-03T05:37:25Z
Lists: pgsql-bugs
Hello Sir,

Thanks for the reply,

as per the documentation, following query execute successfully :

EXECUTE 'SELECT count(*) FROM '
    || quote_ident(tabname)
    || ' WHERE inserted_by = $1 AND inserted <= $2'
   INTO c
   USING checked_user, checked_date;

HERE, $1 and $2 are strings and its values are substituted in the
query. Please clarify, may be i am missing something.

Regards,

Rajni Bobal


On Thu, Jan 23, 2025 at 7:54 PM David G. Johnston <
david.g.johnston@gmail.com> wrote:

> On Thursday, January 23, 2025, Rajni Bobal <rajnibobal@gmail.com> wrote:
>
>> Hello SIr,
>> Please clarify about why $1 is not been replaced by 'colname' in delete_from_table2
>> function.
>>
>
> It has been replace with the string literal value ‘colname’, not a column
> reference identifier “colname”.  You cannot use positional parameters to
> supply identifiers.  Structure must be known at parse time.
>
> David J.
>
>