On 2017/03/29 15:20, Ashutosh Bapat wrote:
> The prologue of set_append_rel_size() mentions
> 
>  * ....  Note that in the inheritance case,
>  * the first member relation is actually the same table as is mentioned in
>  * the parent RTE ... but it has a different RTE and RelOptInfo.
> 
> This isn't true about partitioned tables anymore. We do not create
> RelOptInfo of the partitioned table and thus is not first member
> relation.

My bad.

> We could argue that inheritance in case of partitioned
> tables is just an implementation detail and partitioned table is not
> "inherited" in true sense. So "inheritance case" referred to here does
> not cover partitioning and so the sentence still holds. But I guess,
> this needs some change so that we do not expect first member to be
> same as partitioned table. I am not able to craft an elegant sentence
> but how about something like attached?

I think we *should* update the comment somwhow.  Since now there are a few
places using "non-partitioned inheritance" to refer to regular parent
tables, why not use that term here too?  So:

  * The passed-in rel and RTE represent the entire append relation.  The
- * relation's contents are computed by appending together the output of
- * the individual member relations.  Note that in the inheritance case,
- * the first member relation is actually the same table as is mentioned in
- * the parent RTE ... but it has a different RTE and RelOptInfo.  This is
+ * relation's contents are computed by appending together the output of the
+ * individual member relations.  Note that in the non-partitioned inheritance
+ * case, the first member relation is actually the same table as is mentioned
+ * in the parent RTE ... but it has a different RTE and RelOptInfo.  This is

Update patch attached.

Thanks,
Amit
diff --git a/src/backend/optimizer/path/allpaths.c b/src/backend/optimizer/path/allpaths.c
index a1e1a87c29..9fce9437f8 100644
--- a/src/backend/optimizer/path/allpaths.c
+++ b/src/backend/optimizer/path/allpaths.c
@@ -834,10 +834,10 @@ set_foreign_pathlist(PlannerInfo *root, RelOptInfo *rel, RangeTblEntry *rte)
  *	  Set size estimates for an "append relation"
  *
  * The passed-in rel and RTE represent the entire append relation.  The
- * relation's contents are computed by appending together the output of
- * the individual member relations.  Note that in the inheritance case,
- * the first member relation is actually the same table as is mentioned in
- * the parent RTE ... but it has a different RTE and RelOptInfo.  This is
+ * relation's contents are computed by appending together the output of the
+ * individual member relations.  Note that in the non-partitioned inheritance
+ * case, the first member relation is actually the same table as is mentioned
+ * in the parent RTE ... but it has a different RTE and RelOptInfo.  This is
  * a good thing because their outputs are not the same size.
  */
 static void
-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to