added join_column_index and inverse_join_column_index to object and table classes
This commit is contained in:
@@ -17,21 +17,25 @@ public:
|
||||
|
||||
static const attribute& create_attribute(std::string name, const std::shared_ptr<object>& obj);
|
||||
|
||||
[[nodiscard]] attribute* primary_key_attribute() const;
|
||||
[[nodiscard]] const attribute* primary_key_attribute() const;
|
||||
[[nodiscard]] const utils::identifier& primary_key() const;
|
||||
[[nodiscard]] bool has_primary_key() const;
|
||||
|
||||
[[nodiscard]] bool is_relation_object() const;
|
||||
[[nodiscard]] const attribute* join_attribute() const;
|
||||
[[nodiscard]] const attribute* inverse_join_attribute() const;
|
||||
|
||||
[[nodiscard]] const std::string& name() const;
|
||||
|
||||
void update_name(const std::string& name);
|
||||
|
||||
[[nodiscard]] bool has_attributes() const;
|
||||
[[nodiscard]] size_t attribute_count() const;
|
||||
[[nodiscard]] const std::list<attribute>& attributes() const;
|
||||
[[nodiscard]] const std::vector<attribute>& attributes() const;
|
||||
|
||||
[[nodiscard]] bool has_constraints() const;
|
||||
[[nodiscard]] size_t constraint_count() const;
|
||||
[[nodiscard]] const std::list<restriction>& constraints() const;
|
||||
[[nodiscard]] const std::vector<restriction>& constraints() const;
|
||||
|
||||
friend std::ostream& operator<<(std::ostream& os, const object& obj);
|
||||
|
||||
@@ -40,10 +44,13 @@ private:
|
||||
friend class object_generator;
|
||||
|
||||
std::string name_;
|
||||
attribute* pk_attribute_{nullptr};
|
||||
int pk_column_index_{-1};
|
||||
int join_column_index_{-1};
|
||||
int inverse_join_column_index_{-1};
|
||||
|
||||
utils::identifier pk_identifier_;
|
||||
std::list<attribute> attributes_;
|
||||
std::list<restriction> constraints_;
|
||||
std::vector<attribute> attributes_;
|
||||
std::vector<restriction> constraints_;
|
||||
};
|
||||
}
|
||||
#endif //MATADOR_OBJECT_HPP
|
||||
Reference in New Issue
Block a user