query/include/matador/sql/dialect_builder.hpp

33 lines
926 B
C++

#ifndef QUERY_DIALECT_BUILDER_HPP
#define QUERY_DIALECT_BUILDER_HPP
#include "matador/sql/dialect.hpp"
namespace matador::sql {
class dialect_builder
{
public:
static dialect_builder& builder();
dialect_builder& create();
dialect_builder& with_token_replace_map(const dialect::token_to_string_map &token_replace_map);
dialect_builder& with_data_type_replace_map(const dialect::data_type_to_string_map &data_type_replace_map);
dialect_builder& with_placeholder_func(const dialect::next_placeholder_func &func);
dialect_builder& with_default_schema_name(const std::string &schema_name);
dialect_builder& with_bool_strings(const std::string &true_string, const std::string &false_string);
dialect_builder& with_escape_string_func(const dialect::to_escaped_string_func &func);
dialect build();
private:
dialect_builder() = default;
private:
dialect dialect_;
};
}
#endif //QUERY_DIALECT_BUILDER_HPP