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

Function tryGetColumnFromBlock

src/Interpreters/getColumnFromBlock.cpp:16–40  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14}
15
16ColumnPtr tryGetColumnFromBlock(const Block & block, const NameAndTypePair & requested_column)
17{
18 const auto * elem = block.findByName(requested_column.getNameInStorage());
19 if (!elem)
20 return nullptr;
21
22 auto elem_type = elem->type;
23
24 if (!elem->column)
25 return nullptr;
26
27 auto elem_column = elem->column->decompress();
28
29 if (requested_column.isSubcolumn())
30 {
31 auto subcolumn_name = requested_column.getSubcolumnName();
32 elem_column = elem_type->tryGetSubcolumn(subcolumn_name, elem_column);
33 elem_type = elem_type->tryGetSubcolumnType(subcolumn_name);
34
35 if (!elem_type || !elem_column)
36 return nullptr;
37 }
38
39 return castColumn({elem_column, elem_type, ""}, requested_column.type);
40}
41
42ColumnPtr tryGetSubcolumnFromBlock(const Block & block, const DataTypePtr & requested_column_type, const NameAndTypePair & requested_subcolumn)
43{

Callers 3

generateMethod · 0.85
fillPhysicalColumnsMethod · 0.85
getColumnFromBlockFunction · 0.85

Calls 8

castColumnFunction · 0.85
getNameInStorageMethod · 0.80
isSubcolumnMethod · 0.80
tryGetSubcolumnMethod · 0.80
tryGetSubcolumnTypeMethod · 0.80
findByNameMethod · 0.45
decompressMethod · 0.45
getSubcolumnNameMethod · 0.45

Tested by

no test coverage detected