added collection, collection proxy and collection resolver implementations
This commit is contained in:
@@ -129,6 +129,7 @@ public:
|
||||
auto resolver = resolver_factory_->resolver<value_type>();
|
||||
|
||||
if (attr.fetch() == utils::fetch_type::Lazy) {
|
||||
|
||||
// pk_reader_.read(*id, column_index_++);
|
||||
} else {
|
||||
const auto ti = std::type_index(typeid(value_type));
|
||||
|
||||
@@ -10,7 +10,7 @@ class executor;
|
||||
class resolver_producer {
|
||||
public:
|
||||
virtual ~resolver_producer() = default;
|
||||
virtual std::shared_ptr<object::abstract_object_resolver> produce(executor &exec) = 0;
|
||||
virtual std::shared_ptr<object::abstract_type_resolver> produce(executor &exec) = 0;
|
||||
|
||||
[[nodiscard]] const std::type_index& type() const;
|
||||
|
||||
|
||||
@@ -5,17 +5,19 @@
|
||||
|
||||
#include "matador/sql/internal/resolver_producer.hpp"
|
||||
|
||||
#include <unordered_map>
|
||||
|
||||
namespace matador::sql {
|
||||
class executor;
|
||||
|
||||
class producer_resolver_factory : public object::object_resolver_factory {
|
||||
public:
|
||||
|
||||
std::shared_ptr<object::abstract_object_resolver> acquire_resolver(const std::type_index &type) override;
|
||||
void register_resolver(std::shared_ptr<object::abstract_object_resolver> &&resolver) override;
|
||||
std::shared_ptr<object::abstract_type_resolver> acquire_resolver(const std::type_index &type) override;
|
||||
void register_resolver(std::shared_ptr<object::abstract_type_resolver> &&resolver) override;
|
||||
|
||||
private:
|
||||
std::unordered_map<std::type_index, std::shared_ptr<object::abstract_object_resolver>> resolvers_;
|
||||
std::unordered_map<std::type_index, std::shared_ptr<object::abstract_type_resolver>> resolvers_;
|
||||
};
|
||||
}
|
||||
#endif //MATADOR_RESOLVER_FACTORY_HPP
|
||||
Reference in New Issue
Block a user