pgsql: Add a crude facility for dealing with relative pointers. - Mailing list pgsql-committers

From Robert Haas
Subject pgsql: Add a crude facility for dealing with relative pointers.
Date
Msg-id E1cCqpg-0007ge-Rf@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Add a crude facility for dealing with relative pointers.

C doesn't have any sort of built-in understanding of a pointer
relative to some arbitrary base address, but dynamic shared memory
segments can be mapped at different addresses in different processes,
so any sort of shared data structure stored within a dynamic shared
memory segment can't use absolute pointers.  We could use something
like Size to represent a relative pointer, but then the compiler
provides no type-checking.  Use stupid macro tricks to get some
type-checking.

Patch originally by me.  Concept suggested by Andres Freund.  Recently
resubmitted as part of Thomas Munro's work on dynamic shared memory
allocation.

Discussion: 20131205144434.GG12398@alap2.anarazel.de
Discussion: CAEepm=1z5WLuNoJ80PaCvz6EtG9dN0j-KuHcHtU6QEfcPP5-qA@mail.gmail.com

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/fbc1c12a94a638cf4f577fef158175e22ab824a3

Modified Files
--------------
src/include/utils/relptr.h | 74 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 74 insertions(+)


pgsql-committers by date:

Previous
From: Robert Haas
Date:
Subject: pgsql: Clarify that pg_stat_activity.query has a length limit.
Next
From: Robert Haas
Date:
Subject: pgsql: Management of free memory pages.