20 #ifndef RIPPLE_APP_DATA_DBINIT_H_INCLUDED
21 #define RIPPLE_APP_DATA_DBINIT_H_INCLUDED
45 {
"PRAGMA journal_size_limit=1582080;"}};
48 {
"BEGIN TRANSACTION;",
50 "CREATE TABLE IF NOT EXISTS Ledgers ( \
51 LedgerHash CHARACTER(64) PRIMARY KEY, \
52 LedgerSeq BIGINT UNSIGNED, \
53 PrevHash CHARACTER(64), \
54 TotalCoins BIGINT UNSIGNED, \
55 ClosingTime BIGINT UNSIGNED, \
56 PrevClosingTime BIGINT UNSIGNED, \
57 CloseTimeRes BIGINT UNSIGNED, \
58 CloseFlags BIGINT UNSIGNED, \
59 AccountSetHash CHARACTER(64), \
60 TransSetHash CHARACTER(64) \
62 "CREATE INDEX IF NOT EXISTS SeqLedger ON Ledgers(LedgerSeq);",
65 "DROP TABLE IF EXISTS Validations;",
72 inline constexpr
auto TxDBName{
"transaction.db"};
76 "PRAGMA page_size=4096;",
"PRAGMA journal_size_limit=1582080;",
77 "PRAGMA max_page_count=2147483646;",
78 #if (ULONG_MAX > UINT_MAX) && !defined(NO_SQLITE_MMAP)
79 "PRAGMA mmap_size=17179869184;"
84 {
"BEGIN TRANSACTION;",
86 "CREATE TABLE IF NOT EXISTS Transactions ( \
87 TransID CHARACTER(64) PRIMARY KEY, \
88 TransType CHARACTER(24), \
89 FromAcct CHARACTER(35), \
90 FromSeq BIGINT UNSIGNED, \
91 LedgerSeq BIGINT UNSIGNED, \
92 Status CHARACTER(1), \
96 "CREATE INDEX IF NOT EXISTS TxLgrIndex ON \
97 Transactions(LedgerSeq);",
99 "CREATE TABLE IF NOT EXISTS AccountTransactions ( \
100 TransID CHARACTER(64), \
101 Account CHARACTER(64), \
102 LedgerSeq BIGINT UNSIGNED, \
105 "CREATE INDEX IF NOT EXISTS AcctTxIDIndex ON \
106 AccountTransactions(TransID);",
107 "CREATE INDEX IF NOT EXISTS AcctTxIndex ON \
108 AccountTransactions(Account, LedgerSeq, TxnSeq, TransID);",
109 "CREATE INDEX IF NOT EXISTS AcctLgrIndex ON \
110 AccountTransactions(LedgerSeq, Account, TransID);",
112 "END TRANSACTION;"}};
120 {
"PRAGMA journal_size_limit=1582080;"}};
123 {
"CREATE TABLE IF NOT EXISTS Shard ( \
124 ShardIndex INTEGER PRIMARY KEY, \
125 LastLedgerHash CHARACTER(64), \
126 StoredLedgerSeqs BLOB \
134 {
"PRAGMA synchronous=OFF;",
"PRAGMA journal_mode=OFF;"}};
141 {
"BEGIN TRANSACTION;",
149 "CREATE TABLE IF NOT EXISTS NodeIdentity ( \
150 PublicKey CHARACTER(53), \
151 PrivateKey CHARACTER(52) \
155 "CREATE TABLE IF NOT EXISTS PeerReservations ( \
156 PublicKey CHARACTER(53) UNIQUE NOT NULL, \
157 Description CHARACTER(64) NOT NULL \
161 "CREATE TABLE IF NOT EXISTS ValidatorManifests ( \
162 RawData BLOB NOT NULL \
165 "CREATE TABLE IF NOT EXISTS PublisherManifests ( \
166 RawData BLOB NOT NULL \
169 "END TRANSACTION;"}};
177 {
"PRAGMA synchronous=FULL;",
"PRAGMA journal_mode=DELETE;"}};
180 {
"BEGIN TRANSACTION;",
182 "CREATE TABLE IF NOT EXISTS State ( \
183 ShardIndex INTEGER PRIMARY KEY, \
187 "END TRANSACTION;"}};
190 {
"BEGIN TRANSACTION;",
192 "CREATE TABLE IF NOT EXISTS download ( \
195 Size BIGINT UNSIGNED, \
196 Part BIGINT UNSIGNED PRIMARY KEY \
199 "END TRANSACTION;"}};
constexpr std::array< char const *, 1 > AcquireShardDBPragma
constexpr auto AcquireShardDBName
constexpr auto WalletDBName
constexpr std::array< char const *, 1 > AcquireShardDBInit
static constexpr std::array< char const *, 3 > ShardArchiveHandlerDBInit
constexpr std::array< char const *, 5 > LgrDBInit
static constexpr std::array< char const *, 2 > DownloaderDBPragma
constexpr std::array< char const *, 1 > LgrDBPragma
constexpr std::uint32_t SQLITE_TUNING_CUTOFF
constexpr char const * CommonDBPragmaTemp
constexpr char const * CommonDBPragmaJournal
static constexpr auto stateDBName
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
constexpr std::array TxDBPragma
static constexpr std::array< char const *, 3 > DatabaseBodyDBInit
constexpr char const * CommonDBPragmaSync
constexpr std::array< char const *, 2 > CompleteShardDBPragma
constexpr std::array< char const *, 8 > TxDBInit
constexpr std::array< char const *, 6 > WalletDBInit