| 158 | } |
| 159 | |
| 160 | void SerializationInfo::fromJSON(const Poco::JSON::Object & object) |
| 161 | { |
| 162 | if (!object.has(KEY_KIND) || !object.has(KEY_NUM_DEFAULTS) || !object.has(KEY_NUM_ROWS)) |
| 163 | throw Exception(ErrorCodes::CORRUPTED_DATA, |
| 164 | "Missed field '{}' or '{}' or '{}' in SerializationInfo of columns", |
| 165 | KEY_KIND, KEY_NUM_DEFAULTS, KEY_NUM_ROWS); |
| 166 | |
| 167 | data.num_rows = object.getValue<size_t>(KEY_NUM_ROWS); |
| 168 | data.num_defaults = object.getValue<size_t>(KEY_NUM_DEFAULTS); |
| 169 | kind = ISerialization::stringToKind(object.getValue<String>(KEY_KIND)); |
| 170 | } |
| 171 | |
| 172 | ISerialization::Kind SerializationInfo::chooseKind(const Data & data, const Settings & settings) |
| 173 | { |