dbms: Server: queries with several replicas: development [#METR-14410]

This commit is contained in:
Alexey Arno 2015-01-21 15:42:02 +03:00
parent 92fb1d2689
commit 485c472bc7
4 changed files with 173 additions and 173 deletions

View File

@ -6,14 +6,11 @@
namespace DB
{
class PartsWithRangesSplitter;
/** Выполняет запросы SELECT на данных из merge-дерева.
*/
class MergeTreeDataSelectExecutor
{
friend class PartsWithRangesSplitter;
public:
MergeTreeDataSelectExecutor(MergeTreeData & data_);
@ -30,11 +27,7 @@ public:
unsigned threads = 1,
size_t * inout_part_index = nullptr);
private:
MergeTreeData & data;
Logger * log;
public:
struct RangesInDataPart
{
MergeTreeData::DataPartPtr data_part;
@ -49,10 +42,13 @@ private:
}
};
public:
typedef std::vector<RangesInDataPart> RangesInDataParts;
private:
MergeTreeData & data;
Logger * log;
size_t min_marks_for_seek;
size_t min_marks_for_concurrent_read;
size_t max_marks_to_use_cache;

View File

@ -1,3 +1,5 @@
#pragma once
#include <DB/Storages/MergeTree/MergeTreeDataSelectExecutor.h>
namespace DB
@ -8,7 +10,6 @@ namespace DB
/// - 1 <= n <= settings.max_clusters_count;
/// - каждая из n частей имеет >= min_cluster_size записей.
/// 3 levels: cluster / part / range
class PartsWithRangesSplitter
{
public:
@ -58,4 +59,5 @@ namespace DB
size_t cluster_begin;
size_t cluster_end;
};
}

View File

@ -14,6 +14,7 @@
namespace
{
std::pair<UInt64, UInt64> computeHash(const DB::MergeTreeDataSelectExecutor::RangesInDataParts & cluster)
{
SipHash hash;
@ -35,6 +36,7 @@ namespace
hash.get128(lo, hi);
return std::make_pair(lo, hi);
}
}
namespace DB