Thread: Buffered file creation and usage

Buffered file creation and usage

From
"VOGLOZIN W. Amenel"
Date:
Hi,
I'm implementing a module in pgsql on the server side (Win32 version, but
it's not platform-specific). I need access to a specific file whose name I
know (of course!). I'm trying to use a buffered access though the BufFile
type (header path is 'include/storage/buffile.h').
The problem is that there is only one constructor for data type BufFile
(namely 'extern BufFile *BufFileCreateTemp(bool interXact);'). The other
possible constructors I found were in buffile.c but the only one that
allows me to specify a file is protected by an  'ifdef NOT_USED'.

My questions are:
1- is it possible to have a buffered access to a file initially external
to the database ? If yes, how can I do that ?
2- what is the meaning of the NOT_USED define ? A text search showed it is
used in more than 40 files.
Thanks.

Re: Buffered file creation and usage

From
Tom Lane
Date:
"VOGLOZIN W. Amenel" <amenel.voglozin@univ-nantes.fr> writes:
> I'm implementing a module in pgsql on the server side (Win32 version, but
> it's not platform-specific). I need access to a specific file whose name I
> know (of course!). I'm trying to use a buffered access though the BufFile
> type (header path is 'include/storage/buffile.h').

Why do you think this is a good idea?  The services provided by
buffile.c aren't really useful for anything except PG temporary files.
AFAICS you'd be better off using fd.c directly.

            regards, tom lane