| 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
| 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 |