Re: UUID v7

Поиск
Список
Период
Сортировка
От Andrey Borodin
Тема Re: UUID v7
Дата
Msg-id 2AC70766-C26F-4F4D-A76C-C8B567A06B60@yandex-team.ru
обсуждение исходный текст
Ответ на Re: UUID v7  (Masahiko Sawada <sawada.mshk@gmail.com>)
Ответы Re: UUID v7
Список pgsql-hackers

> On 26 Mar 2025, at 08:32, Masahiko Sawada <sawada.mshk@gmail.com> wrote:
>
> Please review it.

The patch looks good to me except one nit.
+WITH uuidts AS (
+     SELECT y, ts as ts, lag(ts) OVER (ORDER BY y) AS prev_ts
+     FROM (SELECT y, uuid_extract_timestamp(uuidv7((y || ' years')::interval)) AS ts FROM generate_series(-50, 10889 -
extract(yearfrom now())::int) y) 
+)
+SELECT y, ts, prev_ts FROM uuidts WHERE ts < prev_ts;

if "extract(year from now())::int)" runs slightly before new year and the rest of the test after - the test will fail.
Howabout avoiding overflow by using 10888 instead of 10889? 

If we are sure citizen time never will go back, IMO we can safely move other border back to -55.

Also the test is not proof to NTP time drift during New Year's edge, but it's hardly a problem. The test, NTP clock
syncand New Year millisecond must coincide for a false failure. 

Thank you!


Best regards, Andrey Borodin.


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