6#include "../SqlConnectInfo.hpp"
36 class RelationLoadSource
39 RelationLoadSource() =
default;
40 RelationLoadSource(RelationLoadSource
const&) =
delete;
41 RelationLoadSource(RelationLoadSource&&) =
delete;
42 RelationLoadSource& operator=(RelationLoadSource
const&) =
delete;
43 RelationLoadSource& operator=(RelationLoadSource&&) =
delete;
44 virtual ~RelationLoadSource() =
default;
55 [[nodiscard]]
virtual RelationResult<std::shared_ptr<DataMapper>> Borrow() = 0;
67 [[nodiscard]] LIGHTWEIGHT_API std::shared_ptr<RelationLoadSource> PinToDefaultConnectionString(
68 std::shared_ptr<RelationLoadSource> inner, SqlConnectionString connectionString, std::uint32_t generation);
77 inline void AdoptRelationLoadSource(DataMapper& dataMapper, std::shared_ptr<RelationLoadSource> source)
noexcept;