- Используйте в тестах для заполнения большой таблицы воспроизводимыми данными.
- Генерируйте случайные входные данные для фаззинг-тестов.
Использование в сервере ClickHouse
max_array_length и max_string_length задают максимальную длину соответственно всех
столбцов типа array или map и всех строк в генерируемых данных.
Предложение SETTINGS определяет, как генерируются значения Nullable, Variant, Dynamic и JSON:
null_ratio (по умолчанию 0.0625) — вероятность того, что значение равно NULL, а также базовая вероятность
отсутствия ключа JSON в строке (небольшая часть разреженных ключей отсутствует в несколько раз
чаще); max_json_depth (по умолчанию 3) ограничивает глубину вложенности генерируемых объектов JSON,
а max_json_keys_per_object (по умолчанию 8) — количество генерируемых ключей на одном уровне
объекта. Табличная функция generateRandom принимает
те же настройки.
Движок таблицы Generate поддерживает только запросы SELECT.
Он поддерживает все типы данных, которые могут храниться в таблице,
кроме AggregateFunction, Interval, Nothing и QBit.
Пример
1. Создайте таблицуgenerate_engine_table:
Детали реализации
- Не поддерживаются:
ALTERSELECT ... SAMPLEINSERT- Индексы
- Репликация