-starting point for Joseph

This commit is contained in:
Christian Grothoff 2022-11-23 13:40:07 +01:00
parent 9d43bf92c4
commit 505ea0a043
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
2 changed files with 33 additions and 29 deletions

View File

@ -28,10 +28,10 @@
enum GNUNET_DB_QueryStatus
TEH_PG_get_ready_deposit (void *cls,
uint64_t start_shard_row,
uint64_t end_shard_row,
struct TALER_MerchantPublicKeyP *merchant_pub,
char **payto_uri)
uint64_t start_shard_row,
uint64_t end_shard_row,
struct TALER_MerchantPublicKeyP *merchant_pub,
char **payto_uri)
{
struct PostgresClosure *pg = cls;
struct GNUNET_TIME_Absolute now = {0};
@ -57,9 +57,6 @@ TEH_PG_get_ready_deposit (void *cls,
"Finding ready deposits by deadline %s (%llu)\n",
GNUNET_TIME_absolute2s (now),
(unsigned long long) now.abs_value_us);
/* Used in #postgres_get_ready_deposit() */
PREPARE (pg,
"deposits_get_ready",
"SELECT"
@ -78,17 +75,8 @@ TEH_PG_get_ready_deposit (void *cls,
" dbr.wire_deadline ASC"
" ,dbr.shard ASC"
" LIMIT 1;");
return GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
"deposits_get_ready",
params,
rs);
}

View File

@ -119,19 +119,35 @@ TEH_PG_select_refunds_by_coin (
.status = GNUNET_OK
};
/* Query the 'refunds' by coin public key */
/* Query the 'refunds' by coin public key, merchant_pub and contract hash */
PREPARE (pg,
"get_refunds_by_coin_and_contract",
"SELECT"
" ref.amount_with_fee_val"
",ref.amount_with_fee_frac"
" FROM refunds ref"
" JOIN deposits dep"
" USING (coin_pub,deposit_serial_id)"
" WHERE ref.coin_pub=$1"
" AND dep.merchant_pub=$2"
" AND dep.h_contract_terms=$3;");
if (NULL == getenv ("NEW_LOGIC"))
{
PREPARE (pg,
"get_refunds_by_coin_and_contract",
"SELECT"
" ref.amount_with_fee_val"
",ref.amount_with_fee_frac"
" FROM refunds ref"
" JOIN deposits dep"
" USING (coin_pub,deposit_serial_id)"
" WHERE ref.coin_pub=$1"
" AND dep.merchant_pub=$2"
" AND dep.h_contract_terms=$3;");
}
else
{
// FIXME-Joseph
PREPARE (pg,
"get_refunds_by_coin_and_contract",
"SELECT"
" ref.amount_with_fee_val"
",ref.amount_with_fee_frac"
" FROM refunds ref"
" JOIN deposits dep"
" USING (coin_pub,deposit_serial_id)"
" WHERE ref.coin_pub=$1"
" AND dep.merchant_pub=$2"
" AND dep.h_contract_terms=$3;");
}
qs = GNUNET_PQ_eval_prepared_multi_select (pg->conn,
"get_refunds_by_coin_and_contract",
params,