20 #ifndef RIPPLE_APP_DATA_DBINIT_H_INCLUDED
21 #define RIPPLE_APP_DATA_DBINIT_H_INCLUDED
46 {
"PRAGMA journal_size_limit=1582080;"}};
49 {
"BEGIN TRANSACTION;",
51 "CREATE TABLE IF NOT EXISTS Ledgers ( \
52 LedgerHash CHARACTER(64) PRIMARY KEY, \
53 LedgerSeq BIGINT UNSIGNED, \
54 PrevHash CHARACTER(64), \
55 TotalCoins BIGINT UNSIGNED, \
56 ClosingTime BIGINT UNSIGNED, \
57 PrevClosingTime BIGINT UNSIGNED, \
58 CloseTimeRes BIGINT UNSIGNED, \
59 CloseFlags BIGINT UNSIGNED, \
60 AccountSetHash CHARACTER(64), \
61 TransSetHash CHARACTER(64) \
63 "CREATE INDEX IF NOT EXISTS SeqLedger ON Ledgers(LedgerSeq);",
66 "DROP TABLE IF EXISTS Validations;",
73 inline constexpr
auto TxDBName{
"transaction.db"};
77 "PRAGMA page_size=4096;",
"PRAGMA journal_size_limit=1582080;",
78 "PRAGMA max_page_count=2147483646;",
79 #if (ULONG_MAX > UINT_MAX) && !defined(NO_SQLITE_MMAP)
80 "PRAGMA mmap_size=17179869184;"
85 {
"BEGIN TRANSACTION;",
87 "CREATE TABLE IF NOT EXISTS Transactions ( \
88 TransID CHARACTER(64) PRIMARY KEY, \
89 TransType CHARACTER(24), \
90 FromAcct CHARACTER(35), \
91 FromSeq BIGINT UNSIGNED, \
92 LedgerSeq BIGINT UNSIGNED, \
93 Status CHARACTER(1), \
97 "CREATE INDEX IF NOT EXISTS TxLgrIndex ON \
98 Transactions(LedgerSeq);",
100 "CREATE TABLE IF NOT EXISTS AccountTransactions ( \
101 TransID CHARACTER(64), \
102 Account CHARACTER(64), \
103 LedgerSeq BIGINT UNSIGNED, \
106 "CREATE INDEX IF NOT EXISTS AcctTxIDIndex ON \
107 AccountTransactions(TransID);",
108 "CREATE INDEX IF NOT EXISTS AcctTxIndex ON \
109 AccountTransactions(Account, LedgerSeq, TxnSeq, TransID);",
110 "CREATE INDEX IF NOT EXISTS AcctLgrIndex ON \
111 AccountTransactions(LedgerSeq, Account, TransID);",
113 "END TRANSACTION;"}};
121 {
"PRAGMA journal_size_limit=1582080;"}};
124 {
"CREATE TABLE IF NOT EXISTS Shard ( \
125 ShardIndex INTEGER PRIMARY KEY, \
126 LastLedgerHash CHARACTER(64), \
127 StoredLedgerSeqs BLOB \
135 {
"PRAGMA synchronous=OFF;",
"PRAGMA journal_mode=OFF;"}};
142 {
"BEGIN TRANSACTION;",
150 "CREATE TABLE IF NOT EXISTS NodeIdentity ( \
151 PublicKey CHARACTER(53), \
152 PrivateKey CHARACTER(52) \
156 "CREATE TABLE IF NOT EXISTS PeerReservations ( \
157 PublicKey CHARACTER(53) UNIQUE NOT NULL, \
158 Description CHARACTER(64) NOT NULL \
162 "CREATE TABLE IF NOT EXISTS ValidatorManifests ( \
163 RawData BLOB NOT NULL \
166 "CREATE TABLE IF NOT EXISTS PublisherManifests ( \
167 RawData BLOB NOT NULL \
170 "END TRANSACTION;"}};
178 {
"PRAGMA synchronous=FULL;",
"PRAGMA journal_mode=DELETE;"}};
181 {
"BEGIN TRANSACTION;",
183 "CREATE TABLE IF NOT EXISTS State ( \
184 ShardIndex INTEGER PRIMARY KEY, \
188 "END TRANSACTION;"}};
191 {
"BEGIN TRANSACTION;",
193 "CREATE TABLE IF NOT EXISTS download ( \
196 Size BIGINT UNSIGNED, \
197 Part BIGINT UNSIGNED PRIMARY KEY \
200 "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