| 234 | } |
| 235 | |
| 236 | String parseMapNameFromImplicitColName(const String & implicit_column_name) |
| 237 | { |
| 238 | if (!startsWith(implicit_column_name, getMapSeparator())) |
| 239 | throw Exception(ErrorCodes::INVALID_IMPLICIT_COLUMN_NAME, "Invalid implicit column name: {}", implicit_column_name); |
| 240 | |
| 241 | /// Due to map column name meets the constraint in MergeTreeMetaBase::checkColumnsValidity, so we can find second separator directly. |
| 242 | auto location = implicit_column_name.find(getMapSeparator(), getMapSeparator().size()); |
| 243 | if (location == String::npos) |
| 244 | throw Exception(ErrorCodes::INVALID_IMPLICIT_COLUMN_NAME, "Invalid implicit column name: {}", implicit_column_name); |
| 245 | return implicit_column_name.substr(getMapSeparator().size(), location - getMapSeparator().size()); |
| 246 | } |
| 247 | |
| 248 | String parseKeyNameFromImplicitColName(const String & implicit_col, const String & map_col) |
| 249 | { |
no test coverage detected