fixed schema creation
This commit is contained in:
@@ -33,6 +33,8 @@ public:
|
||||
[[nodiscard]] const utils::identifier& primary_key() const;
|
||||
[[nodiscard]] attribute* primary_key_attribute() const;
|
||||
|
||||
void update_name(const std::string& name);
|
||||
|
||||
endpoint_iterator register_relation_endpoint(const std::type_index &type, const std::shared_ptr<relation_endpoint> &endpoint);
|
||||
void unregister_relation_endpoint(const std::type_index &type);
|
||||
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
#include "matador/object/repository.hpp"
|
||||
|
||||
#include "matador/sql/query_context.hpp"
|
||||
|
||||
namespace matador::sql {
|
||||
class connection_pool;
|
||||
}
|
||||
@@ -49,6 +51,10 @@ public:
|
||||
[[nodiscard]] utils::result<std::vector<object::attribute>, utils::error> describe_table(const std::string &table_name) const;
|
||||
[[nodiscard]] utils::result<bool, utils::error> table_exists(const std::string &table_name) const;
|
||||
|
||||
private:
|
||||
sql::query_context build_add_constraint_context( const object::repository_node& node, const class object::constraint& cons ) const;
|
||||
sql::query_context build_drop_constraint_context( const object::repository_node& node, const class object::constraint& cons ) const;
|
||||
|
||||
private:
|
||||
object::repository repo_;
|
||||
sql::connection_pool &pool_;
|
||||
|
||||
@@ -2,10 +2,11 @@
|
||||
#define MATADOR_QUERY_ALTER_TABLE_INTERMEDIATE_HPP
|
||||
|
||||
#include "executable_query.hpp"
|
||||
#include "matador/object/constraint.hpp"
|
||||
#include "matador/query/intermediates/query_intermediate.hpp"
|
||||
|
||||
namespace matador::query {
|
||||
class query_add_primary_key_constraint_intermediate final : public query_intermediate {
|
||||
class query_add_primary_key_constraint_intermediate final : public executable_query {
|
||||
public:
|
||||
};
|
||||
|
||||
@@ -35,6 +36,7 @@ public:
|
||||
using query_intermediate::query_intermediate;
|
||||
|
||||
query_add_key_constraint_intermediate add_constraint(const std::string& name);
|
||||
executable_query add_constraint(const class object::constraint& constraint);
|
||||
executable_query drop_constraint(const std::string& name);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -23,7 +23,9 @@ enum class sql_command {
|
||||
SQL_DROP_TABLE,
|
||||
SQL_DROP_SCHEMA,
|
||||
SQL_DROP_DATABASE,
|
||||
SQL_ALTER_TABLE
|
||||
SQL_ALTER,
|
||||
SQL_ALTER_TABLE,
|
||||
SQL_ALTER_SCHEMA
|
||||
};
|
||||
|
||||
struct sql_command_info {
|
||||
@@ -38,14 +40,12 @@ struct query_context {
|
||||
std::string schema_name{};
|
||||
std::string table_name{};
|
||||
std::vector<object::attribute> prototype{};
|
||||
std::vector<std::string> result_vars{};
|
||||
// std::vector<std::string> result_vars{};
|
||||
std::vector<std::string> bind_vars{};
|
||||
std::vector<utils::database_type> bind_types{};
|
||||
|
||||
std::unordered_map<std::string, std::string> column_aliases{};
|
||||
std::unordered_map<std::string, std::string> table_aliases{};
|
||||
|
||||
std::vector<sql_command_info> additional_commands{};
|
||||
// std::unordered_map<std::string, std::string> column_aliases{};
|
||||
// std::unordered_map<std::string, std::string> table_aliases{};
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user