Re: Outdated comments around HandleFunctionRequest - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: Outdated comments around HandleFunctionRequest
Date
Msg-id e60e309a-35be-bbfb-a5b7-385edd564662@iki.fi
Whole thread Raw
Responses Re: Outdated comments around HandleFunctionRequest  (Heikki Linnakangas <hlinnaka@iki.fi>)
List pgsql-hackers
On 04/05/2017 04:05 AM, Andres Freund wrote:
> PostgresMain() has the following blurb for fastpath functions:
>
>                 /*
>                  * Note: we may at this point be inside an aborted
>                  * transaction.  We can't throw error for that until we've
>                  * finished reading the function-call message, so
>                  * HandleFunctionRequest() must check for it after doing so.
>                  * Be careful not to do anything that assumes we're inside a
>                  * valid transaction here.
>                  */
> and in HandleFunctionRequest() there's:
>
>  * INPUT:
>  *        In protocol version 3, postgres.c has already read the message body
>  *        and will pass it in msgBuf.
>  *        In old protocol, the passed msgBuf is empty and we must read the
>  *        message here.
>
> which is not true anymore.  Followed by:
>
>     /*
>      * Now that we've eaten the input message, check to see if we actually
>      * want to do the function call or not.  It's now safe to ereport(); we
>      * won't lose sync with the frontend.
>      */
>
> which is also not really meaningful, because there's no previous code in
> the function.

You're right, I missed those comments in commit 2b3a8b20c2.

In fact, HandleFunctionRequest() now always return 0, so we can also 
remove the dead code to check the return value from the caller. Barring 
objections, I'll commit the attached to do that and fix the comments.

- Heikki


Attachment

pgsql-hackers by date:

Previous
From: Amit Langote
Date:
Subject: Re: Adding support for Default partition in partitioning
Next
From: Thomas Munro
Date:
Subject: Re: [sqlsmith] Unpinning error in parallel worker