6 #ifndef IROHA_POSTGRES_COMMAND_EXECUTOR_HPP 7 #define IROHA_POSTGRES_COMMAND_EXECUTOR_HPP 20 class AddAssetQuantity;
24 class CompareAndSetAccountDetail;
31 class GrantPermission;
32 class PermissionToString;
34 class RemoveSignatory;
35 class RevokePermission;
36 class SetAccountDetail;
38 class SubtractAssetQuantity;
40 class SetSettingValue;
47 class PostgresSpecificQueryExecutor;
53 std::unique_ptr<soci::session> sql,
54 std::shared_ptr<shared_model::interface::PermissionToString>
56 std::shared_ptr<PostgresSpecificQueryExecutor>
57 specific_query_executor,
58 std::optional<std::reference_wrapper<const VmCaller>> vm_caller);
66 const std::string &tx_hash,
68 bool do_validation)
override;
70 soci::session &getSession();
76 const std::string &tx_hash,
84 const std::string &tx_hash,
92 const std::string &tx_hash,
100 const std::string &tx_hash,
108 const std::string &tx_hash,
116 const std::string &tx_hash,
124 const std::string &tx_hash,
132 const std::string &tx_hash,
140 const std::string &tx_hash,
148 const std::string &tx_hash,
156 const std::string &tx_hash,
164 const std::string &tx_hash,
172 const std::string &tx_hash,
180 const std::string &tx_hash,
188 const std::string &tx_hash,
196 const std::string &tx_hash,
204 const std::string &tx_hash,
212 const std::string &tx_hash,
220 const std::string &tx_hash,
236 void initStatements();
238 std::unique_ptr<CommandStatements> makeCommandStatements(
239 const std::unique_ptr<soci::session> &session,
240 const std::string &base_statement,
241 const std::vector<std::string> &permission_checks);
243 std::unique_ptr<soci::session> sql_;
245 std::shared_ptr<shared_model::interface::PermissionToString>
247 std::shared_ptr<PostgresSpecificQueryExecutor> specific_query_executor_;
248 std::optional<std::reference_wrapper<const VmCaller>> vm_caller_;
250 std::unique_ptr<CommandStatements> add_asset_quantity_statements_;
251 std::unique_ptr<CommandStatements> add_peer_statements_;
252 std::unique_ptr<CommandStatements> add_signatory_statements_;
253 std::unique_ptr<CommandStatements> append_role_statements_;
254 std::unique_ptr<CommandStatements>
255 compare_and_set_account_detail_statements_;
256 std::unique_ptr<CommandStatements> create_account_statements_;
257 std::unique_ptr<CommandStatements> create_asset_statements_;
258 std::unique_ptr<CommandStatements> create_domain_statements_;
259 std::unique_ptr<CommandStatements> create_role_statements_;
260 std::unique_ptr<CommandStatements> detach_role_statements_;
261 std::unique_ptr<CommandStatements> grant_permission_statements_;
262 std::unique_ptr<CommandStatements> remove_peer_statements_;
263 std::unique_ptr<CommandStatements> remove_signatory_statements_;
264 std::unique_ptr<CommandStatements> revoke_permission_statements_;
265 std::unique_ptr<CommandStatements> set_account_detail_statements_;
266 std::unique_ptr<CommandStatements> set_quorum_statements_;
267 std::unique_ptr<CommandStatements> store_engine_response_statements_;
268 std::unique_ptr<CommandStatements> subtract_asset_quantity_statements_;
269 std::unique_ptr<CommandStatements> transfer_asset_statements_;
270 std::unique_ptr<CommandStatements> set_setting_value_statements_;
275 #endif // IROHA_POSTGRES_COMMAND_EXECUTOR_HPP Definition: compare_and_set_account_detail.hpp:21
Definition: add_signatory.hpp:19
Definition: set_quorum.hpp:18
Definition: subtract_asset_quantity.hpp:20
Definition: set_setting_value.hpp:19
Definition: result_fwd.hpp:27
Definition: postgres_command_executor.cpp:388
Definition: detach_role.hpp:19
Definition: remove_signatory.hpp:18
Definition: create_asset.hpp:18
Definition: postgres_command_executor.cpp:349
Definition: call_engine.hpp:20
Definition: remove_peer.hpp:19
Definition: append_role.hpp:19
Definition: transfer_asset.hpp:19
Definition: block_query.hpp:15
Definition: postgres_command_executor.hpp:50
std::string AccountIdType
Type of account id.
Definition: types.hpp:38
Definition: command_executor.hpp:43
Definition: create_domain.hpp:18
Definition: create_account.hpp:19
WsvCommandResult execute(soci::statement &st, Function &&error)
Definition: postgres_wsv_command.cpp:26
Definition: grant_permission.hpp:19
Definition: set_account_detail.hpp:19
Definition: revoke_permission.hpp:19
Definition: command.hpp:41
int32_t CommandIndexType
Type of command index within a transaction.
Definition: types.hpp:97
Definition: add_asset_quantity.hpp:20
Definition: create_role.hpp:19
Definition: command_executor.hpp:12
Definition: pool_wrapper.hpp:11
Definition: add_peer.hpp:20