-implement sketch for pg_do_reserve_open.c
This commit is contained in:
parent
2dbf8cefe0
commit
4a487b179c
@ -1 +1 @@
|
|||||||
Subproject commit d402af78f6d360841db53baa46dddae13590ec33
|
Subproject commit 57d96e8e123df90c804a821874fc6cb88671ab75
|
@ -69,6 +69,7 @@ endif
|
|||||||
|
|
||||||
libtaler_plugin_exchangedb_postgres_la_SOURCES = \
|
libtaler_plugin_exchangedb_postgres_la_SOURCES = \
|
||||||
plugin_exchangedb_postgres.c pg_helper.h \
|
plugin_exchangedb_postgres.c pg_helper.h \
|
||||||
|
pg_do_reserve_open.c pg_do_reserve_open.h \
|
||||||
pg_insert_close_request.c pg_insert_close_request.h \
|
pg_insert_close_request.c pg_insert_close_request.h \
|
||||||
pg_insert_reserve_open_deposit.c pg_insert_reserve_open_deposit.h \
|
pg_insert_reserve_open_deposit.c pg_insert_reserve_open_deposit.h \
|
||||||
pg_iterate_kyc_reference.c pg_iterate_kyc_reference.h \
|
pg_iterate_kyc_reference.c pg_iterate_kyc_reference.h \
|
||||||
|
@ -37,32 +37,37 @@ TEH_PG_do_reserve_open (
|
|||||||
struct GNUNET_TIME_Timestamp now,
|
struct GNUNET_TIME_Timestamp now,
|
||||||
const struct TALER_Amount *open_fee,
|
const struct TALER_Amount *open_fee,
|
||||||
struct TALER_Amount *open_cost,
|
struct TALER_Amount *open_cost,
|
||||||
const struct GNUNET_TIME_Timestamp *final_expiration)
|
struct GNUNET_TIME_Timestamp *final_expiration)
|
||||||
{
|
{
|
||||||
struct PostgresClosure *pg = cls;
|
struct PostgresClosure *pg = cls;
|
||||||
// FIXME: everything from here is cut&paste
|
|
||||||
struct GNUNET_PQ_QueryParam params[] = {
|
struct GNUNET_PQ_QueryParam params[] = {
|
||||||
GNUNET_PQ_query_param_auto_from_type (&cpi->coin_pub),
|
GNUNET_PQ_query_param_auto_from_type (reserve_pub),
|
||||||
GNUNET_PQ_query_param_uint64 (&known_coin_id),
|
TALER_PQ_query_param_amount (total_paid),
|
||||||
GNUNET_PQ_query_param_auto_from_type (coin_sig),
|
GNUNET_PQ_query_param_uint32 (&min_purse_limit),
|
||||||
GNUNET_PQ_query_param_auto_from_type (reserve_sig),
|
GNUNET_PQ_query_param_auto_from_type (reserve_sig),
|
||||||
TALER_PQ_query_param_amount (coin_total),
|
GNUNET_PQ_query_param_timestamp (&desired_expiration),
|
||||||
|
GNUNET_PQ_query_param_timestamp (&now),
|
||||||
|
TALER_PQ_query_param_amount (open_fee),
|
||||||
GNUNET_PQ_query_param_end
|
GNUNET_PQ_query_param_end
|
||||||
};
|
};
|
||||||
struct GNUNET_PQ_ResultSpec rs[] = {
|
struct GNUNET_PQ_ResultSpec rs[] = {
|
||||||
GNUNET_PQ_result_spec_bool ("insufficient_funds",
|
TALER_PQ_RESULT_SPEC_AMOUNT ("open_cost",
|
||||||
insufficient_funds),
|
open_cost),
|
||||||
|
GNUNET_PQ_result_spec_timestamp ("final_expiration",
|
||||||
|
final_expiration),
|
||||||
GNUNET_PQ_result_spec_end
|
GNUNET_PQ_result_spec_end
|
||||||
};
|
};
|
||||||
|
|
||||||
PREPARE (pg,
|
PREPARE (pg,
|
||||||
"insert_reserve_open_deposit",
|
"do_reserve_open",
|
||||||
"SELECT "
|
"SELECT "
|
||||||
" insufficient_funds"
|
" open_cost_val"
|
||||||
" FROM exchange_do_reserve_open_deposit"
|
",open_cost_frac"
|
||||||
" ($1,$2,$3,$4,$5,$6);");
|
",final_expiration"
|
||||||
|
" FROM exchange_do_reserve_open"
|
||||||
|
" ($1,$2,$3,$4,$5,$6,$7,$8,$9);");
|
||||||
return GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
|
return GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
|
||||||
"insert_reserve_open_deposit",
|
"do_reserve_open",
|
||||||
params,
|
params,
|
||||||
rs);
|
rs);
|
||||||
}
|
}
|
||||||
|
@ -49,7 +49,7 @@ TEH_PG_do_reserve_open (
|
|||||||
struct GNUNET_TIME_Timestamp now,
|
struct GNUNET_TIME_Timestamp now,
|
||||||
const struct TALER_Amount *open_fee,
|
const struct TALER_Amount *open_fee,
|
||||||
struct TALER_Amount *open_cost,
|
struct TALER_Amount *open_cost,
|
||||||
const struct GNUNET_TIME_Timestamp *final_expiration);
|
struct GNUNET_TIME_Timestamp *final_expiration);
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include "taler_error_codes.h"
|
#include "taler_error_codes.h"
|
||||||
#include "taler_dbevents.h"
|
#include "taler_dbevents.h"
|
||||||
#include "taler_pq_lib.h"
|
#include "taler_pq_lib.h"
|
||||||
#include "pg_insert_reserve_open_deposit.h"
|
#include "pg_select_reserve_close_info.h"
|
||||||
#include "pg_helper.h"
|
#include "pg_helper.h"
|
||||||
|
|
||||||
|
|
||||||
|
@ -4108,7 +4108,7 @@ struct TALER_EXCHANGEDB_Plugin
|
|||||||
struct GNUNET_TIME_Timestamp now,
|
struct GNUNET_TIME_Timestamp now,
|
||||||
const struct TALER_Amount *open_fee,
|
const struct TALER_Amount *open_fee,
|
||||||
struct TALER_Amount *open_cost,
|
struct TALER_Amount *open_cost,
|
||||||
const struct GNUNET_TIME_Timestamp *final_expiration);
|
struct GNUNET_TIME_Timestamp *final_expiration);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user