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},
{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. */

View file

@ -1022,6 +1022,12 @@ struct db_query db_postgres_queries[] = {
.placeholders = 0,
.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 = ?",
.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 /* LIGHTNINGD_WALLET_GEN_DB_POSTGRES */
// SHA256STAMP:411593f0957475d832c02cd75a8b0eed30b00fc6178797262ae7dd697de22383
// SHA256STAMP:765ebe6f1bf58b1d492d8d1715e423fbe0764e3440c8bd2be8d0a09dccc95a5c

View file

@ -1022,6 +1022,12 @@ struct db_query db_sqlite3_queries[] = {
.placeholders = 0,
.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 = ?",
.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 /* 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;"
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 = ?"
msgstr ""
#: wallet/db.c:1078
#: wallet/db.c:1084
msgid "SELECT version FROM version LIMIT 1"
msgstr ""
#: wallet/db.c:1140
#: wallet/db.c:1146
msgid "UPDATE version SET version=?;"
msgstr ""
#: wallet/db.c:1148
#: wallet/db.c:1154
msgid "INSERT INTO db_upgrades VALUES (?, ?);"
msgstr ""
#: wallet/db.c:1160
#: wallet/db.c:1166
msgid "SELECT intval FROM vars WHERE name = 'data_version'"
msgstr ""
#: wallet/db.c:1187
#: wallet/db.c:1193
msgid "SELECT intval FROM vars WHERE name= ? LIMIT 1"
msgstr ""
#: wallet/db.c:1203
#: wallet/db.c:1209
msgid "UPDATE vars SET intval=? WHERE name=?;"
msgstr ""
#: wallet/db.c:1212
#: wallet/db.c:1218
msgid "INSERT INTO vars (name, intval) VALUES (?, ?);"
msgstr ""
#: wallet/db.c:1226
#: wallet/db.c:1232
msgid "UPDATE channels SET feerate_base = ?, feerate_ppm = ?;"
msgstr ""
#: wallet/db.c:1247
#: wallet/db.c:1253
msgid "UPDATE channels SET our_funding_satoshi = funding_satoshi WHERE funder = 0;"
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;"
msgstr ""
#: wallet/db.c:1325
#: wallet/db.c:1331
msgid "UPDATE outputs SET scriptpubkey = ? WHERE prev_out_tx = ? AND prev_out_index = ?"
msgstr ""
#: wallet/db.c:1350
#: wallet/db.c:1356
msgid "SELECT id, funding_tx_id, funding_tx_outnum FROM channels;"
msgstr ""
#: wallet/db.c:1369
#: wallet/db.c:1375
msgid "UPDATE channels SET full_channel_id = ? WHERE id = ?;"
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)"
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 = ?;"
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;"
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;"
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;"
msgstr ""
#: wallet/db.c:1543
#: wallet/db.c:1549
msgid "UPDATE channel_funding_inflights SET last_tx = ? WHERE channel_id = ? AND funding_tx_id = ?;"
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;"
msgstr ""
#: wallet/db.c:1634
#: wallet/db.c:1640
msgid "UPDATE channels SET last_tx = ? WHERE id = ?;"
msgstr ""
@ -1341,4 +1345,4 @@ msgstr ""
#: wallet/test/run-wallet.c:1753
msgid "INSERT INTO channels (id) VALUES (1);"
msgstr ""
# SHA256STAMP:8878e1ee71d04ea6302c18aeb02f59c56e086a7e5a4647ddbe67bc2ef7c07275
# SHA256STAMP:17f1c19add21aa2c5b771cb0f19300e9c50cdd8458ccf02a0368cf29d6958374