wallet: add datastore for plugins to use.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell
2021-08-25 12:19:46 +09:30
committed by Christian Decker
parent 720a4d7ae7
commit df17387e05
4 changed files with 49 additions and 27 deletions

View File

@@ -749,6 +749,12 @@ static struct migration dbmigrations[] = {
");"), ");"),
fillin_missing_channel_blockheights}, fillin_missing_channel_blockheights},
{SQL("ALTER TABLE outputs ADD csv_lock INTEGER DEFAULT 1;"), NULL}, {SQL("ALTER TABLE outputs ADD csv_lock INTEGER DEFAULT 1;"), NULL},
{SQL("CREATE TABLE datastore ("
" key TEXT,"
" data BLOB,"
" PRIMARY KEY (key)"
");"),
NULL},
}; };
/* Leak tracking. */ /* Leak tracking. */

View File

@@ -1022,6 +1022,12 @@ struct db_query db_postgres_queries[] = {
.placeholders = 0, .placeholders = 0,
.readonly = false, .readonly = false,
}, },
{
.name = "CREATE TABLE datastore ( key TEXT, data BLOB, PRIMARY KEY (key));",
.query = "CREATE TABLE datastore ( key TEXT, data BYTEA, PRIMARY KEY (key));",
.placeholders = 0,
.readonly = false,
},
{ {
.name = "UPDATE vars SET intval = intval + 1 WHERE name = 'data_version' AND intval = ?", .name = "UPDATE vars SET intval = intval + 1 WHERE name = 'data_version' AND intval = ?",
.query = "UPDATE vars SET intval = intval + 1 WHERE name = 'data_version' AND intval = $1", .query = "UPDATE vars SET intval = intval + 1 WHERE name = 'data_version' AND intval = $1",
@@ -2026,10 +2032,10 @@ struct db_query db_postgres_queries[] = {
}, },
}; };
#define DB_POSTGRES_QUERY_COUNT 336 #define DB_POSTGRES_QUERY_COUNT 337
#endif /* HAVE_POSTGRES */ #endif /* HAVE_POSTGRES */
#endif /* LIGHTNINGD_WALLET_GEN_DB_POSTGRES */ #endif /* LIGHTNINGD_WALLET_GEN_DB_POSTGRES */
// SHA256STAMP:411593f0957475d832c02cd75a8b0eed30b00fc6178797262ae7dd697de22383 // SHA256STAMP:765ebe6f1bf58b1d492d8d1715e423fbe0764e3440c8bd2be8d0a09dccc95a5c

View File

@@ -1022,6 +1022,12 @@ struct db_query db_sqlite3_queries[] = {
.placeholders = 0, .placeholders = 0,
.readonly = false, .readonly = false,
}, },
{
.name = "CREATE TABLE datastore ( key TEXT, data BLOB, PRIMARY KEY (key));",
.query = "CREATE TABLE datastore ( key TEXT, data BLOB, PRIMARY KEY (key));",
.placeholders = 0,
.readonly = false,
},
{ {
.name = "UPDATE vars SET intval = intval + 1 WHERE name = 'data_version' AND intval = ?", .name = "UPDATE vars SET intval = intval + 1 WHERE name = 'data_version' AND intval = ?",
.query = "UPDATE vars SET intval = intval + 1 WHERE name = 'data_version' AND intval = ?", .query = "UPDATE vars SET intval = intval + 1 WHERE name = 'data_version' AND intval = ?",
@@ -2026,10 +2032,10 @@ struct db_query db_sqlite3_queries[] = {
}, },
}; };
#define DB_SQLITE3_QUERY_COUNT 336 #define DB_SQLITE3_QUERY_COUNT 337
#endif /* HAVE_SQLITE3 */ #endif /* HAVE_SQLITE3 */
#endif /* LIGHTNINGD_WALLET_GEN_DB_SQLITE3 */ #endif /* LIGHTNINGD_WALLET_GEN_DB_SQLITE3 */
// SHA256STAMP:411593f0957475d832c02cd75a8b0eed30b00fc6178797262ae7dd697de22383 // SHA256STAMP:765ebe6f1bf58b1d492d8d1715e423fbe0764e3440c8bd2be8d0a09dccc95a5c

View File

