AST-based query fuzzer should randomly modify data types in CREATE TABLE queries, mostly by wrapping in Nullable, Array and LowCardinality.
{
    QUERIES_END,
    PARSING_EXCEPTION,
    CONTINUE_PARSING,
    EXECUTE_QUERY,
    PARSING_FAILED,
};
void interruptSignalHandler(int signum);
class InternalTextLogs;
class ClientBase : public Poco::Util::Application, public IHints<2, ClientBase>
{
public:
    using Arguments = std::vector<String>;
    ClientBase();
    ~ClientBase() override;
    void init(int argc, char ** argv);
    std::vector<String> getAllRegisteredNames() const override { return cmd_options; }
protected:
    void runInteractive();
    void runNonInteractive();
    virtual bool processWithFuzzing(const String &)