From a1dae0199f3bc3e9f66fc1375c652c6f99b26b2c Mon Sep 17 00:00:00 2001
From: Özgür Kesim <oec-taler@kesim.org>
Date: Fri, 28 Jul 2023 19:01:57 +0200
Subject: FAILING attempt to make echange.reserve use taler_amount

Fails with

> TALER_PREFIX=/usr/local ./test-exchangedb-postgres
2023-07-28T19:02:25.150845+0200 /home/oec/projects/taler/exchange/src/exchangedb/.libs/test-exchangedb-postgres-2559159 WARNING Could not run PSQL on file /usr/local/share/taler//sql/exchange/drop.sql: psql exit code was 3
2023-07-28T19:02:32.488085+0200 pq-2559159 ERROR Query `call_withdraw' failed with result: invalid input syntax for type bigint:
"(1,1000)"/(null)/ERROR:  invalid input syntax for type bigint: "(1,1000)"
CONTEXT:  PL/pgSQL function exchange_do_withdraw(bytea,taler_amount,bytea,bytea,bytea,bytea,bytea,bigint,bigint,boolean) line 23 at SQL statement
/PGRES_FATAL_ERROR/ERROR:  invalid input syntax for type bigint: "(1,1000)"
CONTEXT:  PL/pgSQL function exchange_do_withdraw(bytea,taler_amount,bytea,bytea,bytea,bytea,bytea,bigint,bigint,boolean) line 23 at SQL statement
2023-07-28T19:02:32.488146+0200 /home/oec/projects/taler/exchange/src/exchangedb/.libs/test-exchangedb-postgres-2559159 ERROR Assertion failed at test_exchangedb.c:1428.
---
 src/exchangedb/exchange_do_gc.sql | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

(limited to 'src/exchangedb/exchange_do_gc.sql')

diff --git a/src/exchangedb/exchange_do_gc.sql b/src/exchangedb/exchange_do_gc.sql
index c6331c18..07cbeb42 100644
--- a/src/exchangedb/exchange_do_gc.sql
+++ b/src/exchangedb/exchange_do_gc.sql
@@ -21,15 +21,10 @@ LANGUAGE plpgsql
 AS $$
 DECLARE
   reserve_uuid_min INT8; -- minimum reserve UUID still alive
-DECLARE
   melt_min INT8; -- minimum melt still alive
-DECLARE
   coin_min INT8; -- minimum known_coin still alive
-DECLARE
   deposit_min INT8; -- minimum deposit still alive
-DECLARE
   reserve_out_min INT8; -- minimum reserve_out still alive
-DECLARE
   denom_min INT8; -- minimum denomination still alive
 BEGIN
 
@@ -42,8 +37,8 @@ DELETE FROM exchange.wire_fee
 -- TODO: use closing fee as threshold?
 DELETE FROM exchange.reserves
   WHERE gc_date < in_now
-    AND current_balance_val = 0
-    AND current_balance_frac = 0;
+    AND current_balance.val = 0
+    AND current_balance.frac = 0;
 
 SELECT
      reserve_out_serial_id
-- 
cgit v1.2.3