@@ -674,91 +674,95 @@ msgstr ""
msgid "ALTER TABLE outputs ADD csv_lock INTEGER DEFAULT 1;" msgid "ALTER TABLE outputs ADD csv_lock INTEGER DEFAULT 1;"
msgstr "" msgstr ""
#: wallet/db.c:978 #: wallet/db.c:752
msgid "CREATE TABLE datastore ( key TEXT, data BLOB, PRIMARY KEY (key));"
msgstr ""
#: wallet/db.c:984
msgid "UPDATE vars SET intval = intval + 1 WHERE name = 'data_version' AND intval = ?" msgid "UPDATE vars SET intval = intval + 1 WHERE name = 'data_version' AND intval = ?"
msgstr "" msgstr ""
#: wallet/db.c:1078 #: wallet/db.c:1084
msgid "SELECT version FROM version LIMIT 1" msgid "SELECT version FROM version LIMIT 1"
msgstr "" msgstr ""
#: wallet/db.c:1140 #: wallet/db.c:1146
msgid "UPDATE version SET version=?;" msgid "UPDATE version SET version=?;"
msgstr "" msgstr ""
#: wallet/db.c:1148 #: wallet/db.c:1154
msgid "INSERT INTO db_upgrades VALUES (?, ?);" msgid "INSERT INTO db_upgrades VALUES (?, ?);"
msgstr "" msgstr ""
#: wallet/db.c:1160 #: wallet/db.c:1166
msgid "SELECT intval FROM vars WHERE name = 'data_version'" msgid "SELECT intval FROM vars WHERE name = 'data_version'"
msgstr "" msgstr ""
#: wallet/db.c:1187 #: wallet/db.c:1193
msgid "SELECT intval FROM vars WHERE name= ? LIMIT 1" msgid "SELECT intval FROM vars WHERE name= ? LIMIT 1"
msgstr "" msgstr ""
#: wallet/db.c:1203 #: wallet/db.c:1209
msgid "UPDATE vars SET intval=? WHERE name=?;" msgid "UPDATE vars SET intval=? WHERE name=?;"
msgstr "" msgstr ""
#: wallet/db.c:1212 #: wallet/db.c:1218
msgid "INSERT INTO vars (name, intval) VALUES (?, ?);" msgid "INSERT INTO vars (name, intval) VALUES (?, ?);"
msgstr "" msgstr ""
#: wallet/db.c:1226 #: wallet/db.c:1232
msgid "UPDATE channels SET feerate_base = ?, feerate_ppm = ?;" msgid "UPDATE channels SET feerate_base = ?, feerate_ppm = ?;"
msgstr "" msgstr ""
#: wallet/db.c:1247 #: wallet/db.c:1253
msgid "UPDATE channels SET our_funding_satoshi = funding_satoshi WHERE funder = 0;" msgid "UPDATE channels SET our_funding_satoshi = funding_satoshi WHERE funder = 0;"
msgstr "" msgstr ""
#: wallet/db.c:1263 #: wallet/db.c:1269
msgid "SELECT type, keyindex, prev_out_tx, prev_out_index, channel_id, peer_id, commitment_point FROM outputs WHERE scriptpubkey IS NULL;" msgid "SELECT type, keyindex, prev_out_tx, prev_out_index, channel_id, peer_id, commitment_point FROM outputs WHERE scriptpubkey IS NULL;"
msgstr "" msgstr ""
#: wallet/db.c:1325 #: wallet/db.c:1331
msgid "UPDATE outputs SET scriptpubkey = ? WHERE prev_out_tx = ? AND prev_out_index = ?" msgid "UPDATE outputs SET scriptpubkey = ? WHERE prev_out_tx = ? AND prev_out_index = ?"
msgstr "" msgstr ""
#: wallet/db.c:1350 #: wallet/db.c:1356
msgid "SELECT id, funding_tx_id, funding_tx_outnum FROM channels;" msgid "SELECT id, funding_tx_id, funding_tx_outnum FROM channels;"
msgstr "" msgstr ""
#: wallet/db.c:1369 #: wallet/db.c:1375
msgid "UPDATE channels SET full_channel_id = ? WHERE id = ?;" msgid "UPDATE channels SET full_channel_id = ? WHERE id = ?;"
msgstr "" msgstr ""
#: wallet/db.c:1390 #: wallet/db.c:1396
msgid "SELECT channels.id, peers.node_id FROM channels JOIN peers ON (peers.id = channels.peer_id)" msgid "SELECT channels.id, peers.node_id FROM channels JOIN peers ON (peers.id = channels.peer_id)"
msgstr "" msgstr ""
#: wallet/db.c:1423 #: wallet/db.c:1429
msgid "UPDATE channels SET revocation_basepoint_local = ?, payment_basepoint_local = ?, htlc_basepoint_local = ?, delayed_payment_basepoint_local = ?, funding_pubkey_local = ? WHERE id = ?;" msgid "UPDATE channels SET revocation_basepoint_local = ?, payment_basepoint_local = ?, htlc_basepoint_local = ?, delayed_payment_basepoint_local = ?, funding_pubkey_local = ? WHERE id = ?;"
msgstr "" msgstr ""
#: wallet/db.c:1456 #: wallet/db.c:1462
msgid "INSERT INTO channel_blockheights (channel_id, hstate, blockheight) SELECT id, 4, 0 FROM channels WHERE funder = 0;" msgid "INSERT INTO channel_blockheights (channel_id, hstate, blockheight) SELECT id, 4, 0 FROM channels WHERE funder = 0;"
msgstr "" msgstr ""
#: wallet/db.c:1464 #: wallet/db.c:1470
msgid "INSERT INTO channel_blockheights (channel_id, hstate, blockheight) SELECT id, 14, 0 FROM channels WHERE funder = 1;" msgid "INSERT INTO channel_blockheights (channel_id, hstate, blockheight) SELECT id, 14, 0 FROM channels WHERE funder = 1;"
msgstr "" msgstr ""
#: wallet/db.c:1476 #: wallet/db.c:1482
msgid "SELECT c.id, p.node_id, c.fundingkey_remote, inflight.last_tx, inflight.last_sig, inflight.funding_satoshi, inflight.funding_tx_id FROM channels c LEFT OUTER JOIN peers p ON p.id = c.peer_id LEFT OUTER JOIN channel_funding_inflights inflight ON c.id = inflight.channel_id WHERE inflight.last_tx IS NOT NULL;" msgid "SELECT c.id, p.node_id, c.fundingkey_remote, inflight.last_tx, inflight.last_sig, inflight.funding_satoshi, inflight.funding_tx_id FROM channels c LEFT OUTER JOIN peers p ON p.id = c.peer_id LEFT OUTER JOIN channel_funding_inflights inflight ON c.id = inflight.channel_id WHERE inflight.last_tx IS NOT NULL;"
msgstr "" msgstr ""
#: wallet/db.c:1543 #: wallet/db.c:1549
msgid "UPDATE channel_funding_inflights SET last_tx = ? WHERE channel_id = ? AND funding_tx_id = ?;" msgid "UPDATE channel_funding_inflights SET last_tx = ? WHERE channel_id = ? AND funding_tx_id = ?;"
msgstr "" msgstr ""
#: wallet/db.c:1567 #: wallet/db.c:1573
msgid "SELECT c.id, p.node_id, c.last_tx, c.funding_satoshi, c.fundingkey_remote, c.last_sig FROM channels c LEFT OUTER JOIN peers p ON p.id = c.peer_id;" msgid "SELECT c.id, p.node_id, c.last_tx, c.funding_satoshi, c.fundingkey_remote, c.last_sig FROM channels c LEFT OUTER JOIN peers p ON p.id = c.peer_id;"
msgstr "" msgstr ""
#: wallet/db.c:1634 #: wallet/db.c:1640
msgid "UPDATE channels SET last_tx = ? WHERE id = ?;" msgid "UPDATE channels SET last_tx = ? WHERE id = ?;"
msgstr "" msgstr ""
@@ -1341,4 +1345,4 @@ msgstr ""
#: wallet/test/run-wallet.c:1753 #: wallet/test/run-wallet.c:1753
msgid "INSERT INTO channels (id) VALUES (1);" msgid "INSERT INTO channels (id) VALUES (1);"
msgstr "" msgstr ""
# SHA256STAMP:8878e1ee71d04ea6302c18aeb02f59c56e086a7e5a4647ddbe67bc2ef7c07275 # SHA256STAMP:17f1c19add21aa2c5b771cb0f19300e9c50cdd8458ccf02a0368cf29d6958374