Эти настройки автоматически сгенерированы на основе исходного файла.
format_schema
Этот параметр полезен при использовании форматов, требующих определения схемы, например Cap'n Proto или Protobuf. Его значение зависит от формата.
format_schema_message_name
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.6 | новая настройка |
Определяет имя требуемого сообщения в схеме, заданной в format_schema.
Для сохранения совместимости с устаревшим форматом format_schema (file_name:message_name):
- Если
format_schema_message_nameне указано, имя сообщения определяется по частиmessage_nameв устаревшем значенииformat_schema. - Если
format_schema_message_nameуказано при использовании устаревшего формата, будет возвращена ошибка.
format_schema_source
Тип
String
По умолчанию
file
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.6 | file | новая настройка |
Определяет источник format_schema.
Возможные значения:
- 'file' (по умолчанию):
format_schema— это имя файла схемы, расположенного в каталогеformat_schemas. - 'string':
format_schema— это непосредственное содержимое схемы. - 'query':
format_schema— это запрос для получения схемы. Еслиformat_schema_sourceимеет значение 'query', действуют следующие условия: - Запрос должен возвращать ровно одно значение: одну строку с одним строковым столбцом.
- Результат запроса интерпретируется как содержимое схемы.
- Этот результат локально кэшируется в каталоге
format_schemas. - Локальный кэш можно очистить с помощью команды:
SYSTEM DROP FORMAT SCHEMA CACHE FOR Files. - После кэширования одинаковые запросы не выполняются повторно для получения схемы, пока кэш не будет явно очищен
- Помимо локальных файлов кэша, сообщения Protobuf также кэшируются в памяти. Даже после очистки локальных файлов кэша необходимо очистить кэш в памяти с помощью
SYSTEM DROP FORMAT SCHEMA CACHE [FOR Protobuf], чтобы полностью обновить схему. - Выполните запрос
SYSTEM DROP FORMAT SCHEMA CACHE, чтобы сразу очистить кэш и файлов кэша, и схем сообщений Protobuf.