Hi, 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. This largely seems to be damage from commit 2b3a8b20c2da9f39ffecae25ab7c66974fbc0d3b Author: Heikki Linnakangas <heikki.linnakan...@iki.fi> Date: 2015-02-02 17:08:45 +0200 Be more careful to not lose sync in the FE/BE protocol. Heikki? - Andres -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers