schema node analyze progress

This commit is contained in:
Sascha Kühl
2025-02-11 16:34:06 +01:00
parent a631a5a36c
commit 1d83abcb1b
18 changed files with 174 additions and 96 deletions
+5 -3
View File
@@ -2,6 +2,7 @@
#define BASIC_PROTOTYPE_INFO_HPP
#include "matador/object/object_definition.hpp"
#include "matador/utils/identifier.hpp"
#include <string>
#include <typeindex>
@@ -20,14 +21,15 @@ public:
[[nodiscard]] std::shared_ptr<attribute_definition> reference_column() const;
protected:
basic_object_info(std::type_index type_index, object_definition &&definition, std::shared_ptr<attribute_definition> &&reference_column);
basic_object_info(std::type_index type_index, std::shared_ptr<attribute_definition> &&reference_column);
basic_object_info(std::shared_ptr<schema_node> node, std::type_index type_index, utils::identifier &&pk, std::shared_ptr<attribute_definition> &&pk_column, object_definition &&definition);
basic_object_info(std::shared_ptr<schema_node> node, std::type_index type_index, utils::identifier &&pk, std::shared_ptr<attribute_definition> &&pk_column);
protected:
std::shared_ptr<schema_node> node_; /**< prototype node of the represented object type */
std::type_index type_index_; /**< type index of the represented object type */
object_definition definition_;
std::shared_ptr<attribute_definition> reference_column_;
std::optional<utils::identifier> identifier_;
std::shared_ptr<attribute_definition> pk_column_;
};
using basic_object_info_ref = std::reference_wrapper<const basic_object_info>;