merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

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:
Msrc/backenddb/merchant-0022.sql | 5+++++
Msrc/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 ();