| 189 | } |
| 190 | |
| 191 | Block deserializeHeaderFromProto(const Protos::Block & proto) |
| 192 | { |
| 193 | std::vector<NameAndTypePair> pairs; |
| 194 | for (const auto & pair_pb : proto.names_and_types()) |
| 195 | { |
| 196 | NameAndTypePair pair; |
| 197 | pair.fillFromProto(pair_pb); |
| 198 | pairs.emplace_back(std::move(pair)); |
| 199 | } |
| 200 | return Block(std::move(pairs)); |
| 201 | } |
| 202 | |
| 203 | |
| 204 | QueryPlanStepPtr deserializePlanStep(ReadBuffer & buf, ContextPtr context) |