mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-26 01:22:04 +00:00
Miscellaneous [#CLICKHOUSE-2].
This commit is contained in:
parent
e611e1cc66
commit
a3fa44e71a
@ -1,5 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <boost/noncopyable.hpp>
|
||||||
|
|
||||||
#include <Common/HyperLogLogCounter.h>
|
#include <Common/HyperLogLogCounter.h>
|
||||||
#include <Common/HashTable/SmallTable.h>
|
#include <Common/HashTable/SmallTable.h>
|
||||||
#include <Common/MemoryTracker.h>
|
#include <Common/MemoryTracker.h>
|
||||||
@ -21,7 +23,7 @@ template
|
|||||||
UInt8 K,
|
UInt8 K,
|
||||||
typename Hash = IntHash32<Key>,
|
typename Hash = IntHash32<Key>,
|
||||||
typename DenominatorType = double>
|
typename DenominatorType = double>
|
||||||
class HyperLogLogWithSmallSetOptimization
|
class HyperLogLogWithSmallSetOptimization : private boost::noncopyable
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
using Small = SmallSet<Key, small_set_size>;
|
using Small = SmallSet<Key, small_set_size>;
|
||||||
|
@ -313,14 +313,14 @@ public:
|
|||||||
|
|
||||||
/// Different types of keys for maps.
|
/// Different types of keys for maps.
|
||||||
#define APPLY_FOR_JOIN_VARIANTS(M) \
|
#define APPLY_FOR_JOIN_VARIANTS(M) \
|
||||||
M(key8) \
|
M(key8) \
|
||||||
M(key16) \
|
M(key16) \
|
||||||
M(key32) \
|
M(key32) \
|
||||||
M(key64) \
|
M(key64) \
|
||||||
M(key_string) \
|
M(key_string) \
|
||||||
M(key_fixed_string) \
|
M(key_fixed_string) \
|
||||||
M(keys128) \
|
M(keys128) \
|
||||||
M(keys256) \
|
M(keys256) \
|
||||||
M(hashed)
|
M(hashed)
|
||||||
|
|
||||||
enum class Type
|
enum class Type
|
||||||
@ -338,15 +338,15 @@ public:
|
|||||||
template <typename Mapped>
|
template <typename Mapped>
|
||||||
struct MapsTemplate
|
struct MapsTemplate
|
||||||
{
|
{
|
||||||
std::unique_ptr<HashMap<UInt8, Mapped, TrivialHash, HashTableFixedGrower<8>>> key8;
|
std::unique_ptr<HashMap<UInt8, Mapped, TrivialHash, HashTableFixedGrower<8>>> key8;
|
||||||
std::unique_ptr<HashMap<UInt16, Mapped, TrivialHash, HashTableFixedGrower<16>>> key16;
|
std::unique_ptr<HashMap<UInt16, Mapped, TrivialHash, HashTableFixedGrower<16>>> key16;
|
||||||
std::unique_ptr<HashMap<UInt32, Mapped, HashCRC32<UInt32>>> key32;
|
std::unique_ptr<HashMap<UInt32, Mapped, HashCRC32<UInt32>>> key32;
|
||||||
std::unique_ptr<HashMap<UInt64, Mapped, HashCRC32<UInt64>>> key64;
|
std::unique_ptr<HashMap<UInt64, Mapped, HashCRC32<UInt64>>> key64;
|
||||||
std::unique_ptr<HashMapWithSavedHash<StringRef, Mapped>> key_string;
|
std::unique_ptr<HashMapWithSavedHash<StringRef, Mapped>> key_string;
|
||||||
std::unique_ptr<HashMapWithSavedHash<StringRef, Mapped>> key_fixed_string;
|
std::unique_ptr<HashMapWithSavedHash<StringRef, Mapped>> key_fixed_string;
|
||||||
std::unique_ptr<HashMap<UInt128, Mapped, UInt128HashCRC32>> keys128;
|
std::unique_ptr<HashMap<UInt128, Mapped, UInt128HashCRC32>> keys128;
|
||||||
std::unique_ptr<HashMap<UInt256, Mapped, UInt256HashCRC32>> keys256;
|
std::unique_ptr<HashMap<UInt256, Mapped, UInt256HashCRC32>> keys256;
|
||||||
std::unique_ptr<HashMap<UInt128, Mapped, UInt128TrivialHash>> hashed;
|
std::unique_ptr<HashMap<UInt128, Mapped, UInt128TrivialHash>> hashed;
|
||||||
};
|
};
|
||||||
|
|
||||||
using MapsAny = MapsTemplate<WithUsedFlag<false, RowRef>>;
|
using MapsAny = MapsTemplate<WithUsedFlag<false, RowRef>>;
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
set +e
|
set +e
|
||||||
|
|
||||||
function get_revision {
|
function get_revision {
|
||||||
|
Loading…
Reference in New Issue
Block a user