Re: BUG #13404: Docs do not mention "access/htup_details.h" for C functions using heap_form_tuple

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: christianr(at)fastmail(dot)com
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #13404: Docs do not mention "access/htup_details.h" for C functions using heap_form_tuple
Date: 2015-06-05 21:50:22
Message-ID: 20150605215022.GA133018@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

christianr(at)fastmail(dot)com wrote:

> PostgreSQL 9.1 included the declaration of heap_form_tuple along the
> sequence funcapi.h, executor/tuptable.h and access/htup.h. In
> PostgreSQL 9.4, the declaration of heap_form_tuple moved from
> access/htup.h to a new header file access/htup_details.h, which is not
> included by funcapi.h.
>
> The HTML documentation, however, seems to say in Section 35.9.8. that it
> is sufficient to include funcapi.h to get all the definitions required
> for functions returning rows (composite types).
>
> Is this a bug, or did I miss something?

Hmm. So there are two ways to fix this bug. One is to #include
"access/htup_details.h" in funcapi.h as you propose; the other is to
change the docs to state that heap_form_tuple is in htup_details and you
need to include that separately if you want it.

I could go both ways, but seeing as we changed this in 9.3 and many
people since then first complained and then tweaked their code to cope
by #including htup_details.h, I think changing the docs is the reasonable
option. You can write functions without using heap_form_tuple, after
all.

Other opinions?

--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2015-06-05 22:36:05 Re: BUG #13404: Docs do not mention "access/htup_details.h" for C functions using heap_form_tuple
Previous Message christianr 2015-06-05 19:53:49 BUG #13404: Docs do not mention "access/htup_details.h" for C functions using heap_form_tuple