sequence tests progress
This commit is contained in:
@@ -26,7 +26,6 @@ public:
|
||||
|
||||
private:
|
||||
class table table_;
|
||||
utils::generator_type generator_type_{};
|
||||
std::unique_ptr<abstract_pk_generator> pk_generator_;
|
||||
const object::repository_node& node_;
|
||||
};
|
||||
|
||||
@@ -141,7 +141,7 @@ public:
|
||||
template<class Collection>
|
||||
static void on_has_many(const char * /*id*/, Collection &/*con*/, const char * /*join_column*/, const utils::foreign_attributes & ) {}
|
||||
template<class Collection>
|
||||
void on_has_many_to_many(const char *id, Collection &con, const char *join_column, const char *inverse_join_column, const utils::foreign_attributes & ) {
|
||||
void on_has_many_to_many(const char *id, Collection &container, const char *join_column, const char *inverse_join_column, const utils::foreign_attributes & ) {
|
||||
if (id == nullptr || join_column == nullptr || inverse_join_column == nullptr) {
|
||||
return;
|
||||
}
|
||||
@@ -151,13 +151,13 @@ public:
|
||||
return;
|
||||
}
|
||||
|
||||
const auto rel_it = schema_.find(std::string{id});
|
||||
if (rel_it == schema_.end()) {
|
||||
const auto it = schema_.find(std::string{id});
|
||||
if (it == schema_.end()) {
|
||||
throw query_builder_exception(query_build_error::UnknownType);
|
||||
}
|
||||
const table &rel_table = rel_it->second.table();
|
||||
const table &relation_table = it->second.table();
|
||||
|
||||
for (auto &obj : con) {
|
||||
for (auto &obj : container) {
|
||||
if (!obj) {
|
||||
continue;
|
||||
}
|
||||
@@ -179,7 +179,7 @@ public:
|
||||
insert_step rel_step{};
|
||||
rel_step.query = executable_query{
|
||||
query::query::insert()
|
||||
.into(rel_table, {table_column{&rel_table, join_column}, table_column{&rel_table, inverse_join_column}})
|
||||
.into(relation_table, {table_column{&relation_table, join_column}, table_column{&relation_table, inverse_join_column}})
|
||||
.values({utils::database_type{current_entity_pk_}, utils::database_type{fk.value}})
|
||||
};
|
||||
relation_steps_.push_back(std::move(rel_step));
|
||||
|
||||
@@ -135,6 +135,9 @@ public:
|
||||
[[nodiscard]] utils::result<bool, utils::error> exists(const std::string &schema_name, const std::string &table_name) const;
|
||||
[[nodiscard]] utils::result<bool, utils::error> exists(const std::string &table_name) const;
|
||||
|
||||
|
||||
[[nodiscard]] utils::result<bool, utils::error> sequence_exists(const std::string &sequence_name) const;
|
||||
|
||||
[[nodiscard]] utils::result<std::unique_ptr<query_result_impl>, utils::error> fetch(const query_context &ctx) const override;
|
||||
[[nodiscard]] utils::result<execute_result, utils::error> execute(const query_context &ctx) const override;
|
||||
[[nodiscard]] utils::result<statement, utils::error> prepare(const query_context &ctx) override;
|
||||
|
||||
@@ -42,6 +42,8 @@ public:
|
||||
virtual utils::result<std::vector<object::attribute>, utils::error> describe(const std::string &table) = 0;
|
||||
virtual utils::result<bool, utils::error> exists(const std::string &schema_name, const std::string &table_name) = 0;
|
||||
|
||||
virtual utils::result<bool, utils::error> sequence_exists(const std::string &schema_name, const std::string &sequence_name) = 0;
|
||||
|
||||
[[nodiscard]] const class dialect &dialect() const;
|
||||
|
||||
[[nodiscard]] virtual std::string to_escaped_string(const utils::blob_type_t &value) const = 0;
|
||||
|
||||
Reference in New Issue
Block a user