Re: pg15b1: FailedAssertion("val > base", File: "...src/include/utils/relptr.h", Line: 67, PID: 30485)
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Thomas Munro <thomas.munro@gmail.com>,
Kyotaro Horiguchi <horikyota.ntt@gmail.com>,
Justin Pryzby <pryzby@telsasoft.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-05-31T22:39:23Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes: > On Tue, May 31, 2022 at 6:14 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: >> However, now that I've corrected that mistaken image ... I wonder if >> it could make sense to redefine relptr as self-relative? That ought >> to provide some notational savings since you'd only need to carry >> around the relptr's own address not that plus a base address. >> Probably not something to consider for v15 though. > I think that would be pretty hard to make work, since copying around a > relative pointer would change its meaning. Code like "relptr_foo x = > *y" would be broken, for example, but the compiler would not complain. Sure, but the current definition is far from error-proof as well: nothing stops you from using the wrong base address with a relptr's value. Anyway, it's just idle speculation at this point. regards, tom lane
Commits
-
Fix relptr's encoding of the base address.
- 99504ff8265e 14.5 landed
- 7201cd18627a 15.0 landed
-
Suppress compiler warning in relptr_store().
- e07d4ddc55fd 15.0 cited