ClickHouse/dbms/Core/UUID.h
Ivan 97f2a2213e
Move all folders inside /dbms one level up (#9974)
* Move some code outside dbms/src folder
* Fix paths
2020-04-02 02:51:21 +03:00

26 lines
518 B
C++

#pragma once
#include <Common/UInt128.h>
#include <common/strong_typedef.h>
#include <Common/thread_local_rng.h>
namespace DB
{
STRONG_TYPEDEF(UInt128, UUID)
namespace UUIDHelpers
{
inline UUID generateV4()
{
UInt128 res{thread_local_rng(), thread_local_rng()};
res.low = (res.low & 0xffffffffffff0fffull) | 0x0000000000004000ull;
res.high = (res.high & 0x3fffffffffffffffull) | 0x8000000000000000ull;
return UUID{res};
}
const UUID Nil = UUID(UInt128(0, 0));
}
}