From: | Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: scan on inheritance parent with no children in current session |
Date: | 2017-08-14 05:49:20 |
Message-ID: | CAFjFpRfwawadtQNbwZ8FJ+-my1J4fx1adwh7AQRZ-CtNKO4Ypg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, Aug 11, 2017 at 9:08 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>
> rhaas=# create table parent (a int) partition by list (a);
> CREATE TABLE
> rhaas=# create temp table child partition of parent for values in (1);
> CREATE TABLE
> rhaas=# explain verbose select * from parent;
> QUERY PLAN
> -------------------------------------------------------------------------
> Append (cost=0.00..35.50 rows=2550 width=4)
> -> Seq Scan on pg_temp_3.child (cost=0.00..35.50 rows=2550 width=4)
> Output: child.a
> (3 rows)
>
> But the comments say:
>
> * A childless table is never considered to be an inheritance set; therefore
> * a parent RTE must always have at least two associated AppendRelInfos.
>
> Yet, not. So at least the comments need to be updated;
A partitioned table with at least a single partition is not childless.
So, above comment doesn't apply here. In a regular inheritance there
will be at least two AppendRelInfos one representing a scan on the
parent table and others representing the scan on children. The comment
needs to be distinguish between regular inheritance and partitioned
inheritance. I have modified the comments that way.
> not sure if we
> want to try to eliminate the Append node in this case also.
>
The rest of the query tree and plan tree, expects parent's targetlist
which may be different from that of the child. A notable difference is
whole row expressions getting translated using ConvertRowExpr, which
are not expected to pop up in a scan's targetlist. So we can't
eliminate the Append node.
--
Best Wishes,
Ashutosh Bapat
EnterpriseDB Corporation
The Postgres Database Company
Attachment | Content-Type | Size |
---|---|---|
no_child_parent_scan_v2.patch | text/x-patch | 2.3 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2017-08-14 06:01:44 | Re: Regressions failures with libxml2 on ArchLinux |
Previous Message | Rushabh Lathia | 2017-08-14 04:40:33 | Re: reload-through-the-top-parent switch the partition table |