Lock relation used to generate fresh data for RMV.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 1 Oct 2018 15:42:12 +0000 (11:42 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 1 Oct 2018 15:42:12 +0000 (11:42 -0400)
commitde0bea8d4d810c44c72d20ce7e0f51cc717c34ef
treeb32b3b6c165877af21a3fe1ee30909eb21375a58
parent00d00b5b0d12c14374bd604e9535ea0b539d1cec
Lock relation used to generate fresh data for RMV.

Back-patch the 9.4-era commit 2636ecf78 into 9.3, as that fixes a case
where we open a relation while not holding any lock on it.  It's
probably mostly safe anyway, since no other session could touch the
newly-created table; but I think CheckTableNotInUse could be fooled
if one tried.

Per testing with a patch that complains if we open a relation without
holding any lock on it.  I don't plan to back-patch that patch, but we
should close the holes it identifies in all supported branches.

Discussion: https://postgr.es/m/2038.1538335244@sss.pgh.pa.us
src/backend/commands/matview.c