rippled
|
Public Types | |
using | AccountTx = std::pair< std::shared_ptr< Transaction >, std::shared_ptr< TxMeta > > |
using | AccountTxs = std::vector< AccountTx > |
using | txnMetaLedgerType = std::tuple< Blob, Blob, std::uint32_t > |
using | MetaTxsList = std::vector< txnMetaLedgerType > |
using | LedgerSequence = uint32_t |
using | LedgerHash = uint256 |
using | LedgerShortcut = RPC::LedgerShortcut |
using | LedgerSpecifier = std::variant< LedgerRange, LedgerShortcut, LedgerSequence, LedgerHash > |
Public Member Functions | |
SQLiteDatabaseImp (Application &app, Config const &config, JobQueue &jobQueue) | |
std::optional< LedgerIndex > | getMinLedgerSeq () override |
getMinLedgerSeq Returns the minimum ledger sequence in the Ledgers table. More... | |
std::optional< LedgerIndex > | getTransactionsMinLedgerSeq () override |
getTransactionsMinLedgerSeq Returns the minimum ledger sequence stored in the Transactions table. More... | |
std::optional< LedgerIndex > | getAccountTransactionsMinLedgerSeq () override |
getAccountTransactionsMinLedgerSeq Returns the minimum ledger sequence stored in the AccountTransactions table. More... | |
std::optional< LedgerIndex > | getMaxLedgerSeq () override |
getMaxLedgerSeq Returns the maximum ledger sequence in the Ledgers table. More... | |
void | deleteTransactionByLedgerSeq (LedgerIndex ledgerSeq) override |
deleteTransactionByLedgerSeq Deletes transactions from the ledger with the given sequence. More... | |
void | deleteBeforeLedgerSeq (LedgerIndex ledgerSeq) override |
deleteBeforeLedgerSeq Deletes all ledgers with a sequence number less than or equal to the given ledger sequence. More... | |
void | deleteTransactionsBeforeLedgerSeq (LedgerIndex ledgerSeq) override |
deleteTransactionsBeforeLedgerSeq Deletes all transactions with a sequence number less than or equal to the given ledger sequence. More... | |
void | deleteAccountTransactionsBeforeLedgerSeq (LedgerIndex ledgerSeq) override |
deleteAccountTransactionsBeforeLedgerSeq Deletes all account transactions with a sequence number less than or equal to the given ledger sequence. More... | |
std::size_t | getTransactionCount () override |
getTransactionCount Returns the number of transactions. More... | |
std::size_t | getAccountTransactionCount () override |
getAccountTransactionCount Returns the number of account transactions. More... | |
RelationalDatabase::CountMinMax | getLedgerCountMinMax () override |
getLedgerCountMinMax Returns the minimum ledger sequence, maximum ledger sequence and total number of saved ledgers. More... | |
bool | saveValidatedLedger (std::shared_ptr< Ledger const > const &ledger, bool current) override |
saveValidatedLedger Saves a ledger into the database. More... | |
std::optional< LedgerInfo > | getLedgerInfoByIndex (LedgerIndex ledgerSeq) override |
getLedgerInfoByIndex Returns a ledger by its sequence. More... | |
std::optional< LedgerInfo > | getNewestLedgerInfo () override |
getNewestLedgerInfo Returns the info of the newest saved ledger. More... | |
std::optional< LedgerInfo > | getLimitedOldestLedgerInfo (LedgerIndex ledgerFirstIndex) override |
getLimitedOldestLedgerInfo Returns the info of the oldest ledger whose sequence number is greater than or equal to the given sequence number. More... | |
std::optional< LedgerInfo > | getLimitedNewestLedgerInfo (LedgerIndex ledgerFirstIndex) override |
getLimitedNewestLedgerInfo Returns the info of the newest ledger whose sequence number is greater than or equal to the given sequence number. More... | |
std::optional< LedgerInfo > | getLedgerInfoByHash (uint256 const &ledgerHash) override |
getLedgerInfoByHash Returns the info of the ledger with given hash. More... | |
uint256 | getHashByIndex (LedgerIndex ledgerIndex) override |
getHashByIndex Returns the hash of the ledger with the given sequence. More... | |
std::optional< LedgerHashPair > | getHashesByIndex (LedgerIndex ledgerIndex) override |
getHashesByIndex Returns the hashes of the ledger and its parent as specified by the ledgerIndex. More... | |
std::map< LedgerIndex, LedgerHashPair > | getHashesByIndex (LedgerIndex minSeq, LedgerIndex maxSeq) override |
getHashesByIndex Returns hashes of each ledger and its parent for all ledgers within the provided range. More... | |
std::vector< std::shared_ptr< Transaction > > | getTxHistory (LedgerIndex startIndex) override |
getTxHistory Returns the 20 most recent transactions starting from the given number. More... | |
AccountTxs | getOldestAccountTxs (AccountTxOptions const &options) override |
getOldestAccountTxs Returns the oldest transactions for the account that matches the given criteria starting from the provided offset. More... | |
AccountTxs | getNewestAccountTxs (AccountTxOptions const &options) override |
getNewestAccountTxs Returns the newest transactions for the account that matches the given criteria starting from the provided offset. More... | |
MetaTxsList | getOldestAccountTxsB (AccountTxOptions const &options) override |
getOldestAccountTxsB Returns the oldest transactions in binary form for the account that matches the given criteria starting from the provided offset. More... | |
MetaTxsList | getNewestAccountTxsB (AccountTxOptions const &options) override |
getNewestAccountTxsB Returns the newest transactions in binary form for the account that matches the given criteria starting from the provided offset. More... | |
std::pair< AccountTxs, std::optional< AccountTxMarker > > | oldestAccountTxPage (AccountTxPageOptions const &options) override |
oldestAccountTxPage Returns the oldest transactions for the account that matches the given criteria starting from the provided marker. More... | |
std::pair< AccountTxs, std::optional< AccountTxMarker > > | newestAccountTxPage (AccountTxPageOptions const &options) override |
newestAccountTxPage Returns the newest transactions for the account that matches the given criteria starting from the provided marker. More... | |
std::pair< MetaTxsList, std::optional< AccountTxMarker > > | oldestAccountTxPageB (AccountTxPageOptions const &options) override |
oldestAccountTxPageB Returns the oldest transactions in binary form for the account that matches the given criteria starting from the provided marker. More... | |
std::pair< MetaTxsList, std::optional< AccountTxMarker > > | newestAccountTxPageB (AccountTxPageOptions const &options) override |
newestAccountTxPageB Returns the newest transactions in binary form for the account that matches the given criteria starting from the provided marker. More... | |
std::variant< AccountTx, TxSearched > | getTransaction (uint256 const &id, std::optional< ClosedInterval< std::uint32_t >> const &range, error_code_i &ec) override |
bool | ledgerDbHasSpace (Config const &config) override |
ledgerDbHasSpace Checks if the ledger database has available space. More... | |
bool | transactionDbHasSpace (Config const &config) override |
transactionDbHasSpace Checks if the transaction database has available space. More... | |
std::uint32_t | getKBUsedAll () override |
getKBUsedAll Returns the amount of space used by all databases. More... | |
std::uint32_t | getKBUsedLedger () override |
getKBUsedLedger Returns the amount of space space used by the ledger database. More... | |
std::uint32_t | getKBUsedTransaction () override |
getKBUsedTransaction Returns the amount of space used by the transaction database. More... | |
void | closeLedgerDB () override |
Closes the ledger database. More... | |
void | closeTransactionDB () override |
Closes the transaction database. More... | |
virtual std::variant< AccountTx, TxSearched > | getTransaction (uint256 const &id, std::optional< ClosedInterval< uint32_t >> const &range, error_code_i &ec)=0 |
getTransaction Returns the transaction with the given hash. More... | |
Static Public Member Functions | |
static std::unique_ptr< RelationalDatabase > | init (Application &app, Config const &config, JobQueue &jobQueue) |
init Creates and returns an appropriate RelationalDatabase instance based on configuration. More... | |
Private Member Functions | |
bool | makeLedgerDBs (Config const &config, DatabaseCon::Setup const &setup, DatabaseCon::CheckpointerSetup const &checkpointerSetup) |
makeLedgerDBs Opens ledger and transaction databases for the node store, and stores their descriptors in private member variables. More... | |
bool | makeMetaDBs (Config const &config, DatabaseCon::Setup const &setup, DatabaseCon::CheckpointerSetup const &checkpointerSetup) |
makeMetaDBs Opens shard index lookup databases, and stores their descriptors in private member variables. More... | |
std::uint32_t | seqToShardIndex (LedgerIndex ledgerSeq) |
seqToShardIndex Provides the index of the shard that stores the ledger with the given sequence. More... | |
LedgerIndex | firstLedgerSeq (std::uint32_t shardIndex) |
firstLedgerSeq Returns the sequence of the first ledger stored in the shard specified by the shard index parameter. More... | |
LedgerIndex | lastLedgerSeq (std::uint32_t shardIndex) |
lastLedgerSeq Returns the sequence of the last ledger stored in the shard specified by the shard index parameter. More... | |
bool | existsLedger () |
existsLedger Checks if the node store ledger database exists. More... | |
bool | existsTransaction () |
existsTransaction Checks if the node store transaction database exists. More... | |
bool | shardStoreExists () |
shardStoreExists Checks whether the shard store exists More... | |
auto | checkoutLedger () |
checkoutTransaction Checks out and returns node store ledger database. More... | |
auto | checkoutTransaction () |
checkoutTransaction Checks out and returns the node store transaction database. More... | |
bool | doLedger (LedgerIndex ledgerSeq, std::function< bool(soci::session &session)> const &callback) |
doLedger Checks out the ledger database owned by the shard containing the given ledger, and invokes the provided callback with a session to that database. More... | |
bool | doTransaction (LedgerIndex ledgerSeq, std::function< bool(soci::session &session)> const &callback) |
doTransaction Checks out the transaction database owned by the shard containing the given ledger, and invokes the provided callback with a session to that database. More... | |
bool | iterateLedgerForward (std::optional< std::uint32_t > firstIndex, std::function< bool(soci::session &session, std::uint32_t shardIndex)> const &callback) |
iterateLedgerForward Checks out ledger databases for all shards in ascending order starting from the given shard index, until all shards in range have been visited or the callback returns false. More... | |
bool | iterateTransactionForward (std::optional< std::uint32_t > firstIndex, std::function< bool(soci::session &session, std::uint32_t shardIndex)> const &callback) |
iterateTransactionForward Checks out transaction databases for all shards in ascending order starting from the given shard index, until all shards in range have been visited or the callback returns false. More... | |
bool | iterateLedgerBack (std::optional< std::uint32_t > firstIndex, std::function< bool(soci::session &session, std::uint32_t shardIndex)> const &callback) |
iterateLedgerBack Checks out ledger databases for all shards in descending order starting from the given shard index, until all shards in range have been visited or the callback returns false. More... | |
bool | iterateTransactionBack (std::optional< std::uint32_t > firstIndex, std::function< bool(soci::session &session, std::uint32_t shardIndex)> const &callback) |
iterateTransactionBack Checks out transaction databases for all shards in descending order starting from the given shard index, until all shards in range have been visited or the callback returns false. More... | |
Private Attributes | |
Application & | app_ |
const bool | useTxTables_ |
beast::Journal | j_ |
std::unique_ptr< DatabaseCon > | lgrdb_ |
std::unique_ptr< DatabaseCon > | txdb_ |
std::unique_ptr< DatabaseCon > | lgrMetaDB_ |
std::unique_ptr< DatabaseCon > | txMetaDB_ |
Definition at line 39 of file SQLiteDatabase.cpp.
|
inherited |
Definition at line 85 of file RelationalDatabase.h.
|
inherited |
Definition at line 86 of file RelationalDatabase.h.
|
inherited |
Definition at line 87 of file RelationalDatabase.h.
|
inherited |
Definition at line 88 of file RelationalDatabase.h.
|
inherited |
Definition at line 90 of file RelationalDatabase.h.
|
inherited |
Definition at line 91 of file RelationalDatabase.h.
|
inherited |
Definition at line 92 of file RelationalDatabase.h.
|
inherited |
Definition at line 94 of file RelationalDatabase.h.
ripple::SQLiteDatabaseImp::SQLiteDatabaseImp | ( | Application & | app, |
Config const & | config, | ||
JobQueue & | jobQueue | ||
) |
Definition at line 42 of file SQLiteDatabase.cpp.
|
overridevirtual |
getMinLedgerSeq Returns the minimum ledger sequence in the Ledgers table.
Implements ripple::RelationalDatabase.
Definition at line 472 of file SQLiteDatabase.cpp.
|
overridevirtual |
getTransactionsMinLedgerSeq Returns the minimum ledger sequence stored in the Transactions table.
Implements ripple::SQLiteDatabase.
Definition at line 499 of file SQLiteDatabase.cpp.
|
overridevirtual |
getAccountTransactionsMinLedgerSeq Returns the minimum ledger sequence stored in the AccountTransactions table.
Implements ripple::SQLiteDatabase.
Definition at line 526 of file SQLiteDatabase.cpp.
|
overridevirtual |
getMaxLedgerSeq Returns the maximum ledger sequence in the Ledgers table.
Implements ripple::RelationalDatabase.
Definition at line 554 of file SQLiteDatabase.cpp.
|
overridevirtual |
deleteTransactionByLedgerSeq Deletes transactions from the ledger with the given sequence.
ledgerSeq | Ledger sequence. |
Implements ripple::SQLiteDatabase.
Definition at line 578 of file SQLiteDatabase.cpp.
|
overridevirtual |
deleteBeforeLedgerSeq Deletes all ledgers with a sequence number less than or equal to the given ledger sequence.
ledgerSeq | Ledger sequence. |
Implements ripple::SQLiteDatabase.
Definition at line 602 of file SQLiteDatabase.cpp.
|
overridevirtual |
deleteTransactionsBeforeLedgerSeq Deletes all transactions with a sequence number less than or equal to the given ledger sequence.
ledgerSeq | Ledger sequence. |
Implements ripple::SQLiteDatabase.
Definition at line 625 of file SQLiteDatabase.cpp.
|
overridevirtual |
deleteAccountTransactionsBeforeLedgerSeq Deletes all account transactions with a sequence number less than or equal to the given ledger sequence.
ledgerSeq | Ledger sequence. |
Implements ripple::SQLiteDatabase.
Definition at line 651 of file SQLiteDatabase.cpp.
|
overridevirtual |
getTransactionCount Returns the number of transactions.
Implements ripple::SQLiteDatabase.
Definition at line 678 of file SQLiteDatabase.cpp.
|
overridevirtual |
getAccountTransactionCount Returns the number of account transactions.
Implements ripple::SQLiteDatabase.
Definition at line 705 of file SQLiteDatabase.cpp.
|
overridevirtual |
getLedgerCountMinMax Returns the minimum ledger sequence, maximum ledger sequence and total number of saved ledgers.
Implements ripple::SQLiteDatabase.
Definition at line 732 of file SQLiteDatabase.cpp.
|
overridevirtual |
saveValidatedLedger Saves a ledger into the database.
ledger | The ledger. |
current | True if the ledger is current. |
Implements ripple::SQLiteDatabase.
Definition at line 763 of file SQLiteDatabase.cpp.
|
overridevirtual |
getLedgerInfoByIndex Returns a ledger by its sequence.
ledgerSeq | Ledger sequence. |
Implements ripple::RelationalDatabase.
Definition at line 799 of file SQLiteDatabase.cpp.
|
overridevirtual |
getNewestLedgerInfo Returns the info of the newest saved ledger.
Implements ripple::RelationalDatabase.
Definition at line 824 of file SQLiteDatabase.cpp.
|
overridevirtual |
getLimitedOldestLedgerInfo Returns the info of the oldest ledger whose sequence number is greater than or equal to the given sequence number.
ledgerFirstIndex | Minimum ledger sequence. |
Implements ripple::SQLiteDatabase.
Definition at line 855 of file SQLiteDatabase.cpp.
|
overridevirtual |
getLimitedNewestLedgerInfo Returns the info of the newest ledger whose sequence number is greater than or equal to the given sequence number.
ledgerFirstIndex | Minimum ledger sequence. |
Implements ripple::SQLiteDatabase.
Definition at line 889 of file SQLiteDatabase.cpp.
|
overridevirtual |
getLedgerInfoByHash Returns the info of the ledger with given hash.
ledgerHash | Hash of the ledger. |
Implements ripple::RelationalDatabase.
Definition at line 922 of file SQLiteDatabase.cpp.
|
overridevirtual |
getHashByIndex Returns the hash of the ledger with the given sequence.
ledgerIndex | Ledger sequence. |
Implements ripple::RelationalDatabase.
Definition at line 955 of file SQLiteDatabase.cpp.
|
overridevirtual |
getHashesByIndex Returns the hashes of the ledger and its parent as specified by the ledgerIndex.
ledgerIndex | Ledger sequence. |
Implements ripple::RelationalDatabase.
Definition at line 980 of file SQLiteDatabase.cpp.
|
overridevirtual |
getHashesByIndex Returns hashes of each ledger and its parent for all ledgers within the provided range.
minSeq | Minimum ledger sequence. |
maxSeq | Maximum ledger sequence. |
Implements ripple::RelationalDatabase.
Definition at line 1005 of file SQLiteDatabase.cpp.
|
overridevirtual |
getTxHistory Returns the 20 most recent transactions starting from the given number.
startIndex | First number of returned entry. |
Implements ripple::RelationalDatabase.
Definition at line 1040 of file SQLiteDatabase.cpp.
|
overridevirtual |
getOldestAccountTxs Returns the oldest transactions for the account that matches the given criteria starting from the provided offset.
options | Struct AccountTxOptions which contains the criteria to match: the account, ledger search range, the offset of the first entry to return, the number of transactions to return, a flag if this number is unlimited. |
Implements ripple::SQLiteDatabase.
Definition at line 1085 of file SQLiteDatabase.cpp.
|
overridevirtual |
getNewestAccountTxs Returns the newest transactions for the account that matches the given criteria starting from the provided offset.
options | Struct AccountTxOptions which contains the criteria to match: the account, the ledger search range, the offset of the first entry to return, the number of transactions to return, a flag if this number unlimited. |
Implements ripple::SQLiteDatabase.
Definition at line 1145 of file SQLiteDatabase.cpp.
|
overridevirtual |
getOldestAccountTxsB Returns the oldest transactions in binary form for the account that matches the given criteria starting from the provided offset.
options | Struct AccountTxOptions which contains the criteria to match: the account, the ledger search range, the offset of the first entry to return, the number of transactions to return, a flag if this number unlimited. |
Implements ripple::SQLiteDatabase.
Definition at line 1205 of file SQLiteDatabase.cpp.
|
overridevirtual |
getNewestAccountTxsB Returns the newest transactions in binary form for the account that matches the given criteria starting from the provided offset.
options | Struct AccountTxOptions which contains the criteria to match: the account, the ledger search range, the offset of the first entry to return, the number of transactions to return, a flag if this number is unlimited. |
Implements ripple::SQLiteDatabase.
Definition at line 1261 of file SQLiteDatabase.cpp.
|
overridevirtual |
oldestAccountTxPage Returns the oldest transactions for the account that matches the given criteria starting from the provided marker.
options | Struct AccountTxPageOptions which contains the criteria to match: the account, the ledger search range, the marker of first returned entry, the number of transactions to return, a flag if this number is unlimited. |
Implements ripple::SQLiteDatabase.
Definition at line 1319 of file SQLiteDatabase.cpp.
|
overridevirtual |
newestAccountTxPage Returns the newest transactions for the account that matches the given criteria starting from the provided marker.
options | Struct AccountTxPageOptions which contains the criteria to match: the account, the ledger search range, the marker of the first returned entry, the number of transactions to return, a flag if this number unlimited. |
Implements ripple::SQLiteDatabase.
Definition at line 1381 of file SQLiteDatabase.cpp.
|
overridevirtual |
oldestAccountTxPageB Returns the oldest transactions in binary form for the account that matches the given criteria starting from the provided marker.
options | Struct AccountTxPageOptions which contains criteria to match: the account, the ledger search range, the marker of the first returned entry, the number of transactions to return, a flag if this number unlimited. |
Implements ripple::SQLiteDatabase.
Definition at line 1443 of file SQLiteDatabase.cpp.
|
overridevirtual |
newestAccountTxPageB Returns the newest transactions in binary form for the account that matches the given criteria starting from the provided marker.
options | Struct AccountTxPageOptions which contains the criteria to match: the account, the ledger search range, the marker of the first returned entry, the number of transactions to return, a flag if this number is unlimited. |
Implements ripple::SQLiteDatabase.
Definition at line 1504 of file SQLiteDatabase.cpp.
|
override |
Definition at line 1563 of file SQLiteDatabase.cpp.
|
overridevirtual |
ledgerDbHasSpace Checks if the ledger database has available space.
config | Config object. |
Implements ripple::RelationalDatabase.
Definition at line 1612 of file SQLiteDatabase.cpp.
|
overridevirtual |
transactionDbHasSpace Checks if the transaction database has available space.
config | Config object. |
Implements ripple::RelationalDatabase.
Definition at line 1632 of file SQLiteDatabase.cpp.
|
overridevirtual |
getKBUsedAll Returns the amount of space used by all databases.
Implements ripple::SQLiteDatabase.
Definition at line 1655 of file SQLiteDatabase.cpp.
|
overridevirtual |
getKBUsedLedger Returns the amount of space space used by the ledger database.
Implements ripple::SQLiteDatabase.
Definition at line 1677 of file SQLiteDatabase.cpp.
|
overridevirtual |
getKBUsedTransaction Returns the amount of space used by the transaction database.
Implements ripple::SQLiteDatabase.
Definition at line 1699 of file SQLiteDatabase.cpp.
|
overridevirtual |
Closes the ledger database.
Implements ripple::SQLiteDatabase.
Definition at line 1724 of file SQLiteDatabase.cpp.
|
overridevirtual |
Closes the transaction database.
Implements ripple::SQLiteDatabase.
Definition at line 1730 of file SQLiteDatabase.cpp.
|
private |
makeLedgerDBs Opens ledger and transaction databases for the node store, and stores their descriptors in private member variables.
config | Config object. |
setup | Path to the databases and other opening parameters. |
checkpointerSetup | Checkpointer parameters. |
Definition at line 444 of file SQLiteDatabase.cpp.
|
private |
makeMetaDBs Opens shard index lookup databases, and stores their descriptors in private member variables.
config | Config object. |
setup | Path to the databases and other opening parameters. |
checkpointerSetup | Checkpointer parameters. |
Definition at line 457 of file SQLiteDatabase.cpp.
|
private |
seqToShardIndex Provides the index of the shard that stores the ledger with the given sequence.
ledgerSeq | Ledger sequence. |
Definition at line 235 of file SQLiteDatabase.cpp.
|
private |
firstLedgerSeq Returns the sequence of the first ledger stored in the shard specified by the shard index parameter.
shardIndex | Shard Index. |
Definition at line 247 of file SQLiteDatabase.cpp.
|
private |
lastLedgerSeq Returns the sequence of the last ledger stored in the shard specified by the shard index parameter.
shardIndex | Shard Index. |
Definition at line 259 of file SQLiteDatabase.cpp.
|
private |
existsLedger Checks if the node store ledger database exists.
Definition at line 269 of file SQLiteDatabase.cpp.
|
private |
existsTransaction Checks if the node store transaction database exists.
Definition at line 280 of file SQLiteDatabase.cpp.
|
private |
shardStoreExists Checks whether the shard store exists
Definition at line 290 of file SQLiteDatabase.cpp.
|
private |
checkoutTransaction Checks out and returns node store ledger database.
Definition at line 301 of file SQLiteDatabase.cpp.
|
private |
checkoutTransaction Checks out and returns the node store transaction database.
Definition at line 312 of file SQLiteDatabase.cpp.
|
private |
doLedger Checks out the ledger database owned by the shard containing the given ledger, and invokes the provided callback with a session to that database.
ledgerSeq | Ledger sequence. |
callback | Callback function to call. |
Definition at line 326 of file SQLiteDatabase.cpp.
|
private |
doTransaction Checks out the transaction database owned by the shard containing the given ledger, and invokes the provided callback with a session to that database.
ledgerSeq | Ledger sequence. |
callback | Callback function to call. |
Definition at line 343 of file SQLiteDatabase.cpp.
|
private |
iterateLedgerForward Checks out ledger databases for all shards in ascending order starting from the given shard index, until all shards in range have been visited or the callback returns false.
For each visited shard, we invoke the provided callback with a session to the database and the current shard index.
firstIndex | First shard index to visit or no value if all shards should be visited. |
callback | Callback function to call. |
Definition at line 363 of file SQLiteDatabase.cpp.
|
private |
iterateTransactionForward Checks out transaction databases for all shards in ascending order starting from the given shard index, until all shards in range have been visited or the callback returns false.
For each visited shard, we invoke the provided callback with a session to the database and the current shard index.
firstIndex | First shard index to visit or no value if all shards should be visited. |
callback | Callback function to call. |
Definition at line 386 of file SQLiteDatabase.cpp.
|
private |
iterateLedgerBack Checks out ledger databases for all shards in descending order starting from the given shard index, until all shards in range have been visited or the callback returns false.
For each visited shard, we invoke the provided callback with a session to the database and the current shard index.
firstIndex | First shard index to visit or no value if all shards should be visited. |
callback | Callback function to call. |
Definition at line 409 of file SQLiteDatabase.cpp.
|
private |
iterateTransactionBack Checks out transaction databases for all shards in descending order starting from the given shard index, until all shards in range have been visited or the callback returns false.
For each visited shard, we invoke the provided callback with a session to the database and the current shard index.
firstIndex | First shard index to visit or no value if all shards should be visited. |
callback | Callback function to call. |
Definition at line 432 of file SQLiteDatabase.cpp.
|
pure virtualinherited |
getTransaction Returns the transaction with the given hash.
If a range is provided but the transaction is not found, then check if all ledgers in the range are present in the database.
id | Hash of the transaction. |
range | Range of ledgers to check, if present. |
ec | Default error code value. |
|
staticinherited |
init Creates and returns an appropriate RelationalDatabase instance based on configuration.
app | Application object. |
config | Config object. |
jobQueue | JobQueue object. |
Definition at line 34 of file RelationalDatabase.cpp.
|
private |
Definition at line 194 of file SQLiteDatabase.cpp.
|
private |
Definition at line 195 of file SQLiteDatabase.cpp.
|
private |
Definition at line 196 of file SQLiteDatabase.cpp.
|
private |
Definition at line 197 of file SQLiteDatabase.cpp.
|
private |
Definition at line 197 of file SQLiteDatabase.cpp.
|
private |
Definition at line 198 of file SQLiteDatabase.cpp.
|
private |
Definition at line 198 of file SQLiteDatabase.cpp.