Re: UUID v7
От | Peter Eisentraut |
---|---|
Тема | Re: UUID v7 |
Дата | |
Msg-id | d59d7cea-fe4a-411d-a63c-2f871cb68a51@eisentraut.org обсуждение исходный текст |
Ответ на | Re: UUID v7 ("Andrey M. Borodin" <x4mmm@yandex-team.ru>) |
Ответы |
Re: UUID v7
|
Список | pgsql-hackers |
On 10.03.24 13:59, Andrey M. Borodin wrote: >> The functions uuid_extract_ver and uuid_extract_var could be named >> uuid_extract_version and uuid_extract_variant. Otherwise, it's hard >> to tell them apart, with only one letter different. > > Renamed. Another related comment: Throughout your patch, swap the order of uuid_extract_variant and uuid_extract_version. First, this makes more sense because version is subordinate to variant, and also it makes it alphabetical. >> I think the behavior of uuid_extract_var(iant) is wrong. The code >> takes just two bits to return, but the draft document is quite clear >> that the variant is 4 bits (see Table 1). > > Well, it was correct only for implemented variant. I've made version that implements full table 1 from section 4.1. I think we are still interpreting this differently. I think uuid_extract_variant should just return whatever is in those four bits. Your function comment says "Can return only 0, 0b10, 0b110 and 0b111.", which I don't think it is correct. It should return 0 through 15. >> I would have expected that, since gettimeofday() provides microsecond >> precision, we'd put the extra precision into "rand_a" as per Section 6.2 method 3. > > I had chosen method 2 over method 3 as most portable. Can we be sure how many bits (after reading milliseconds) are thereacross different OSes? I think this should have been researched. If we don't know how many bits we have, how do we know we have enough for milliseconds? I think we should at least have some kind of idea, if we are going to have this conversation.
В списке pgsql-hackers по дате отправления: