Dean Rasheed <dean.a.rasheed@gmail.com> writes:
> My first thought was that it should just preprocess any security
> barrier quals in subquery_planner() in the same way as other quals are
> preprocessed. But thinking about it further, those quals are destined
> to become the quals of subqueries in the range table, so we don't
> actually want to preprocess them at that stage --- that will happen
> later when the new subquery is planned by recursion back into
> subquery_planner(). So I think the right answer is to make
> adjust_appendrel_attrs() handle recursion into sublink subqueries.
TBH, this sounds like doubling down on a wrong design choice. I see
no good reason that updatable security views should require any
fundamental rearrangements of the order of operations in the planner;
and I doubt that this is the last bug you'll have if you insist on
doing that.
regards, tom lane