Создание таблицы
db_path— Путь к файлу SQLite с базой данных.table— Имя таблицы в базе данных SQLite или запрос, передаваемый в SQLite как есть (см. Передача запроса вместо имени таблицы).
Передача запроса вместо имени таблицы
table можно указать SELECT-запрос, который передаётся в SQLite как есть. Структура таблицы определяется по результату запроса. Запрос можно записать либо как подзапрос, либо обернуть в функцию query:
INSERT в неё запрещена. Тот же синтаксис поддерживается табличной функцией sqlite.
Форма подзапроса
(SELECT ...) разбирается ClickHouse и повторно сериализуется перед отправкой в SQLite. Поэтому она должна быть корректным ClickHouse SQL. Чтобы передать специфичный для SQLite синтаксис, который ClickHouse не разбирает, используйте форму query('...'), текст которой отправляется в SQLite дословно.Любые внешние WHERE, LIMIT, агрегирование и т. д. из окружающего запроса к ClickHouse не проталкиваются в передаваемый запрос — они применяются в ClickHouse после получения полного результата запроса. Чтобы ограничить объём данных, считываемых из SQLite, поместите фильтр внутрь передаваемого запроса. При external_table_strict_query = 1 внешний фильтр, который нельзя протолкнуть, приводит к исключению вместо того, чтобы применяться локально.Поддержка типов данных
- Date, Date32
- DateTime, DateTime64
- UUID
- Enum8, Enum16
- Decimal32, Decimal64, Decimal128, Decimal256
- FixedString
- Все целочисленные типы (UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64)
- Float32, Float64