25 bool hasConnector(
const std::string & name)
const override;
33 const ConnectorRecord & record,
34 const evmc::bytes32 & format_hash,
35 const std::vector<ScalarLabel> & canonical_scalar_labels)
override;
37 bool addConnectorsBatch(
const std::vector<ConnectorBatchItem> & items,
bool all_or_nothing =
true)
override;
42 const evmc::bytes32 & format_hash,
43 const std::optional<NameCursor> & after,
44 std::size_t limit)
const override;
49 const std::optional<evmc::bytes32> & after,
50 std::size_t limit)
const override;
57 const std::string & name)
const override;
61 const TransformationRecord & record)
override;
64 const std::vector<TransformationBatchItem> & items,
65 bool all_or_nothing =
true)
override;
67 bool hasCondition(
const std::string & name)
const override;
70 const std::string & name)
const override;
74 const ConditionRecord & record)
override;
77 const std::vector<ConditionBatchItem> & items,
78 bool all_or_nothing =
true)
override;
82 const std::optional<NameCursor> & after,
83 std::size_t limit)
const override;
87 const std::optional<NameCursor> & after,
88 std::size_t limit)
const override;
92 const std::optional<NameCursor> & after,
93 std::size_t limit)
const override;
98 const std::optional<chain::Address> & after,
99 std::size_t limit)
const override;
109 sqlite3 * _db =
nullptr;
111 bool _initializeSchema()
const;
112 bool _exec(
const char * sql)
const;
113 bool _beginTransaction()
const;
114 bool _commitTransaction()
const;
115 void _rollbackTransaction()
const;
120 bool _insertConnectorRows(
122 const evmc::bytes32 & format_hash,
123 const ConnectorRecord & record,
124 const std::vector<ScalarLabel> & canonical_scalar_labels)
const;
127 std::optional<ConnectorRecord> _readConnectorRecord(
const std::string & name)
const;
130 const char * table_name,
132 const std::optional<NameCursor> & after,
133 std::size_t limit)
const;
Definition registry_store.hpp:57
bool addConditionsBatch(const std::vector< ConditionBatchItem > &items, bool all_or_nothing=true) override
Definition sqlite_registry_store.cpp:1504
std::optional< evmc::bytes32 > getConnectorFormatHash(const std::string &name) const override
Definition sqlite_registry_store.cpp:665
bool setMaterializationCursor(std::int64_t last_change_seq) override
Definition sqlite_registry_store.cpp:292
NameCursorPage getOwnedConditionsCursor(const chain::Address &owner, const std::optional< NameCursor > &after, std::size_t limit) const override
Definition sqlite_registry_store.cpp:1729
std::int64_t getMaterializationCursor() const override
Definition sqlite_registry_store.cpp:273
SQLiteRegistryStore(const SQLiteRegistryStore &)=delete
std::size_t getAccountsCount() const override
Definition sqlite_registry_store.cpp:1734
std::size_t getFormatConnectorNamesCount(const evmc::bytes32 &format_hash) const override
Definition sqlite_registry_store.cpp:861
NameCursorPage getFormatsCursor(const std::optional< evmc::bytes32 > &after, std::size_t limit) const override
Definition sqlite_registry_store.cpp:969
~SQLiteRegistryStore() override
Definition sqlite_registry_store.cpp:109
bool addConnector(const chain::Address &address, const ConnectorRecord &record, const evmc::bytes32 &format_hash, const std::vector< ScalarLabel > &canonical_scalar_labels) override
Definition sqlite_registry_store.cpp:684
NameCursorPage getAccountsCursor(const std::optional< chain::Address > &after, std::size_t limit) const override
Definition sqlite_registry_store.cpp:1760
bool hasTransformation(const std::string &name) const override
Definition sqlite_registry_store.cpp:1081
SQLiteRegistryStore & operator=(SQLiteRegistryStore &&)=delete
SQLiteRegistryStore(SQLiteRegistryStore &&)=delete
bool addCondition(const chain::Address &address, const ConditionRecord &record) override
Definition sqlite_registry_store.cpp:1440
std::optional< ConditionRecordHandle > getConditionRecordHandle(const std::string &name) const override
Definition sqlite_registry_store.cpp:1396
SQLiteRegistryStore & operator=(const SQLiteRegistryStore &)=delete
bool hasCondition(const std::string &name) const override
Definition sqlite_registry_store.cpp:1361
bool hasConnector(const std::string &name) const override
Definition sqlite_registry_store.cpp:607
bool addTransformation(const chain::Address &address, const TransformationRecord &record) override
Definition sqlite_registry_store.cpp:1160
NameCursorPage getOwnedTransformationsCursor(const chain::Address &owner, const std::optional< NameCursor > &after, std::size_t limit) const override
Definition sqlite_registry_store.cpp:1724
bool checkpointWal(storage::sqlite::WalCheckpointMode mode) const override
Definition sqlite_registry_store.cpp:1842
std::size_t getFormatsCount() const override
Definition sqlite_registry_store.cpp:951
bool addConnectorsBatch(const std::vector< ConnectorBatchItem > &items, bool all_or_nothing=true) override
Definition sqlite_registry_store.cpp:745
std::optional< std::vector< ScalarLabel > > getScalarLabelsByFormatHash(const evmc::bytes32 &format_hash) const override
Definition sqlite_registry_store.cpp:1039
SQLiteRegistryStore(const std::string &db_path)
Definition sqlite_registry_store.cpp:76
NameCursorPage getFormatConnectorNamesCursor(const evmc::bytes32 &format_hash, const std::optional< NameCursor > &after, std::size_t limit) const override
Definition sqlite_registry_store.cpp:883
std::optional< ConnectorRecordHandle > getConnectorRecordHandle(const std::string &name) const override
Definition sqlite_registry_store.cpp:642
std::optional< TransformationRecordHandle > getTransformationRecordHandle(const std::string &name) const override
Definition sqlite_registry_store.cpp:1116
NameCursorPage getOwnedConnectorsCursor(const chain::Address &owner, const std::optional< NameCursor > &after, std::size_t limit) const override
Definition sqlite_registry_store.cpp:1719
bool addTransformationsBatch(const std::vector< TransformationBatchItem > &items, bool all_or_nothing=true) override
Definition sqlite_registry_store.cpp:1224
evmc::address Address
Definition address.hpp:18
Definition registry.hpp:23
WalCheckpointMode
Definition wal.hpp:9
Definition registry_store.hpp:50