| From: | jian he <jian(dot)universality(at)gmail(dot)com> |
|---|---|
| To: | Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com> |
| Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: PartitionKeyData->partattrs, refactor some 0 to InvalidAttrNumber |
| Date: | 2025-11-17 03:04:15 |
| Message-ID: | CACJufxHSSt8F9=0g9UpX=SWcURz889F5qqeQJmseaN5Hj9X+Jg@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Sat, Nov 15, 2025 at 12:59 AM Bertrand Drouvot
<bertranddrouvot(dot)pg(at)gmail(dot)com> wrote:
>
> Hi,
>
> On Fri, Nov 14, 2025 at 11:47:35PM +0800, jian he wrote:
> > hi.
> >
> > if PartitionKeyData->partattrs is 0, then it means that partition key is
> > expression, else it's column reference.
> >
> > we can change from
> > if (key->partattrs[i] == 0)
> > to
>
> yes, I think that makes sense to not compare an AttrNumber type to 0, but...
>
> > if (key->partattrs[i] == InvalidAttrNumber)
>
> I think that we should make use of AttributeNumberIsValid() instead. Same
> spirit as we've done in a2b02293bc6.
>
hi.
AttributeNumberIsValid makes more sense.
Attached changes on pg_partitioned_table, pg_index are based on
AttributeNumberIsValid.
> FWIW, I'm looking at the Oid/OidIsValid() cases currently (writing a coccinelle
> script).
>
> I can look at the AttrNumber/AttributeNumberIsValid() cases after (that should be
> as easy as changing Oid to AttrNumber and OidIsValid() to AttributeNumberIsValid()
> in the coccinelle script), unless you want to take care of the AttrNumber case?
>
Currently, I am only interested in pg_partitioned_table.partattrs,
pg_index.indkey.
| Attachment | Content-Type | Size |
|---|---|---|
| v2-0002-refactor-0-to-InvalidAttrNumber-for-pg_index.indkey-associated.patch | text/x-patch | 11.7 KB |
| v2-0001-refactor-0-to-InvalidAttrNumber-for-pg_partitioned_table.partattr.patch | text/x-patch | 7.3 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Bráulio Oliveira | 2025-11-17 03:23:09 | Re: fallocate() causes btrfs to never compress postgresql files |
| Previous Message | Thomas Munro | 2025-11-17 02:59:30 | Re: GNU/Hurd portability patches |