#pragma once #include #include #include #include namespace DB { /** Позволяет создать тип данных по его имени. */ class DataTypeFactory : public Singleton { public: DataTypeFactory(); DataTypePtr get(const String & name) const; private: typedef std::map NonParametricDataTypes; NonParametricDataTypes non_parametric_data_types; Poco::RegularExpression fixed_string_regexp {R"--(^FixedString\s*\(\s*(\d+)\s*\)$)--"}; Poco::RegularExpression nested_regexp {R"--(^(\w+)\s*\(\s*(.+)\s*\)$)--", Poco::RegularExpression::RE_MULTILINE | Poco::RegularExpression::RE_DOTALL}; }; }