On Thu, Jul 23, 2026 at 4:02 PM Ewan Young <[email protected]> wrote: > +1 from me.
+1 I have one comment: /* Completed parsing this message, keep going */ pqParseDone(conn, conn->inStart + 5 + msgLength); needInput = false; + + /* + * An error may have been triggered while processing the message, bail + * out + */ + if (conn->error_result && conn->status == CONNECTION_BAD) + return pqPrepareAsyncResult(conn); getCopyDataMessage() checks for the fatal error before pqParseDone(), but pqFunctionCall3() does it after pqParseDone(). Shouldn't pqFunctionCall3() use the same ordering? If getNotify() or getParameterStatus() calls handleFatalError(), the input buffer has already been flushed, so calling pqParseDone() afterwards seems unnecessary and a bit confusing. Regards, -- Fujii Masao
