On Mon, Jul 28, 2025 at 9:22 AM torikoshia <torikos...@oss.nttdata.com> wrote: > > I think the behavior for materialized views can be described along with > that for partitioned tables. For example: > > <command>COPY TO</command> can be used with plain > tables, populated materialized views and partitioned tables. > For example, if <replaceable class="parameter">table</replaceable> > is a plain table, > <literal>COPY <replaceable class="parameter">table</replaceable> > TO</literal> copies the same rows as > <literal>SELECT * FROM ONLY <replaceable > class="parameter">table</replaceable></literal>. > > If <replaceable class="parameter">table</replaceable> is a > partitioned table or a materialized view, > <literal>COPY <replaceable class="parameter">table</replaceable> > TO</literal> > copies the same rows as <literal>SELECT * FROM <replaceable > class="parameter">table</replaceable></literal>. > Your description seems ok to me. Let's see if anyone else has a different take.
> + List *children = NIL; > ... > + { > + children = find_all_inheritors(RelationGetRelid(rel), > > Since 'children' is only used inside the else if block, I think we don't > need the separate "List *children = NIL;" declaration. > Instead, it could just be "List *children = find_all_inheritors(...)". > you are right. ""List *children = find_all_inheritors(...)"." should be ok.