relation_completer progress

This commit is contained in:
Sascha Kühl
2025-07-01 17:13:52 +02:00
parent 5a7ab5d4d0
commit 38cbffc18b
11 changed files with 153 additions and 32 deletions
+2 -2
View File
@@ -15,6 +15,7 @@ add_library(matador-core STATIC
../../include/matador/object/object_proxy.hpp
../../include/matador/object/object_ptr.hpp
../../include/matador/object/primary_key_resolver.hpp
../../include/matador/object/relation_endpoint.hpp
../../include/matador/object/schema.hpp
../../include/matador/object/schema_node.hpp
../../include/matador/object/schema_node_iterator.hpp
@@ -57,6 +58,7 @@ add_library(matador-core STATIC
object/error_code.cpp
object/object_definition.cpp
object/primary_key_resolver.cpp
object/relation_endpoint.cpp
object/schema.cpp
object/schema_node.cpp
object/schema_node_iterator.cpp
@@ -75,8 +77,6 @@ add_library(matador-core STATIC
utils/uuid.cpp
utils/value.cpp
utils/version.cpp
../../include/matador/object/relation_endpoint.hpp
object/relation_endpoint.cpp
)
target_link_libraries(matador-core ${CMAKE_DL_LIBS})
+2
View File
@@ -1,5 +1,7 @@
#include "matador/object/relation_endpoint.hpp"
#include "matador/object/schema_node.hpp"
namespace matador::object {
relation_endpoint::relation_endpoint(std::string field_name, relation_type type, const std::shared_ptr<schema_node> &node)
: field_name_(std::move(field_name))
+7 -3
View File
@@ -3,11 +3,11 @@
#include "matador/object/schema_node.hpp"
namespace matador::object {
schema_node::schema_node(schema &tree)
schema_node::schema_node(object::schema &tree)
: schema_(tree) {
}
schema_node::schema_node(schema &tree, std::string name)
schema_node::schema_node(object::schema &tree, std::string name)
: schema_(tree)
, first_child_(std::shared_ptr<schema_node>(new schema_node(tree)))
, last_child_(std::shared_ptr<schema_node>(new schema_node(tree)))
@@ -16,7 +16,7 @@ schema_node::schema_node(schema &tree, std::string name)
last_child_->previous_sibling_ = first_child_;
}
std::shared_ptr<schema_node> schema_node::make_null_node(schema &tree) {
std::shared_ptr<schema_node> schema_node::make_null_node(object::schema &tree) {
auto node = std::shared_ptr<schema_node>(new schema_node(tree));
node->info_ = std::make_unique<null_info>(node, std::shared_ptr<attribute_definition>{});
@@ -40,6 +40,10 @@ void schema_node::update_name(const std::string& name) {
info_->reference_column()->name(name);
}
const object::schema& schema_node::schema() const {
return schema_;
}
schema_node::node_ptr schema_node::next() const {
// if we have a child, child is the next iterator to return
// (if we don't do iterate over the siblings)