small fixes and renames
This commit is contained in:
@@ -8,36 +8,39 @@
|
||||
#include "matador/utils/basic_types.hpp"
|
||||
#include "matador/utils/constraints.hpp"
|
||||
#include "matador/utils/data_type_traits.hpp"
|
||||
#include "matador/utils/types.hpp"
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace matador::object {
|
||||
|
||||
class data_type {
|
||||
public:
|
||||
explicit data_type(const utils::basic_type type, const size_t size = 0)
|
||||
: type_(type), size_(size) {}
|
||||
explicit data_type(const utils::basic_type type, const size_t size = 0)
|
||||
: type_(type), size_(size) {
|
||||
}
|
||||
|
||||
[[nodiscard]] const utils::basic_type& type() const { return type_; }
|
||||
[[nodiscard]] size_t size() const { return size_; }
|
||||
[[nodiscard]] const utils::basic_type &type() const { return type_; }
|
||||
[[nodiscard]] size_t size() const { return size_; }
|
||||
|
||||
private:
|
||||
utils::basic_type type_{};
|
||||
size_t size_{0};
|
||||
utils::basic_type type_{};
|
||||
size_t size_{0};
|
||||
};
|
||||
|
||||
template<typename Type>
|
||||
class typed_data_type final : public data_type {
|
||||
public:
|
||||
typed_data_type()
|
||||
: data_type(utils::data_type_traits<Type>::type()) {}
|
||||
typed_data_type()
|
||||
: data_type(utils::data_type_traits<Type>::type()) {
|
||||
}
|
||||
};
|
||||
|
||||
template<typename Type>
|
||||
class sized_typed_data_type final : public data_type {
|
||||
public:
|
||||
explicit sized_typed_data_type(size_t size)
|
||||
: data_type(utils::data_type_traits<Type>::type(size), size) {}
|
||||
explicit sized_typed_data_type(size_t size)
|
||||
: data_type(utils::data_type_traits<Type>::type(size), size) {
|
||||
}
|
||||
};
|
||||
|
||||
using TinyInt = typed_data_type<int8_t>;
|
||||
@@ -55,11 +58,14 @@ using Double = typed_data_type<double>;
|
||||
using Text = typed_data_type<std::string>;
|
||||
using Boolean = typed_data_type<bool>;
|
||||
using Varchar = sized_typed_data_type<std::string>;
|
||||
using Blob = sized_typed_data_type<std::vector<std::byte>>;
|
||||
using Blob = sized_typed_data_type<std::vector<std::byte> >;
|
||||
|
||||
using Time = typed_data_type<utils::time_type_t>;
|
||||
using Date = typed_data_type<utils::date_type_t>;
|
||||
using Timestamp = typed_data_type<utils::timestamp_type_t>;
|
||||
}
|
||||
namespace matador::query {
|
||||
|
||||
namespace matador::query {
|
||||
class column_builder {
|
||||
public:
|
||||
explicit column_builder(std::string column_name, utils::basic_type type, size_t size = 0);
|
||||
@@ -67,10 +73,10 @@ public:
|
||||
// ReSharper disable once CppNonExplicitConversionOperator
|
||||
operator table_column() const; // NOLINT(*-explicit-constructor)
|
||||
|
||||
column_builder& not_null();
|
||||
column_builder& primary_key();
|
||||
column_builder& unique();
|
||||
column_builder& identity();
|
||||
column_builder ¬_null();
|
||||
column_builder &primary_key();
|
||||
column_builder &unique();
|
||||
column_builder &identity();
|
||||
|
||||
private:
|
||||
std::string column_name_;
|
||||
@@ -87,15 +93,15 @@ public:
|
||||
operator table() const; // NOLINT(*-explicit-constructor)
|
||||
|
||||
private:
|
||||
std::string table_name;
|
||||
std::string table_name;
|
||||
};
|
||||
|
||||
class constraint_builder {
|
||||
public:
|
||||
constraint_builder& constraint(std::string name);
|
||||
constraint_builder& primary_key(std::string name);
|
||||
constraint_builder& foreign_key(std::string name);
|
||||
constraint_builder& references(std::string table, std::string column);
|
||||
constraint_builder &constraint(std::string name);
|
||||
constraint_builder &primary_key(std::string name);
|
||||
constraint_builder &foreign_key(std::string name);
|
||||
constraint_builder &references(std::string table, std::string column);
|
||||
|
||||
// ReSharper disable once CppNonExplicitConversionOperator
|
||||
operator table_constraint() const; // NOLINT(*-explicit-constructor)
|
||||
@@ -111,6 +117,5 @@ private:
|
||||
constraint_builder constraint(std::string name);
|
||||
// table_builder table(std::string name);
|
||||
column_builder column(std::string name, utils::basic_type type, size_t size = 0);
|
||||
|
||||
}
|
||||
#endif //MATADOR_BUILDER_HPP
|
||||
#endif //MATADOR_BUILDER_HPP
|
||||
|
||||
@@ -100,10 +100,10 @@ struct insert_context {
|
||||
const basic_schema &schema_;
|
||||
const std::unordered_map<std::type_index, query_contexts> &contexts_by_type_;
|
||||
|
||||
std::vector<std::unique_ptr<insert_step>> steps_;
|
||||
std::vector<std::unique_ptr<insert_step>> relation_steps_;
|
||||
std::unordered_set<std::pair<std::type_index, const void *>, visit_key_hash> visited_;
|
||||
std::unordered_set<processing_many_to_many_key, processing_many_to_many_key_hash> processing_many_to_many_relations_;
|
||||
std::vector<std::unique_ptr<insert_step>> steps_{};
|
||||
std::vector<std::unique_ptr<insert_step>> relation_steps_{};
|
||||
std::unordered_set<std::pair<std::type_index, const void *>, visit_key_hash> visited_{};
|
||||
std::unordered_set<processing_many_to_many_key, processing_many_to_many_key_hash> processing_many_to_many_relations_{};
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ public:
|
||||
[[nodiscard]] utils::result<sql::execute_result, utils::error> execute(const sql::executor &exec) const;
|
||||
[[nodiscard]] utils::result<sql::statement, utils::error> prepare(sql::executor &exec) const;
|
||||
[[nodiscard]] sql::query_context compile(const sql::dialect &d) const;
|
||||
[[nodiscard]] std::string str(const sql::executor &exec) const;
|
||||
[[nodiscard]] std::string str(const sql::dialect &d) const;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -75,7 +75,6 @@ public:
|
||||
|
||||
[[nodiscard]] utils::result<sql::statement, utils::error> prepare(sql::executor &exec) const;
|
||||
|
||||
[[nodiscard]] std::string str(const sql::executor &exec) const;
|
||||
[[nodiscard]] std::string str(const sql::dialect &d) const;
|
||||
[[nodiscard]] sql::query_context compile(const sql::dialect &d) const;
|
||||
|
||||
|
||||
@@ -11,6 +11,5 @@ public:
|
||||
|
||||
[[nodiscard]] query_alter_table_intermediate table(const table &tab) const;
|
||||
};
|
||||
|
||||
}
|
||||
#endif //MATADOR_QUERY_ALTER_INTERMEDIATE_HPP
|
||||
@@ -1,8 +1,6 @@
|
||||
#ifndef QUERY_INTERMEDIATE_HPP
|
||||
#define QUERY_INTERMEDIATE_HPP
|
||||
|
||||
// #include "matador/query/query_data.hpp"
|
||||
|
||||
#include <memory>
|
||||
|
||||
namespace matador::query {
|
||||
@@ -11,7 +9,7 @@ struct query_data;
|
||||
class query_intermediate {
|
||||
public:
|
||||
query_intermediate();
|
||||
query_intermediate(const std::shared_ptr<query_data> &context); // NOLINT(*-explicit-constructor)
|
||||
query_intermediate(const std::shared_ptr<query_data> &context); // NOLINT(*-explicit-constructor)
|
||||
|
||||
protected:
|
||||
std::shared_ptr<query_data> context_;
|
||||
|
||||
Reference in New Issue
Block a user