AST-based query fuzzer should randomly modify data types in CREATE TABLE queries, mostly by wrapping in Nullable, Array and LowCardinality.
const auto * exception = server_exception ? server_exception.get() : client_exception.get();
        if (exception)
        {
            return exception->code() != 0 ? exception->code() : -1;
        }
        if (have_error)
        {
            
            
            return -1;
        }
        if (delayed_interactive)
            runInteractive();
    }
    return 0;
}
catch (const Exception & e)
{
    bool need_print_stack_trace = config().getBool("stacktrace", false) && e.code() != ErrorCodes::NETWORK_ERROR;
    std::cerr << getExceptionMessage(e, need_print_stack_trace, true) << std::endl << std::endl;
    
    return e.code() ? e.code() : -1;
}
catch (...)
{
    std::cerr << getCurrentExceptionMessage(false) << std::endl;
    return getCurrentExceptionCode();
}
void Client::connect()