6 #ifndef IROHA_POSTGRES_BLOCK_STORAGE_HPP 7 #define IROHA_POSTGRES_BLOCK_STORAGE_HPP 27 create(std::shared_ptr<PoolWrapper> pool_wrapper,
29 std::string table_name,
31 bool drop_table_at_destruction,
37 std::shared_ptr<const shared_model::interface::Block> block)
override;
39 boost::optional<std::unique_ptr<shared_model::interface::Block>>
fetch(
42 size_t size()
const override;
46 void clear()
override;
60 bool drop_table_at_destruction,
61 boost::optional<HeightRange> height_range,
65 queryBlockHeightsRange(soci::session &sql,
const std::string &table_name);
69 mutable boost::optional<HeightRange> block_height_range_;
70 std::shared_ptr<PoolWrapper> pool_wrapper_;
71 std::shared_ptr<BlockTransportFactory> block_factory_;
72 std::string table_name_;
73 bool drop_table_at_destruction_;
80 #endif // IROHA_POSTGRES_BLOCK_STORAGE_HPP Definition: block_query.hpp:17
void reload() override
Definition: postgres_block_storage.cpp:149
uint64_t HeightType
Type of height (for Block, Proposal etc)
Definition: types.hpp:48
static const model::converters::PbBlockFactory block_factory
Definition: sha3_hash.cpp:15
std::function< expected::Result< void, std::string >(std::shared_ptr< const shared_model::interface::Block >)> FunctionType
type of function which can be applied to the elements of the storage
Definition: block_storage.hpp:56
size_t size() const override
Definition: postgres_block_storage.cpp:141
Definition: block_storage.hpp:23
bool insert(std::shared_ptr< const shared_model::interface::Block > block) override
Definition: postgres_block_storage.cpp:55
expected::Result< void, std::string > forEach(FunctionType function) const override
Definition: postgres_block_storage.cpp:164
static iroha::expected::Result< std::unique_ptr< PostgresBlockStorage >, std::string > create(std::shared_ptr< PoolWrapper > pool_wrapper, std::shared_ptr< BlockTransportFactory > block_factory, std::string table_name, bool drop_table_at_destruction, logger::LoggerPtr log)
Definition: postgres_block_storage.cpp:17
Definition: result_fwd.hpp:27
std::shared_ptr< Logger > LoggerPtr
Definition: logger_fwd.hpp:22
boost::optional< std::unique_ptr< shared_model::interface::Block > > fetch(shared_model::interface::types::HeightType height) const override
Definition: postgres_block_storage.cpp:99
Definition: block_query.hpp:15
Definition: postgres_block_storage.hpp:21
void clear() override
Definition: postgres_block_storage.cpp:153
~PostgresBlockStorage() override
Definition: postgres_block_storage.cpp:49
Definition: proto_block_factory.hpp:21