On Mon, Jun 26, 2023 at 7:50 PM Andrew Dunstan <and...@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.


Reply via email to