aboutsummaryrefslogtreecommitdiff
path: root/src/exchangedb/pg_insert_aml_officer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/exchangedb/pg_insert_aml_officer.c')
-rw-r--r--src/exchangedb/pg_insert_aml_officer.c32
1 files changed, 17 insertions, 15 deletions
diff --git a/src/exchangedb/pg_insert_aml_officer.c b/src/exchangedb/pg_insert_aml_officer.c
index fc2cadef2..c1f635a64 100644
--- a/src/exchangedb/pg_insert_aml_officer.c
+++ b/src/exchangedb/pg_insert_aml_officer.c
@@ -1,6 +1,6 @@
/*
This file is part of TALER
- Copyright (C) 2022 Taler Systems SA
+ Copyright (C) 2022, 2023 Taler Systems SA
TALER is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
@@ -34,7 +34,8 @@ TEH_PG_insert_aml_officer (
const char *decider_name,
bool is_active,
bool read_only,
- struct GNUNET_TIME_Absolute last_change)
+ struct GNUNET_TIME_Timestamp last_change,
+ struct GNUNET_TIME_Timestamp *previous_change)
{
struct PostgresClosure *pg = cls;
struct GNUNET_PQ_QueryParam params[] = {
@@ -43,22 +44,23 @@ TEH_PG_insert_aml_officer (
GNUNET_PQ_query_param_string (decider_name),
GNUNET_PQ_query_param_bool (is_active),
GNUNET_PQ_query_param_bool (read_only),
- GNUNET_PQ_query_param_absolute_time (&last_change),
+ GNUNET_PQ_query_param_timestamp (&last_change),
GNUNET_PQ_query_param_end
};
+ struct GNUNET_PQ_ResultSpec rs[] = {
+ GNUNET_PQ_result_spec_timestamp ("out_last_change",
+ previous_change),
+ GNUNET_PQ_result_spec_end
+ };
PREPARE (pg,
- "insert_aml_staff",
- "INSERT INTO aml_staff "
- "(decider_pub"
- ",master_sig"
- ",decider_name"
- ",is_active"
- ",read_only"
- ",last_change"
- ") VALUES "
+ "do_insert_aml_staff",
+ "SELECT"
+ " out_last_change"
+ " FROM exchange_do_insert_aml_officer"
"($1, $2, $3, $4, $5, $6);");
- return GNUNET_PQ_eval_prepared_non_select (pg->conn,
- "insert_aml_staff",
- params);
+ return GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
+ "do_insert_aml_staff",
+ params,
+ rs);
}