Added to TODO:
* Remove use of MAKE_PTR and MAKE_OFFSET macros
http://archives.postgresql.org/pgsql-general/2007-08/msg01510.php
---------------------------------------------------------------------------
Tom Lane wrote:
> Gregory Stark <stark@enterprisedb.com> writes:
> > "Trevor Talbot" <quension@gmail.com> writes:
> >> I gather postgres depends on it being at the same address, and fixing that
> >> isn't trivial?
>
> > I haven't been following the rest of the thread so I'm not sure if this is
> > important. But no, fixing that should be relatively trivial as there are
> > already some configurations where it's not the case (the EXEC_BACKEND case I
> > believe). The rest of the system uses a shared memory base pointer and
> > references everything relative to that.
>
> That hasn't been the case for quite a few years, and we're not going back.
> The pointer-to-offset-and-back gymnastics that that required were
> utterly destructive to code readability and maintainability, mainly
> because if everything stored in shmem data structures is an "offset"
> then you can't get any useful error checking from the compiler about how
> you are using the fields. It's like decreeing that every pointer
> must be declared "void *" and cast to something else when it's used.
>
> There are a few old bits of code that still use MAKE_PTR/MAKE_OFFSET,
> but I think it's mostly just that no one's bothered to rewrite the code
> for SHM_QUEUE linked lists. The vast majority of our shmem structures
> use regular pointers, and have for years.
>
> regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://postgres.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +