Re: Large file support available

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Large file support available
Date: 2002-08-24 04:45:46
Message-ID: 25571.1030164346@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> I see:
> The fseeko() function is identical to fseek(), except it takes an off_t
> argument instead of a long. Likewise, the ftello() function is identical
> to ftell(), except it returns an off_t.

Indeed. Notice the complete lack of any commitment about the size of
off_t ...

> while fsetpos() is:
> fsetpos(FILE *stream, const fpos_t *pos);

... or the size of fpos_t.

You might find it illuminating to read this random extract from the
HPUX 10.20 man pages:

NAME
fgetpos64(), fopen64(), freopen64(), fseeko64(), fsetpos64(),
fstatvfsdev64(), ftello64(), ftw64(), nftw64(), statvfsdev64(),
tmpfile64() - non-POSIX standard API interfaces to support large
files.

DESCRIPTION
New API's to support large files. These API interfaces are not a part
of the POSIX standard and may be removed in the future.

fgetpos64() The fgetpos64() function is identical to
fgetpos() except that fgetpos64() returns the
position in a fpos64_t instead of a fpos_t. All
other functional behaviors, returns, and errors
are identical.

... etc ...

I don't see any reason to believe that fgetpos buys us anything but
notational inconvenience. It certainly doesn't buy large file support,
at least not without the same behind-the-scenes redefinitions needed for
fseek/fseeko and friends...

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Neil Conway 2002-08-24 04:47:16 Re: [GENERAL] PostgreSQL 7.2.2: Security Release
Previous Message Lamar Owen 2002-08-24 04:44:55 Re: [GENERAL] PostgreSQL 7.2.2: Security Release