Re: A new C function `get_partition_root`.

From: shveta malik <shveta(dot)malik(at)gmail(dot)com>
To: Álvaro Herrera <alvherre(at)kurilemu(dot)de>
Cc: Peter Smith <smithpb2250(at)gmail(dot)com>, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, shveta malik <shveta(dot)malik(at)gmail(dot)com>
Subject: Re: A new C function `get_partition_root`.
Date: 2026-08-03 10:15:32
Message-ID: CAJpy0uDNznTQFk1siP4FwzbaYzfnYeVOodVEvjpa0a1obqrsYQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Aug 3, 2026 at 2:34 PM Álvaro Herrera <alvherre(at)kurilemu(dot)de> wrote:
>
> Hi,
>
> I'd say this looks okay, but why do you need get_partition_root_guts()
> exposed in partition.h? In fact, it's not clear to me why you need a
> second routine at all. Why isn't enough to have just get_partition_root()?
>

I think to avoid performing the validation twice in
pg_partition_root(): first via check_rel_can_be_partition(), and then
again in get_partition_root (see [1]), get_partition_root_guts() is
introduced and exposed in partition.h.

[1]:
+ /* Validate relid is member of a partition tree */
+ Assert(get_rel_relispartition(relid) ||
+ RELKIND_HAS_PARTITIONS(get_rel_relkind(relid)));

thanks
Shveta

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Álvaro Herrera 2026-08-03 10:25:26 Re: A new C function `get_partition_root`.
Previous Message Yilin Zhang 2026-08-03 10:13:24 Re: [PATCH] Add NESTED_STATEMENTS option to EXPLAIN