Re: includedir_internal headers are not self-contained

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: includedir_internal headers are not self-contained
Дата
Msg-id 9364.1398693116@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: includedir_internal headers are not self-contained  (Heikki Linnakangas <hlinnakangas@vmware.com>)
Ответы Re: includedir_internal headers are not self-contained  (Heikki Linnakangas <hlinnakangas@vmware.com>)
Список pgsql-hackers
Heikki Linnakangas <hlinnakangas@vmware.com> writes:
> On 04/28/2014 03:29 PM, Christoph Berg wrote:
>> Re: Heikki Linnakangas 2014-04-28 <535E09B7.3090706@vmware.com>
>>> I'm using it in the pg_rewind tool. It needs to know how to map relfilenodes
>>> to physical files.

>> Isn't pg_rewind so low-level server-close that it needs tons of server
>> headers anyway, including one that would still have relpath()? We are
>> talking here about what headers pure client apps need.

> It knows how to decode WAL, similar to pg_xlogdump. And it knows about 
> the data directory layout, in particular, how relfilenodes are mapped to 
> physical files. Those are the low-level parts. So, it certainly needs 
> some server headers, but I wouldn't call it tons.

I'm not even worried about which headers this program uses.  What I'm
worried about is that you've got CATALOG_VERSION_NO compiled into a
non-server executable.  Is that really such a great idea?  Wouldn't it be
better if pg_rewind did not depend on that?  (Perhaps it should get the
database's catalog version out of the pg_control file, for example.)

In short, while I don't deny that there may be non-server programs
that need to know about physical file paths, I do strongly doubt
that relpath.h/.c in their current form are a good solution to that
problem.
        regards, tom lane



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

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: [COMMITTERS] pgsql: Can't completely get rid of #ifndef FRONTEND in palloc.h :-(
Следующее
От: Tom Lane
Дата:
Сообщение: Re: allowing VACUUM to be cancelled for conflicting locks