aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph <Joseph.xu@efrei.net>2023-02-20 08:04:06 -0500
committerJoseph <Joseph.xu@efrei.net>2023-03-27 09:54:59 -0400
commitfb70814d46d5b92da45e2caa8c513263de7467b2 (patch)
tree5eb1db6857515cfb774d563f0544bea16b4427ca
parent42258d5778fde385a78dd0e3420528f5f4583f6d (diff)
downloadexchange-fb70814d46d5b92da45e2caa8c513263de7467b2.tar.xz
some changes for ensure known coin
-rw-r--r--src/exchangedb/Makefile.am1
-rw-r--r--src/exchangedb/plugin_exchangedb_postgres.c4
-rw-r--r--src/exchangedb/procedures.sql.in1
-rw-r--r--src/include/taler_exchangedb_plugin.h7
4 files changed, 11 insertions, 2 deletions
diff --git a/src/exchangedb/Makefile.am b/src/exchangedb/Makefile.am
index 9757aefff..f07069f43 100644
--- a/src/exchangedb/Makefile.am
+++ b/src/exchangedb/Makefile.am
@@ -257,6 +257,7 @@ libtaler_plugin_exchangedb_postgres_la_SOURCES = \
pg_select_purse_deposits_above_serial_id.h pg_select_purse_deposits_above_serial_id.c \
pg_select_account_merges_above_serial_id.h pg_select_account_merges_above_serial_id.c \
pg_select_all_purse_decisions_above_serial_id.h pg_select_all_purse_decisions_above_serial_id.c \
+ pg_batch_ensure_coin_known.h pg_batch_ensure_coin_known.c \
pg_select_reserve_open_above_serial_id.c pg_select_reserve_open_above_serial_id.h
libtaler_plugin_exchangedb_postgres_la_LIBADD = \
$(LTLIBINTL)
diff --git a/src/exchangedb/plugin_exchangedb_postgres.c b/src/exchangedb/plugin_exchangedb_postgres.c
index 2ef250775..e67995188 100644
--- a/src/exchangedb/plugin_exchangedb_postgres.c
+++ b/src/exchangedb/plugin_exchangedb_postgres.c
@@ -216,7 +216,7 @@
#include "pg_select_aml_process.h"
#include "pg_select_aml_history.h"
#include "pg_insert_aml_decision.h"
-
+#include "pg_batch_ensure_coin_known.h"
/**
* Set to 1 to enable Postgres auto_explain module. This will
@@ -773,6 +773,8 @@ libtaler_plugin_exchangedb_postgres_init (void *cls)
= &TEH_PG_select_aml_history;
plugin->insert_aml_decision
= &TEH_PG_insert_aml_decision;
+ plugin->batch_ensure_coin_known
+ = &TEH_PG_batch_ensure_coin_known;
return plugin;
}
diff --git a/src/exchangedb/procedures.sql.in b/src/exchangedb/procedures.sql.in
index 27a5b3bb3..12ec3656f 100644
--- a/src/exchangedb/procedures.sql.in
+++ b/src/exchangedb/procedures.sql.in
@@ -44,5 +44,6 @@ SET search_path TO exchange;
#include "exchange_do_refund_by_coin.sql"
#include "exchange_do_get_ready_deposit.sql"
#include "exchange_do_get_link_data.sql"
+#include "exchange_do_batch_coin_known.sql"
COMMIT;
diff --git a/src/include/taler_exchangedb_plugin.h b/src/include/taler_exchangedb_plugin.h
index 962bccaa2..02d7896a6 100644
--- a/src/include/taler_exchangedb_plugin.h
+++ b/src/include/taler_exchangedb_plugin.h
@@ -4026,7 +4026,12 @@ struct TALER_EXCHANGEDB_Plugin
uint64_t *known_coin_id,
struct TALER_DenominationHashP *denom_pub_hash,
struct TALER_AgeCommitmentHash *age_hash);
-
+ enum TALER_EXCHANGEDB_CoinKnownStatus
+ (*batch_ensure_coin_known)(void *cls,
+ const struct TALER_CoinPublicInfo *coin,
+ const struct TALER_CoinInfo *result,
+ unsigned int coin_length,
+ unsigned int batch_size);
/**
* Retrieve information about the given @a coin from the database.