On 2018/06/19 17:51, Amit Langote wrote: > On 2018/05/17 11:48, Amit Langote wrote: >> On 2018/05/17 11:40, David Rowley wrote: >>> On 17 May 2018 at 13:52, Amit Langote <langote_amit...@lab.ntt.co.jp> wrote: >>>> Commit 499be013de6 used 'partition' where it really meant 'partitioned' in >>>> a few places including in a variable name. For example, what almost all >>>> places call 'partitioned_rels', make_partition_pruneinfo called >>>> 'partition_rels'. >>>> >>>> Attached a patch to make that uniform to avoid confusion. >>> >>> Looks good to me. >> >> Thanks for taking a look at it. > > Did this perhaps get forgotten?
Noticed that the relevant code changed, so I rebased the patch. Also, made a minor update to a nearby comment. Thanks, Amit
diff --git a/src/backend/partitioning/partprune.c b/src/backend/partitioning/partprune.c index 0a76b77d3e..aad75f113d 100644 --- a/src/backend/partitioning/partprune.c +++ b/src/backend/partitioning/partprune.c @@ -176,9 +176,9 @@ static bool partkey_datum_from_expr(PartitionPruneContext *context, /* * make_partition_pruneinfo - * Build List of PartitionPruneInfos, one for each 'partitioned_rels'. - * These can be used in the executor to allow additional partition - * pruning to take place. + * Build List of PartitionPruneInfos, one for each relation mentioned + * in 'partitioned_rels'. These can be used in the executor to allow + * additional partition pruning to take place. * * Here we generate partition pruning steps for 'prunequal' and also build a * data structure which allows mapping of partition indexes into 'subpaths' @@ -190,7 +190,7 @@ static bool partkey_datum_from_expr(PartitionPruneContext *context, * pruning done during planning will have pruned everything that can be. */ List * -make_partition_pruneinfo(PlannerInfo *root, List *partition_rels, +make_partition_pruneinfo(PlannerInfo *root, List *partitioned_rels, List *subpaths, List *prunequal) { RelOptInfo *targetpart = NULL; @@ -229,11 +229,11 @@ make_partition_pruneinfo(PlannerInfo *root, List *partition_rels, /* * relid_subpart_map maps relid of a non-leaf partition to the index in - * 'partition_rels' of that rel (which will also be the index in the + * 'partitioned_rels' of that rel (which will also be the index in the * returned PartitionPruneInfo list of the info for that partition). */ i = 1; - foreach(lc, partition_rels) + foreach(lc, partitioned_rels) { Index rti = lfirst_int(lc); @@ -246,8 +246,8 @@ make_partition_pruneinfo(PlannerInfo *root, List *partition_rels, relid_subpart_map[rti] = i++; } - /* We now build a PartitionPruneInfo for each rel in partition_rels */ - foreach(lc, partition_rels) + /* We now build a PartitionPruneInfo for each rel in partitioned_rels */ + foreach(lc, partitioned_rels) { Index rti = lfirst_int(lc); RelOptInfo *subpart = find_base_rel(root, rti); diff --git a/src/include/partitioning/partprune.h b/src/include/partitioning/partprune.h index 09147b532c..9944d2832f 100644 --- a/src/include/partitioning/partprune.h +++ b/src/include/partitioning/partprune.h @@ -74,7 +74,8 @@ typedef struct PartitionPruneContext #define PruneCxtStateIdx(partnatts, step_id, keyno) \ ((partnatts) * (step_id) + (keyno)) -extern List *make_partition_pruneinfo(PlannerInfo *root, List *partition_rels, +extern List *make_partition_pruneinfo(PlannerInfo *root, + List *partitioned_rels, List *subpaths, List *prunequal); extern Relids prune_append_rel_partitions(RelOptInfo *rel); extern Bitmapset *get_matching_partitions(PartitionPruneContext *context,