| From: | Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> |
|---|---|
| To: | Peter Smith <smithpb2250(at)gmail(dot)com> |
| Cc: | shveta malik <shveta(dot)malik(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: A new C function `get_partition_root`. |
| Date: | 2026-07-30 05:45:49 |
| Message-ID: | 0530719C-ED43-40A3-80B4-80025AE97574@gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
> On Jul 30, 2026, at 08:04, Peter Smith <smithpb2250(at)gmail(dot)com> wrote:
>
> On Wed, Jul 29, 2026 at 7:18 PM shveta malik <shveta(dot)malik(at)gmail(dot)com> wrote:
>>
>> On Wed, Jul 29, 2026 at 2:28 PM Peter Smith <smithpb2250(at)gmail(dot)com> wrote:
> ...
>>> BTW, although I think using sanity Assert was correct, just in case
>>> there is some unanticipated way to reach the C function with a bad
>>> relid, I've changed to use an errlog(ERROR).
>>> Thoughts?
>>
>> I don't immediately see any such possibility. I feel Assert is better.
>>
>
> OK. PSA v4, which is the same as v3, but uses Assert instead of elog.
>
> ======
> Kind Regards,
> Peter Smith.
> Fujitsu Australia
> <v4-0001-Add-C-function-get_partition_root.patch>
I just reviewed v4 and got a doubt:
```
+ /* Sanity check: The root must be a partitioned table */
+ Assert(RELKIND_HAS_PARTITIONS(get_rel_relkind(root_relid)));
```
Looking into get_partition_ancestors(), it returns NIL in two cases:
1) No more parent
2) detach_pending is true
Case 1 is an expected case, I doubt case 2 may fire the Assert.
Say, partitioned table p has a leaf partition p1, now p1 is being detached. get_partition_ancestors(p1) may return NIL because of detach_pending, so root_relid is set to p1, but p1 is not a partitioned table, then this Assert is fired.
Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Rafia Sabih | 2026-07-30 06:02:15 | Re: Fix BUG #19586: money division overflow for INT64_MIN / -1 |
| Previous Message | Andrey Rachitskiy | 2026-07-30 05:32:00 | Re: Build warning with meson and dtrace on Fedora 43 |