Excerpts from Peter Eisentraut's message of mar sep 25 21:30:59 -0300 2012:
> I haven't followed the details of the htup header reorganization, but I
> have noticed that a number of external extension modules will be broken
> because of the move of GETSTRUCT() and to a lesser extent
> heap_getattr(). Of course some #ifdefs can fix that, but it seems
> annoying to make everyone do that. Maybe this could be reconsidered to
> reduce the impact on other projects.
Hmm. My original patch didn't have this problem :-( What it did was to
keep htup.h the "everything needed to work on tuples" header; so
external modules would have not become broken. I didn't realize this at
the time, which is why I didn't argue to keep it that way instead of
having the new header contain most innards.
I guess we could rename the headers, so that htup.h is what's now called
htup_details.h, and htup_basics.h for what's currently htup.h. This
would have a lot of fallout in core code, but eliminate impact on
external modules.
That said, I am not really sure that I want to promise header
compatibility forever.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services