Re: Fix fseek() detection of unseekable files on WIN32

Поиск
Список
Период
Сортировка
От Juan José Santamaría Flecha
Тема Re: Fix fseek() detection of unseekable files on WIN32
Дата
Msg-id CAC+AXB0PcESdDEUCA16ofNBqrHvQBL4L4H9LH4GBWBm0xR3m0Q@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Fix fseek() detection of unseekable files on WIN32  (Michael Paquier <michael@paquier.xyz>)
Ответы Re: Fix fseek() detection of unseekable files on WIN32
Список pgsql-hackers

On Thu, Mar 16, 2023 at 2:05 AM Michael Paquier <michael@paquier.xyz> wrote:
On Wed, Mar 15, 2023 at 12:18:25PM +0100, Juan José Santamaría Flecha wrote:
> PFA a new version of the patch.

+_pgftello64(FILE *stream)
+{
+   DWORD           fileType;
+
+   fileType = GetFileType((HANDLE) _get_osfhandle(_fileno(stream)));

Hmm.  I am a bit surprised here..  It seems to me that we should make
sure that:
- We exist quickly if _get_osfhandle() returns -2 or
INVALID_HANDLE_VALUE, returning EINVAL?
- After GetFileType(), check for GetLastError() and the
FILE_TYPE_UNKNOWN case?

Do you think that these would be improvements?

IDK, this is just looking for the good case, anything else we'll fail with ESPIPE or EINVAL anyway. If we want to get the proper file type we can call fstat(), which has the full logic.

Regards,

Juan José Santamaría Flecha

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

Предыдущее
От: Julien Rouhaud
Дата:
Сообщение: Re: pg_dump versus hash partitioning
Следующее
От: Bharath Rupireddy
Дата:
Сообщение: Re: Add pg_walinspect function with block info columns