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@xxxxxxxxxxxxxxxx> writes: > > "Trevor Talbot" <quension@xxxxxxxxx> 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@xxxxxxxxxxxxxx so that your > message can get through to the mailing list cleanly -- Bruce Momjian <bruce@xxxxxxxxxx> http://momjian.us EnterpriseDB http://postgres.enterprisedb.com + If your life is a hard drive, Christ can be your backup. + -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general