implemented lazy loading for object_ptr and belongs_to
This commit is contained in:
@@ -25,7 +25,8 @@ public:
|
||||
* @param info The database connection info data
|
||||
* @param sql_logger The logging handler
|
||||
*/
|
||||
explicit connection(const connection_info& info, const logger_ptr &sql_logger = null_logger);
|
||||
explicit connection(const connection_info& info, logger_ptr sql_logger = null_logger);
|
||||
explicit connection(const connection_info& info, std::shared_ptr<producer_resolver_factory> resolver_factory, logger_ptr sql_logger = null_logger);
|
||||
/**
|
||||
* @brief Creates a database connection from a connection string.
|
||||
*
|
||||
@@ -33,6 +34,7 @@ public:
|
||||
* @param sql_logger The logging handler
|
||||
*/
|
||||
explicit connection(const std::string &dns, const logger_ptr &sql_logger = null_logger);
|
||||
explicit connection(const std::string &dns, std::shared_ptr<producer_resolver_factory> resolver_factory, const logger_ptr &sql_logger = null_logger);
|
||||
/**
|
||||
* Copies a given connection
|
||||
*
|
||||
@@ -138,6 +140,7 @@ public:
|
||||
[[nodiscard]] std::string str( const query_context& ctx ) const override;
|
||||
|
||||
[[nodiscard]] const class dialect &dialect() const override;
|
||||
[[nodiscard]] std::shared_ptr<producer_resolver_factory> resolver_factory() const override;
|
||||
|
||||
private:
|
||||
[[nodiscard]] utils::result<std::unique_ptr<statement_impl>, utils::error> perform_prepare(const query_context &ctx) const;
|
||||
@@ -149,6 +152,7 @@ private:
|
||||
|
||||
std::unique_ptr<connection_impl> connection_;
|
||||
std::shared_ptr<abstract_sql_logger> logger_ = std::make_shared<null_sql_logger>();
|
||||
std::shared_ptr<producer_resolver_factory> resolver_factory_ = std::make_shared<producer_resolver_factory>();
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user