MCPcopy Create free account
hub / github.com/ClickHouse/ClickHouse / blockForKeys

Function blockForKeys

src/Dictionaries/DictionarySourceHelpers.cpp:36–59  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

34/// For composite key
35
36Block blockForKeys(
37 const DictionaryStructure & dict_struct,
38 const Columns & key_columns,
39 const VectorWithMemoryTracking<size_t> & requested_rows)
40{
41 Block block;
42
43 for (size_t i = 0, size = key_columns.size(); i < size; ++i)
44 {
45 const ColumnPtr & source_column = key_columns[i];
46 size_t column_rows_size = source_column->size();
47
48 PaddedPODArray<UInt8> filter(column_rows_size, false);
49
50 for (size_t idx : requested_rows)
51 filter[idx] = true;
52
53 auto filtered_column = source_column->filter(filter, requested_rows.size());
54
55 block.insert({filtered_column, (*dict_struct.key)[i].type, (*dict_struct.key)[i].name});
56 }
57
58 return block;
59}
60
61
62SettingsChanges readSettingsFromDictionaryConfig(const Poco::Util::AbstractConfiguration & config, const std::string & config_prefix)

Callers 5

loadKeysMethod · 0.85
loadKeysMethod · 0.85
loadKeysMethod · 0.85
loadKeysMethod · 0.85
loadKeysMethod · 0.85

Calls 3

sizeMethod · 0.45
filterMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected