Re: ​function arguments are not PG_FUNCTION_ARGS, how to pass Node *escontext

Поиск
Список
Период
Сортировка
От jian he
Тема Re: ​function arguments are not PG_FUNCTION_ARGS, how to pass Node *escontext
Дата
Msg-id CACJufxERO1ceh7=w414ACPFNAF8wgwf6Gj_0_jXD7UeSLSSBFw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: ​function arguments are not PG_FUNCTION_ARGS, how to pass Node *escontext  (jian he <jian.universality@gmail.com>)
Ответы Re: ​function arguments are not PG_FUNCTION_ARGS, how to pass Node *escontext  (Andrew Dunstan <andrew@dunslane.net>)
Список pgsql-hackers


On Mon, Jun 26, 2023 at 9:32 PM jian he <jian.universality@gmail.com> wrote:
>
> On Mon, Jun 26, 2023 at 7:50 PM Andrew Dunstan <andrew@dunslane.net> wrote:
> >
> >
> > On 2023-06-26 Mo 07:20, jian he wrote:
> >
> > static
> > Datum return_numeric_datum(char *token)
> > {
> >     Datum   numd;
> >     Node    *escontext;
> >
> >     if (!DirectInputFunctionCallSafe(numeric_in, token,
> >                                     InvalidOid, -1,
> >                                     escontext,
> >                                     &numd));
> >         elog(INFO,"something is wrong");
> >     return numd;
> > }
> >
> >
> > To start with, the semicolon at the end of that if appears bogus. The elog is indented to look like it's conditioned by the if but the semicolon makes it not be.
> >
> > There are compiler switches in modern gcc at least that help you detect things like this.
> >
> >
> > cheers
> >
> >
> > andrew
> >
> > --
> > Andrew Dunstan
> > EDB: https://www.enterprisedb.com
>
>
> sorry. It was my mistake.
>
> >     Node    *escontext;
> >     if (!DirectInputFunctionCallSafe(numeric_in, token,
> >                                     InvalidOid, -1,
> >                                     escontext,
> >                                     &numd))
> >         elog(INFO,"something is wrong");
>
> I wonder about the implication of just declaring Node *escontext in here.
> In this DirectInputFunctionCallSafe, what does escontext point to.

gcc -Wempty-body will detect my error.

However, gcc -Wextra includes  -Wempty-body and  -Wuninitialized and others.
i guess in here, the real question in here is how to initialize escontext.

В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Hayato Kuroda (Fujitsu)"
Дата:
Сообщение: RE: [Patch] Use *other* indexes on the subscriber when REPLICA IDENTITY is FULL
Следующее
От: Yugo NAGATA
Дата:
Сообщение: pgbnech: allow to cancel queries during benchmark