Re: Mark ItemPointer parameters as const in tuple/table lock functions
Chao Li <li.evan.chao@gmail.com>
From: Chao Li <li.evan.chao@gmail.com>
To: Peter Eisentraut <peter@eisentraut.org>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-08-28T02:30:13Z
Lists: pgsql-hackers
Attachments
- v2-0001-Mark-ItemPointer-parameters-as-const-in-tuple-tab.patch (application/octet-stream) patch v2-0001
Mail Archive always misses attachments sent by Apple Mail. Resending from the Gmail web client. Chao Li (Evan) --------------------- Highgo Software Co., Ltd. https://www.highgo.com/ Chao Li <li.evan.chao@gmail.com> 于2025年8月28日周四 10:28写道: > > > On Aug 27, 2025, at 17:24, Peter Eisentraut <peter@eisentraut.org> wrote: > > This style of having Foo be a type alias for pointer-to-FooData is an > ancient Postgres coding convention that does not map well to modern C that > has an emphasis on judicious use of qualifiers and attributes, and so if > this abstraction gets in the way, we sometimes crack it open, like in the > case of ItemPointerGetBlockNumber() etc. > > > You are right, we want to protect the stuff that “tid” points to instead > of “tid” itself: > > *tid = something; // should hit compile error > tid = something; // ok > > Also, thanks for telling the history. I have updated the patch to use > “const ItemPointerData *” in the same way as ItemPointerGetBlockNumber(). > > Attached is the v2 patch. > > Best regards, > -- > Chao Li (Evan) > HighGo Software Co., Ltd. > https://www.highgo.com/ > > > > >
Commits
-
Mark ItemPointer arguments as const in tuple/table lock functions
- 991295f387a6 19 (unreleased) landed