Re: htup header reorganization breaks many extension modules

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at>, Hitoshi Harada *EXTERN* <umi(dot)tanuki(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: htup header reorganization breaks many extension modules
Date: 2012-09-26 14:18:51
Message-ID: 50630ECB.4010400@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 9/26/12 10:07 AM, Tom Lane wrote:
> I can't get excited about this either. This isn't the first, or the
> last, change that add-on modules can expect to have to make to track
> newer Postgres versions. If we allow Peter's complaint to become the
> new project policy, we'll never be able to make any header
> rearrangements at all, nor change any internal APIs.

I'm not saying we can never change anything about the internal headers,
but we can make a small effort not to create useless annoyances.

That said, could someone clarify the header comments in the new headers?
We currently have

* htup.h
* POSTGRES heap tuple definitions.

* htup_details.h
* POSTGRES heap tuple header definitions.

The names of the headers don't match their documented purpose very much.
Is GETSTRUCT a "detail" of the heap tuple definition, or is it related
to "tuple headers"? It's not really either, but I guess it is related
to tuple headers because you need to know about the headers to get to
the stuff past it.

When I see headers stuff.h and stuff_details.h, it makes me think that
you should only use stuff.h, and stuff_details.h are internal things.
But a lot of external modules use GETSTRUCT, so they might get confused.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2012-09-26 14:21:33 Re: Oid registry
Previous Message Simon Riggs 2012-09-26 14:08:56 Re: system_information.triggers & truncate triggers