Clio  develop
The XRP Ledger API server.
Loading...
Searching...
No Matches
data::cassandra::CassandraSchema< SettingsProviderType >::CassandraStatements Struct Reference

Construct a new Cassandra Schema object. More...

#include <CassandraSchema.hpp>

Inheritance diagram for data::cassandra::CassandraSchema< SettingsProviderType >::CassandraStatements:
Collaboration diagram for data::cassandra::CassandraSchema< SettingsProviderType >::CassandraStatements:

Public Attributes

PreparedStatement updateLedgerRange
PreparedStatement selectNFTIDsByIssuer
PreparedStatement selectAccountFromBeginning
PreparedStatement selectAccountFromToken
PreparedStatement selectLedgerPageKeys
PreparedStatement selectLedgerPage
Public Attributes inherited from data::cassandra::Schema< SettingsProviderType >::Statements
PreparedStatement insertObject
PreparedStatement insertTransaction
PreparedStatement insertLedgerTransaction
PreparedStatement insertSuccessor
PreparedStatement insertDiff
PreparedStatement insertAccountTx
PreparedStatement insertNFT
PreparedStatement insertIssuerNFT
PreparedStatement insertNFTURI
PreparedStatement insertNFTTx
PreparedStatement insertMPTHolder
PreparedStatement insertLedgerHeader
PreparedStatement insertLedgerHash
PreparedStatement deleteLedgerRange
PreparedStatement insertMigratorStatus
PreparedStatement updateClioNodeMessage
PreparedStatement selectSuccessor
PreparedStatement selectDiff
PreparedStatement selectObject
PreparedStatement selectTransaction
PreparedStatement selectAllTransactionHashesInLedger
PreparedStatement getToken
PreparedStatement selectAccountTx
PreparedStatement selectAccountTxForward
PreparedStatement selectNFT
PreparedStatement selectNFTURI
PreparedStatement selectNFTTx
PreparedStatement selectNFTTxForward
PreparedStatement selectNFTIDsByIssuerTaxon
PreparedStatement selectMPTHolders
PreparedStatement selectLedgerByHash
PreparedStatement selectLedgerBySeq
PreparedStatement selectLatestLedger
PreparedStatement selectLedgerRange
PreparedStatement selectMigratorStatus
PreparedStatement selectClioNodesData

Additional Inherited Members

Public Member Functions inherited from data::cassandra::Schema< SettingsProviderType >::Statements
 Statements (SettingsProviderType const &settingsProvider, Handle const &handle)
 Construct a new Statements object.
Protected Attributes inherited from data::cassandra::Schema< SettingsProviderType >::Statements
std::reference_wrapper< SettingsProviderType const > settingsProvider_
std::reference_wrapper< Handle const > handle_

Detailed Description

template<SomeSettingsProvider SettingsProviderType>
struct data::cassandra::CassandraSchema< SettingsProviderType >::CassandraStatements

Construct a new Cassandra Schema object.

Parameters
settingsProviderThe settings provider

Member Data Documentation

◆ selectAccountFromBeginning

template<SomeSettingsProvider SettingsProviderType>
PreparedStatement data::cassandra::CassandraSchema< SettingsProviderType >::CassandraStatements::selectAccountFromBeginning
Initial value:
= [this]() {
return handle_.get().prepare(
fmt::format(
R"(
SELECT account
FROM {}
WHERE token(account) > 0
PER PARTITION LIMIT 1
LIMIT ?
)",
qualifiedTableName(settingsProvider_.get(), "account_tx")
)
);
}()
std::string qualifiedTableName(SettingsProviderType const &provider, std::string_view name)
Returns the table name qualified with the keyspace and table prefix.
Definition Schema.hpp:46

◆ selectAccountFromToken

template<SomeSettingsProvider SettingsProviderType>
PreparedStatement data::cassandra::CassandraSchema< SettingsProviderType >::CassandraStatements::selectAccountFromToken
Initial value:
= [this]() {
return handle_.get().prepare(
fmt::format(
R"(
SELECT account
FROM {}
WHERE token(account) > token(?)
PER PARTITION LIMIT 1
LIMIT ?
)",
qualifiedTableName(settingsProvider_.get(), "account_tx")
)
);
}()

◆ selectLedgerPage

template<SomeSettingsProvider SettingsProviderType>
PreparedStatement data::cassandra::CassandraSchema< SettingsProviderType >::CassandraStatements::selectLedgerPage
Initial value:
= [this]() {
return handle_.get().prepare(
fmt::format(
R"(
SELECT object, key
FROM {}
WHERE TOKEN(key) >= ?
AND sequence <= ?
PER PARTITION LIMIT 1
LIMIT ?
ALLOW FILTERING
)",
qualifiedTableName(settingsProvider_.get(), "objects")
)
);
}()

◆ selectLedgerPageKeys

template<SomeSettingsProvider SettingsProviderType>
PreparedStatement data::cassandra::CassandraSchema< SettingsProviderType >::CassandraStatements::selectLedgerPageKeys
Initial value:
= [this]() {
return handle_.get().prepare(
fmt::format(
R"(
SELECT key
FROM {}
WHERE TOKEN(key) >= ?
AND sequence <= ?
PER PARTITION LIMIT 1
LIMIT ?
ALLOW FILTERING
)",
qualifiedTableName(settingsProvider_.get(), "objects")
)
);
}()

◆ selectNFTIDsByIssuer

template<SomeSettingsProvider SettingsProviderType>
PreparedStatement data::cassandra::CassandraSchema< SettingsProviderType >::CassandraStatements::selectNFTIDsByIssuer
Initial value:
= [this]() {
return handle_.get().prepare(
fmt::format(
R"(
SELECT token_id
FROM {}
WHERE issuer = ?
AND (taxon, token_id) > ?
ORDER BY taxon ASC, token_id ASC
LIMIT ?
)",
qualifiedTableName(settingsProvider_.get(), "issuer_nf_tokens_v2")
)
);
}()

◆ updateLedgerRange

template<SomeSettingsProvider SettingsProviderType>
PreparedStatement data::cassandra::CassandraSchema< SettingsProviderType >::CassandraStatements::updateLedgerRange
Initial value:
= [this]() {
return handle_.get().prepare(
fmt::format(
R"(
UPDATE {}
SET sequence = ?
WHERE is_latest = ?
IF sequence IN (?, null)
)",
qualifiedTableName(settingsProvider_.get(), "ledger_range")
)
);
}()

The documentation for this struct was generated from the following file: