mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-14 10:22:10 +00:00
20 lines
402 B
C++
20 lines
402 B
C++
#include <Core/UUID.h>
|
|
#include <Common/thread_local_rng.h>
|
|
|
|
|
|
namespace DB
|
|
{
|
|
|
|
namespace UUIDHelpers
|
|
{
|
|
UUID generateV4()
|
|
{
|
|
UInt128 res{thread_local_rng(), thread_local_rng()};
|
|
res.items[0] = (res.items[0] & 0xffffffffffff0fffull) | 0x0000000000004000ull;
|
|
res.items[1] = (res.items[1] & 0x3fffffffffffffffull) | 0x8000000000000000ull;
|
|
return UUID{res};
|
|
}
|
|
}
|
|
|
|
}
|