Re: suppressing useless wakeups in logical/worker.c
От | Tom Lane |
---|---|
Тема | Re: suppressing useless wakeups in logical/worker.c |
Дата | |
Msg-id | 3165443.1674763470@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: suppressing useless wakeups in logical/worker.c (Nathan Bossart <nathandbossart@gmail.com>) |
Ответы |
Re: suppressing useless wakeups in logical/worker.c
|
Список | pgsql-hackers |
Nathan Bossart <nathandbossart@gmail.com> writes: > On Thu, Jan 26, 2023 at 01:54:08PM -0500, Tom Lane wrote: >> - * Both inputs must be ordinary finite timestamps (in current usage, >> - * they'll be results from GetCurrentTimestamp()). >> + * At least one input must be an ordinary finite timestamp, else the "diff" >> + * calculation might overflow. We do support stop_time == TIMESTAMP_INFINITY, >> + * which will result in INT_MAX wait time. > I wonder if we should explicitly reject negative timestamps to eliminate > any chance of int64 overflow, too. Hmm. I'm disinclined to add an assumption that the epoch is in the past, but I take your point that the subtraction would overflow with TIMESTAMP_INFINITY and a negative finite timestamp. Maybe we should make use of pg_sub_s64_overflow()? BTW, I just noticed that the adjacent function TimestampDifference has a lot of callers that would be much happier using TimestampDifferenceMilliseconds. regards, tom lane
В списке pgsql-hackers по дате отправления: