small fixes and renames

This commit is contained in:
2026-05-23 20:48:21 +02:00
parent cc0bcbeb61
commit 141d798a41
10 changed files with 73 additions and 76 deletions
+29 -24
View File
@@ -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 &not_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_;