| 97 | } |
| 98 | |
| 99 | std::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 | |
| 121 | size_t NativeWriter::write(const Block & block) |
| 122 | { |
nothing calls this directly
no test coverage detected