| From: | Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com> |
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
| Cc: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
| Subject: | Re: More const-marking cleanup |
| Date: | 2025-12-08 07:43:34 |
| Message-ID: | aTaBprQg8AMfXeBP@ip-10-97-1-34.eu-west-3.compute.internal |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi,
On Fri, Dec 05, 2025 at 03:52:40PM -0500, Tom Lane wrote:
> I wrote:
> > Ah. Your script didn't notice the need for const'ification of
> > additional variables in map_locale() :-(.
Ah, right, thanks for letting me know. It would need more work to catch those.
That said I improved the script [1] so that:
- It found one more (see the attached)
- It is able to detect cases even for functions created in the code tree. It found
that skip_drive() (path.c) and bsearch_arg() (bsearch_arg.c) are also functions
that cast away const in their return values
- It also checked callers for the 2 functions above and did not find const to add
> Adding these comments feels a bit like putting lipstick on a pig.
> find_variable and its subroutines are an inelegant, duplicative
> mess that fails to handle cases it easily could handle if it were
> rewritten. But I've put enough brain cells into this already,
> and also it appears that there are restrictions elsewhere in ecpg
> that'd have to be lifted before it'd make a difference.
I also look at those (even if already pushed in 4eda42e8bdf) and they LGTM.
[1]: https://github.com/bdrouvot/coccinelle_on_pg/blob/main/misc/indirectly_casting_away_const.cocci
Regards,
--
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com
| Attachment | Content-Type | Size |
|---|---|---|
| v1-0001-Fix-a-case-of-indirectly-casting-away-const.patch | text/x-diff | 935 bytes |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Eisentraut | 2025-12-08 07:57:17 | Re: Make copyObject work in C++ |
| Previous Message | Masahiko Sawada | 2025-12-08 07:36:20 | Re: POC: enable logical decoding when wal_level = 'replica' without a server restart |