commit 920bde28e22fc667b9a49c9b626dbb7de5a477b9 parent c3fa0cc225d24f290d029d8d445f26353f56bf23 Author: Christian Grothoff <grothoff@gnunet.org> Date: Wed, 6 Aug 2025 12:54:10 +0200 add logic to GC invalidated instances Diffstat:
| M | src/backenddb/merchant-0022.sql | | | 5 | +++++ |
| M | src/backenddb/procedures.sql.in | | | 5 | +++++ |
2 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/src/backenddb/merchant-0022.sql b/src/backenddb/merchant-0022.sql @@ -45,4 +45,9 @@ COMMENT ON COLUMN merchant_instances.validation_needed COMMENT ON COLUMN merchant_instances.validation_expiration IS 'Time when the instance should be garbage collected if the recovery addresses remain unvalidated'; +CREATE INDEX merchant_instances_validation_expiration_gc + ON merchant_instances + (validation_expiration ASC) + WHERE validation_needed; + COMMIT; diff --git a/src/backenddb/procedures.sql.in b/src/backenddb/procedures.sql.in @@ -32,6 +32,11 @@ CREATE PROCEDURE merchant_do_gc() LANGUAGE plpgsql AS $$ BEGIN + DELETE FROM merchant_instances + WHERE validation_needed + AND validation_expiration / 1000 / 1000 < + EXTRACT(EPOCH FROM now() + AT TIME ZONE 'UTC')::bigint; CALL merchant_statistic_amount_gc (); CALL merchant_statistic_bucket_gc (); CALL merchant_statistic_counter_gc ();