| 1 | #include <Columns/Collator.h> |
|---|---|
| 2 | #include <Storages/System/StorageSystemCollations.h> |
| 3 | #include <DataTypes/DataTypeNullable.h> |
| 4 | |
| 5 | namespace DB |
| 6 | { |
| 7 | |
| 8 | NamesAndTypesList StorageSystemCollations::getNamesAndTypes() |
| 9 | { |
| 10 | return { |
| 11 | {"name", std::make_shared<DataTypeString>()}, |
| 12 | {"language", std::make_shared<DataTypeNullable>(std::make_shared<DataTypeString>())}, |
| 13 | }; |
| 14 | } |
| 15 | |
| 16 | void StorageSystemCollations::fillData(MutableColumns & res_columns, const Context &, const SelectQueryInfo &) const |
| 17 | { |
| 18 | for (const auto & [locale, lang]: AvailableCollationLocales::instance().getAvailableCollations()) |
| 19 | { |
| 20 | res_columns[0]->insert(locale); |
| 21 | res_columns[1]->insert(lang ? *lang : Field()); |
| 22 | } |
| 23 | } |
| 24 | |
| 25 | } |
| 26 |