implemented reference method

This commit is contained in:
Sascha Kühl 2025-02-07 11:44:06 +01:00
parent 84af642f14
commit b8df32bdf9
1 changed files with 9 additions and 1 deletions

View File

@ -36,7 +36,15 @@ std::string schema::name() const {
} }
utils::result<std::pair<std::string, std::string>, utils::error> schema::reference( const std::type_index& type_index ) const { utils::result<std::pair<std::string, std::string>, utils::error> schema::reference( const std::type_index& type_index ) const {
return utils::ok(std::pair<std::string, std::string>{}); const auto result = find_node(type_index);
if (!result) {
return utils::failure(result.err());
}
if (!result->get()->basic_info().definition().has_primary_key()) {
return utils::failure(make_error( error_code::Failure, "Primary key not found" ));
}
return utils::ok(std::make_pair(result->get()->name(), result->get()->basic_info().definition().primary_key()->name()));
} }
utils::result<std::shared_ptr<schema_node>, utils::error> schema::attach_node(const std::shared_ptr<schema_node> &node, utils::result<std::shared_ptr<schema_node>, utils::error> schema::attach_node(const std::shared_ptr<schema_node> &node,