From 7f00230657e9dc1dafe46cf4be404425121cbf9c Mon Sep 17 00:00:00 2001 From: Christian Decker Date: Mon, 19 Feb 2018 15:31:04 +0100 Subject: [PATCH] db: Add confirmation_height and spend_height columns to outputs Signed-off-by: Christian Decker --- wallet/db.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/wallet/db.c b/wallet/db.c index cec29a063..0a40b0906 100644 --- a/wallet/db.c +++ b/wallet/db.c @@ -206,6 +206,15 @@ char *dbmigrations[] = { * primarily to track confirmations across restarts and making * sure we handle reorgs correctly. */ "CREATE TABLE blocks (height INT, hash BLOB, prev_hash BLOB, UNIQUE(height));", + /* ON DELETE CASCADE would have been nice for confirmation_height, + * so that we automatically delete outputs that fall off the + * blockchain and then we rediscover them if they are included + * again. However, we have the their_unilateral/to_us which we + * can't simply recognize from the chain without additional + * hints. So we just mark them as unconfirmed should the block + * die. */ + "ALTER TABLE outputs ADD COLUMN confirmation_height INTEGER REFERENCES blocks(height) ON DELETE SET NULL;", + "ALTER TABLE outputs ADD COLUMN spend_height INTEGER REFERENCES blocks(height) ON DELETE SET NULL;", NULL, };