Re: Missing error_context_stack = NULL in AutoVacWorkerMain()

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Ashwin Agrawal <aagrawal@pivotal.io>, PostgreSQL mailing lists <pgsql-hackers@postgresql.org>, Paul Guo <paulguo@gmail.com>
Date: 2019-10-23T01:31:23Z
Lists: pgsql-hackers
On Mon, Oct 21, 2019 at 12:53:27AM -0400, Tom Lane wrote:
> Oh --- looking closer, proc_exit itself will clear error_context_stack
> before doing much.  So a problem would only occur if we suffered an error
> during EmitErrorReport, which seems somewhat unlikely.  Still, it's bad
> that this code isn't like all the others.  There's certainly no downside
> to clearing the pointer.

Good point about index predicates/expressions.  There is the elog()
hook as well in the area, and it's hard to predict how people use
that.  So applied and back-patched down 9.4.
--
Michael

Commits

  1. Clean up properly error_context_stack in autovacuum worker on exception