Re: More time spending with "delete pending"

Поиск
Список
Период
Сортировка
От Alexander Lakhin
Тема Re: More time spending with "delete pending"
Дата
Msg-id 62c17068-a608-800f-295e-9d2cca5decf7@gmail.com
обсуждение исходный текст
Ответ на Re: More time spending with "delete pending"  (Michael Paquier <michael@paquier.xyz>)
Ответы Re: More time spending with "delete pending"
Список pgsql-hackers
Hello Michael,
12.07.2021 08:52, Michael Paquier wrote:
On Mon, Jul 12, 2021 at 02:09:41PM +0900, Michael Paquier wrote:
And fairywren, that uses MinGW, is unhappy:
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=fairywren&dt=2021-07-12%2004%3A47%3A13
Looking at it now.
I am not sure what to do here to cool down MinGW, so the patch has
been reverted for now:
- Plain stat() is not enough to do a proper detection of the files
pending for deletion on MSVC, so reverting only the part with
microsoft_native_stat() is not going to help.
- We are going to need an evaluation of the stat() implementation in
MinGW and check if is it possible to rely on it more.  If yes, we
could get away with more tweaks based on __MINGW32__/__MINGW64__.
I've managed to adapt open/win32stat for MinGW by preventing stat overriding at the implementation level. Thus, the code that calls stat() will use the overridden struct/function(s), but inside of open/win32_stat we could access original stat and reference to __pgstat64 where we want to use our.
Tested on MSVC, MinGW64 and MinGW32 — the fixed code compiles everywhere.

But when using perl from msys (not ActivePerl) while testing I've got the same test failure due to another error condition:



In this case CreateFile() fails with ERROR_SHARING_VIOLATION (not ERROR_ACCESS_DENIED) and it leads to the same "Permission denied" error. This condition is handled in the pgwin32_open() but not in _pgstat64() yet.

I think I should develop another test for MSVC environment that will demonstrate a such failure too.
But as it's not related to the DELETE_PENDING state, I wonder whether this should be fixed in a separate patch.

Best regards,
Alexander
Вложения

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: proposal - psql - use pager for \watch command
Следующее
От: Ranier Vilela
Дата:
Сообщение: Re: printf %s with NULL pointer (was Re: BUG #17098: Assert failed on composing an error message when adding a type to an extension being dropped)