On 2020-Sep-03, Alvaro Herrera wrote:

> +     /*
> +      * If setting up a PartitionDispatch for a sub-partitioned table, we may
> +      * also need a fake ResultRelInfo for checking the partition constraint
> +      * later; set that up now.
> +      */
> +     if (parent_pd)
> +     {
> +             ResultRelInfo *rri = makeNode(ResultRelInfo);
> +
> +             InitResultRelInfo(rri, rel, 1, proute->partition_root, 0);
> +             proute->nonleaf_partitions[dispatchidx] = rri;
> +     }
> +

Heh, I had intended to remove the attachment before sending, because I
thought I was seeing a problem with this proposed coding of mine.  But
since I sent it by mistake, I'll explain: I think this will fail if we
have a partitioned default partition, and we direct the insert to it
directly while attaching a partition to its parent.  I think that kind
of scenario deserves its own test case.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Reply via email to