#include "matador/object/attribute_generator.hpp" #include "matador/object/repository.hpp" #include "matador/object/object.hpp" namespace matador::object { attribute_generator::attribute_generator(std::vector &columns, const repository &repo, object &obj) : columns_(columns) , repo_(repo) , obj_(obj) {} void attribute_generator::on_revision(const char *id, uint64_t &rev) { on_attribute(id, rev); } utils::result attribute_generator::determine_foreign_ref(const std::type_index &ti) const { return repo_.primary_key_attribute(ti); } void attribute_generator::insert_missing_reference_column(const std::type_index& ti, attribute* ref_column) const { const_cast(repo_).missing_references_.insert({ti, ref_column}); } void attribute_generator::prepare_primary_key(attribute& ref, utils::identifier &&pk) const { obj_.pk_attribute_ = &ref; obj_.pk_identifier_ = std::move(pk); } }