Using std::shared_ptr for data types [#METR-21503].

This commit is contained in:
Alexey Milovidov 2016-05-28 11:23:36 +03:00
parent 61ae4e5547
commit f9b2cd5ab6
5 changed files with 9 additions and 9 deletions

View File

@ -111,7 +111,7 @@ private:
std::vector<Input> inputs;
using BlocksToMerge = Poco::SharedPtr<BlocksList>;
using BlocksToMerge = std::unique_ptr<BlocksList>;
void start();

View File

@ -425,7 +425,7 @@ MergingAggregatedMemoryEfficientBlockInputStream::BlocksToMerge MergingAggregate
// std::cerr << "merging overflows\n";
has_overflows = false;
BlocksToMerge blocks_to_merge = new BlocksList;
BlocksToMerge blocks_to_merge = std::make_unique<BlocksList>();
for (auto & input : inputs)
if (input.overflow_block)
@ -485,7 +485,7 @@ MergingAggregatedMemoryEfficientBlockInputStream::BlocksToMerge MergingAggregate
continue;
/// Теперь собираем блоки для current_bucket_num, чтобы их померджить.
BlocksToMerge blocks_to_merge = new BlocksList;
BlocksToMerge blocks_to_merge = std::make_unique<BlocksList>();
for (auto & input : inputs)
{
@ -512,7 +512,7 @@ MergingAggregatedMemoryEfficientBlockInputStream::BlocksToMerge MergingAggregate
/// Есть только одноуровневые данные. Просто мерджим их.
// std::cerr << "don't have two level\n";
BlocksToMerge blocks_to_merge = new BlocksList;
BlocksToMerge blocks_to_merge = std::make_unique<BlocksList>();
for (auto & input : inputs)
if (input.block)

View File

@ -104,11 +104,11 @@ int main(int argc, char ** argv)
/// создаём объект существующей таблицы хит лога
StoragePtr table = StorageLog::create("./", "HitLog", names_and_types_list);
StoragePtr table = StorageLog::create("./", "HitLog", std::make_shared<NamesAndTypesList>(names_and_types_list));
/// читаем из неё, применяем выражение, фильтруем, и пишем в tsv виде в консоль
ExpressionAnalyzer analyzer(ast, context, nullptr, *names_and_types_list);
ExpressionAnalyzer analyzer(ast, context, nullptr, names_and_types_list);
ExpressionActionsChain chain;
analyzer.appendSelect(chain, false);
analyzer.appendWhere(chain, false);

View File

@ -107,7 +107,7 @@ try
/// создаём объект существующей таблицы хит лога
StoragePtr table = StorageLog::create("./", "HitLog", names_and_types_list);
StoragePtr table = StorageLog::create("./", "HitLog", std::make_shared<NamesAndTypesList>(names_and_types_list));
/// читаем из неё, сортируем, и пишем в tsv виде в консоль

View File

@ -51,7 +51,7 @@ try
{"NetMajor", std::make_shared<DataTypeUInt8>()},
{"NetMinor", std::make_shared<DataTypeUInt8>()},
{"UserAgentMajor", std::make_shared<DataTypeUInt16>()},
{"UserAgentMinor", std::make_shared<DataTypeFixedString>()(2)},
{"UserAgentMinor", std::make_shared<DataTypeFixedString>(2)},
{"CookieEnable", std::make_shared<DataTypeUInt8>()},
{"JavascriptEnable", std::make_shared<DataTypeUInt8>()},
{"IsMobile", std::make_shared<DataTypeUInt8>()},
@ -98,7 +98,7 @@ try
/// создаём таблицу хит лога
StoragePtr table = StorageLog::create("./", "HitLog", names_and_types_list);
StoragePtr table = StorageLog::create("./", "HitLog", std::make_shared<NamesAndTypesList>(names_and_types_list));
/// создаём описание, как читать данные из tab separated дампа