insert_query_builder progress

This commit is contained in:
2026-02-18 15:32:27 +01:00
parent 0876535b44
commit e5072741f0
5 changed files with 142 additions and 119 deletions
+5 -3
View File
@@ -33,7 +33,8 @@ public:
object_proxy(std::weak_ptr<object_resolver<Type>> resolver, std::shared_ptr<Type> obj)
: obj_(obj)
, resolver_(resolver)
, pk_(primary_key_resolver::resolve_object(*obj).pk) {
, pk_(primary_key_resolver::resolve_object(*obj).pk)
, state_(object_state::Persistent){
}
// Transient
@@ -60,8 +61,9 @@ public:
bool is_transient() const { return state_ == object_state::Transient; }
bool is_detached() const { return state_ == object_state::Detached; }
bool is_removed() const { return state_ == object_state::Removed; }
void change_state(const object_state state) {
state_ = state;
state_.store(state, std::memory_order_release);
}
private:
Type* resolve() const {
@@ -86,7 +88,7 @@ private:
std::shared_ptr<Type> obj_{};
std::weak_ptr<object_resolver<Type>> resolver_{};
utils::identifier pk_{};
object_state state_{object_state::Transient};
std::atomic<object_state> state_{object_state::Transient};
mutable std::mutex mutex_{};
};
}