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

Method getSerializationAndColumn

src/Formats/NativeWriter.cpp:99–119  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

97}
98
99std::tuple<SerializationPtr, SerializationInfoPtr, ColumnPtr> NativeWriter::getSerializationAndColumn(UInt64 client_revision, const ColumnWithTypeAndName & column)
100{
101 if (client_revision >= DBMS_MIN_REVISION_WITH_CUSTOM_SERIALIZATION)
102 {
103 ColumnPtr result_column = column.column;
104 if (client_revision < DBMS_MIN_REVISION_WITH_REPLICATED_SERIALIZATION)
105 result_column = result_column->convertToFullColumnIfReplicated();
106 if (client_revision < DBMS_MIN_REVISION_WITH_SPARSE_SERIALIZATION)
107 result_column = recursiveRemoveSparse(result_column);
108 if (client_revision < DBMS_MIN_REVISION_WITH_NULLABLE_SPARSE_SERIALIZATION)
109 {
110 if (column.type->isNullable())
111 result_column = recursiveRemoveSparse(result_column);
112 }
113
114 auto info = column.type->getSerializationInfo(*result_column);
115 return {column.type->getSerialization(*info), info, result_column};
116 }
117
118 return {column.type->getDefaultSerialization(), nullptr, recursiveRemoveSparse(column.column->convertToFullColumnIfReplicated())};
119}
120
121size_t NativeWriter::write(const Block & block)
122{

Callers

nothing calls this directly

Calls 6

recursiveRemoveSparseFunction · 0.85
isNullableMethod · 0.45
getSerializationInfoMethod · 0.45
getSerializationMethod · 0.45

Tested by

no test coverage detected