Merge pull request #41257 from ClickHouse/igor/mixed_improvements_along_the_way

Tiny improvements along the code
This commit is contained in:
Igor Nikonov 2022-09-17 10:43:46 +02:00 committed by GitHub
commit 475443c10c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 6 deletions

View File

@ -623,6 +623,7 @@ NamesAndTypesList Block::getNamesAndTypesList() const
NamesAndTypes Block::getNamesAndTypes() const NamesAndTypes Block::getNamesAndTypes() const
{ {
NamesAndTypes res; NamesAndTypes res;
res.reserve(columns());
for (const auto & elem : data) for (const auto & elem : data)
res.emplace_back(elem.name, elem.type); res.emplace_back(elem.name, elem.type);

View File

@ -418,7 +418,7 @@ void optimizeDuplicateDistinct(ASTSelectQuery & select)
return; return;
std::unordered_set<String> distinct_names = getDistinctNames(*subselect); std::unordered_set<String> distinct_names = getDistinctNames(*subselect);
std::unordered_set<String> selected_names; std::unordered_set<std::string_view> selected_names;
/// Check source column names from select list (ignore aliases and table names) /// Check source column names from select list (ignore aliases and table names)
for (const auto & id : select.select()->children) for (const auto & id : select.select()->children)
@ -427,11 +427,11 @@ void optimizeDuplicateDistinct(ASTSelectQuery & select)
if (!identifier) if (!identifier)
return; return;
String name = identifier->shortName(); const String & name = identifier->shortName();
if (!distinct_names.contains(name)) if (!distinct_names.contains(name))
return; /// Not a distinct column, keep DISTINCT for it. return; /// Not a distinct column, keep DISTINCT for it.
selected_names.insert(name); selected_names.emplace(name);
} }
/// select columns list != distinct columns list /// select columns list != distinct columns list

View File

@ -117,10 +117,10 @@ struct InputOrderInfo
* sort_description_for_merging will be equal to (c, d) and * sort_description_for_merging will be equal to (c, d) and
* used_prefix_of_sorting_key_size will be equal to 4. * used_prefix_of_sorting_key_size will be equal to 4.
*/ */
size_t used_prefix_of_sorting_key_size; const size_t used_prefix_of_sorting_key_size;
int direction; const int direction;
UInt64 limit; const UInt64 limit;
InputOrderInfo( InputOrderInfo(
const SortDescription & sort_description_for_merging_, const SortDescription & sort_description_for_merging_,