]> granicus.if.org Git - postgresql/commit
Simplify view-expansion code in rewriteHandler.c.
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 15 Apr 2018 01:00:54 +0000 (21:00 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 15 Apr 2018 01:01:03 +0000 (21:01 -0400)
commit49ac4039b28ec04ec0329b13bbb1baa6e94c86b7
tree7b0f8d6913afa76193e1d0f16047ccfe1083c281
parent4d64abc2feed10b8a8dd03181dfa3b0f9aa00c33
Simplify view-expansion code in rewriteHandler.c.

In the wake of commit 50c6bb022, it's not necessary for ApplyRetrieveRule
to have a forUpdatePushedDown parameter.  By the time control gets here for
any given view-referencing RTE, we should already have pushed down the
effects of any FOR UPDATE/SHARE clauses affecting the view from outer query
levels.  Hence if we don't find a RowMarkClause at the current query level,
that's sufficient proof that there is no outer one either.  This in turn
means we need no forUpdatePushedDown parameter for fireRIRrules.

I wonder whether we oughtn't also revert commit cba2d2717, since it now
seems likely that that was band-aiding around the bad effects of doing
FOR UPDATE pushdown and view expansion in the wrong order.  However,
in the absence of evidence that the current coding of markQueryForLocking
is actually buggy (i.e. missing RTEs it ought to mark), it seems best to
leave it alone.

Discussion: https://postgr.es/m/24db7b8f-3de5-e25f-7ab9-d8848351d42c@gmail.com
src/backend/rewrite/rewriteHandler.c