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

Поиск
Список
Период
Сортировка
От christianr@fastmail.com
Тема BUG #13404: Docs do not mention "access/htup_details.h" for C functions using heap_form_tuple
Дата
Msg-id 20150605195349.22140.41708@wrigleys.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #13404: Docs do not mention "access/htup_details.h" for C functions using heap_form_tuple  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      13404
Logged by:          Christian Reinke
Email address:      christianr@fastmail.com
PostgreSQL version: 9.4.2
Operating system:   Linux
Description:

Bug report regarding: PostgreSQL 9.4.2 Documentation (in HTML format)
                      Section 35.9. C-Language Functions
                      Section 35.9.8. Returning Rows (Composite Types)

PostgreSQL version: 9.4.2.

Debian packages: postgresql-9.4, postgresql-doc-9.4,
postgresql-server-dev-9.4,
                 etc., all version 9.4.2-0+deb8u1.

Platform: Linux ... 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt9-3~deb8u1
          (2015-04-24) x86_64 GNU/Linux.

I tried to compile a C-language function that uses the function
heap_form_tuple and got a warning because its declaration was missing:

gcc -I/usr/include/postgresql/9.4/server -Wall -c -fpic -lm -g test1.c
test1.c: In function ‘test1’:
test1.c:246:3: warning: implicit declaration of function ‘heap_form_tuple’
[-Wimplicit-function-declaration]
   result_tuple = heap_form_tuple (result_tuple_desc, dat, isnull);
   ^

test1.c compiled without this warning under PostgreSQL 9.1.

test1.c included the following PostgreSQL header files:
#include "postgres.h"
#include "fmgr.h"
#include "funcapi.h"
#include "executor/executor.h"

test1.c compiles successfully under PostgreSQL 9.4 if I, also, include:
#include "access/htup_details.h"

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?

В списке pgsql-bugs по дате отправления:

Предыдущее
От: heliotec2008@gmail.com
Дата:
Сообщение: BUG #13403: Erro na instalção
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: BUG #13404: Docs do not mention "access/htup_details.h" for C functions using heap_form_tuple