Re: [PERFORM] autovacuum daemon stops doing work after about an

Поиск
Список
Период
Сортировка
От Vivek Khera
Тема Re: [PERFORM] autovacuum daemon stops doing work after about an
Дата
Msg-id 16335.43272.273411.653445@yertle.int.kciLink.com
обсуждение исходный текст
Ответ на Re: [PERFORM] autovacuum daemon stops doing work after about an  (Larry Rosenman <ler@lerctr.org>)
Список pgsql-hackers
>>>>> "LR" == Larry Rosenman <ler@lerctr.org> writes:

>> I'd be curious to see the output of this program on other platforms
>> and other compilers.  I'm using gcc 2.95.4 as shipped with FreeBSD
>> 4.8+.
LR> this is with the UnixWare compiler:
LR> $ cc -O -o testvk testvk.c
LR> $ ./testvk
LR> seconds = 3509
LR> seconds1 = 3509000000
LR> useconds = -452486
LR> stepped diff = 3508547514
LR> seconds2 = -785967296
LR> seconds3 = 3509000000
LR> diff = -786419782
LR> long long diff = 3508547514
LR> $

LR> I think this is a C bug.

Upon further reflection, I think so to.  The entire RHS is long's so
the arithmetic is done in longs, then assigned to a long long when
done (after things have overflowed).  Forcing any one of the RHS
values to be long long causes the arithmetic to all be done using long
longs, and then you get the numbers you expect.

I think you only notice this in autovacuum when it takes a long time
to complete the work, like my example of about 3500 seconds.

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

Предыдущее
От: Larry Rosenman
Дата:
Сообщение: Re: [PERFORM] autovacuum daemon stops doing work after about an
Следующее
От: "Magnus Naeslund(t)"
Дата:
Сообщение: Re: PostgreSQL 7.3.4 gets killed by SIG_KILL [SOLVED]