Re: executor relation handling
Amit Langote <amitlangote09@gmail.com>
On Tue, Oct 9, 2018 at 11:07 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: > > Amit Langote <Langote_Amit_f8@lab.ntt.co.jp> writes: > > On 2018/10/08 3:55, Tom Lane wrote: > >> I didn't like the idea of unifying ModifyTable.nominalRelation with > >> the partition root info. Those fields serve different masters --- > >> nominalRelation, at least in its original intent, is only meant for > >> use of EXPLAIN and might have nothing to do with what happens at > >> execution. So even though unifying them would work today, we might > >> regret it down the line. Instead I left that field alone and added > >> a separate rootRelation field to carry the partition root RT index, > >> which ends up being the same number of fields anyway since we don't > >> need a flag for is-the-nominal-relation-a-partition-root. > > > Thanks for pushing that. I'd also named it 'rootRelation' in my original > > patch before David had objected to calling it that, because a command may > > not specify the "actual" root of a partition tree; it could be a non-root > > partitioned table. He'd suggested 'partitionedTarget' for the new field > > [1], stressing the "target" part. Maybe, 'rootRelation' isn't too > > confusing though. > > Well, it's the root so far as the current query is concerned --- we do not > take any semantic account of partitioning levels that might exist above > the table named in the query, do we? We don't, and I personally agree with the reasoning behind calling it rootRelation. Thanks, Amit
Commits
-
Avoid O(N^2) cost in ExecFindRowMark().
- f9eb7c14b08d 12.0 landed
-
Remove some unnecessary fields from Plan trees.
- 52ed730d511b 12.0 landed
-
Restore sane locking behavior during parallel query.
- 29ef2b310da9 12.0 landed
-
Remove more redundant relation locking during executor startup.
- f2343653f5b2 12.0 landed
-
In the executor, use an array of pointers to access the rangetable.
- d73f4c74dd34 12.0 landed
-
Centralize executor's opening/closing of Relations for rangetable entries.
- 9ddef36278a9 12.0 landed
-
Change executor to just Assert that table locks were already obtained.
- 9a3cebeaa7fd 12.0 landed
-
Change rewriter/planner/executor/plancache to depend on RTE rellockmode.
- 6e35939febf8 12.0 landed
-
Add assertions that we hold some relevant lock during relation open.
- b04aeb0a053e 12.0 landed
-
Create an RTE field to record the query's lock mode for each relation.
- fdba460a26af 12.0 landed