AST-based query fuzzer should randomly modify data types in CREATE TABLE queries, mostly by wrapping in Nullable, Array and LowCardinality.
try
{
    UseSSL use_ssl;
    MainThreadStatus::getInstance();
    setupSignalHandler();
    std::cout << std::fixed << std::setprecision(3);
    std::cerr << std::fixed << std::setprecision(3);
    registerFormats();
    registerFunctions();
    registerAggregateFunctions();
    processConfig();
    
    if (is_interactive)
    {
        clearTerminal();
        showClientVersion();
    }
    connect();
    
    if (is_interactive && !config().has("no-warnings"))
        showWarnings();
    if (is_interactive && !delayed_interactive)
    {
        runInteractive();
    }
    else
    {
        connection->setDefaultDatabase(connection_parameters.default_database);
        runNonInteractive();