Merge branch 'master' into auction_brandt

This commit is contained in:
Özgür Kesim 2022-10-06 21:12:17 +02:00
commit dd60d9b984
Signed by: oec
GPG Key ID: 3D76A56D79EDD9D7
4 changed files with 202 additions and 2 deletions

@ -1 +1 @@
Subproject commit 36f9c499683d33cf3d1a267c6f4ca9e48301b535 Subproject commit 58a94dc411d8ec0f23c5364c37719e90bb9ad8a9

View File

@ -2190,7 +2190,7 @@ $$;
COMMENT ON FUNCTION detach_default_partitions COMMENT ON FUNCTION detach_default_partitions
IS 'We need to drop default and create new one before deleting the default partitions IS 'We need to drop default and create new one before deleting the default partitions
otherwise constraints get lost too. Might be needed in shardig too'; otherwise constraints get lost too. Might be needed in sharding too';
CREATE OR REPLACE FUNCTION drop_default_partitions() CREATE OR REPLACE FUNCTION drop_default_partitions()

View File

@ -131,6 +131,64 @@ irbt_cb_table_wire_targets (struct PostgresClosure *pg,
} }
/**
* Function called with records to insert into table.
*
* @param pg plugin context
* @param td record to insert
*/
static enum GNUNET_DB_QueryStatus
irbt_cb_table_legitimization_processes (struct PostgresClosure *pg,
const struct
TALER_EXCHANGEDB_TableData *td)
{
struct GNUNET_PQ_QueryParam params[] = {
GNUNET_PQ_query_param_uint64 (&td->serial),
GNUNET_PQ_query_param_auto_from_type (
&td->details.legitimization_processes.h_payto),
GNUNET_PQ_query_param_timestamp (
&td->details.legitimization_processes.expiration_time),
GNUNET_PQ_query_param_string (
td->details.legitimization_processes.provider_section),
GNUNET_PQ_query_param_string (
td->details.legitimization_processes.provider_user_id),
GNUNET_PQ_query_param_string (
td->details.legitimization_processes.provider_legitimization_id),
GNUNET_PQ_query_param_end
};
return GNUNET_PQ_eval_prepared_non_select (pg->conn,
"insert_into_table_legitimization_processes",
params);
}
/**
* Function called with records to insert into table.
*
* @param pg plugin context
* @param td record to insert
*/
static enum GNUNET_DB_QueryStatus
irbt_cb_table_legitimization_requirements (struct PostgresClosure *pg,
const struct
TALER_EXCHANGEDB_TableData *td)
{
struct GNUNET_PQ_QueryParam params[] = {
GNUNET_PQ_query_param_uint64 (&td->serial),
GNUNET_PQ_query_param_auto_from_type (
&td->details.legitimization_requirements.h_payto),
GNUNET_PQ_query_param_string (
td->details.legitimization_requirements.required_checks),
GNUNET_PQ_query_param_end
};
return GNUNET_PQ_eval_prepared_non_select (pg->conn,
"insert_into_table_legitimization_requirements",
params);
}
/** /**
* Function called with reserves records to insert into table. * Function called with reserves records to insert into table.
* *
@ -185,6 +243,100 @@ irbt_cb_table_reserves_in (struct PostgresClosure *pg,
} }
/**
* Function called with reserves_open_requests records to insert into table.
*
* @param pg plugin context
* @param td record to insert
*/
static enum GNUNET_DB_QueryStatus
irbt_cb_table_reserves_open_requests (struct PostgresClosure *pg,
const struct
TALER_EXCHANGEDB_TableData *td)
{
struct GNUNET_PQ_QueryParam params[] = {
GNUNET_PQ_query_param_uint64 (&td->serial),
GNUNET_PQ_query_param_timestamp (
&td->details.reserves_open_requests.request_timestamp),
GNUNET_PQ_query_param_timestamp (
&td->details.reserves_open_requests.expiration_date),
GNUNET_PQ_query_param_auto_from_type (
&td->details.reserves_open_requests.reserve_sig),
TALER_PQ_query_param_amount (
&td->details.reserves_open_requests.reserve_payment),
GNUNET_PQ_query_param_uint32 (
&td->details.reserves_open_requests.requested_purse_limit),
GNUNET_PQ_query_param_end
};
return GNUNET_PQ_eval_prepared_non_select (pg->conn,
"insert_into_table_reserves_open_requests",
params);
}
/**
* Function called with reserves_open_requests records to insert into table.
*
* @param pg plugin context
* @param td record to insert
*/
static enum GNUNET_DB_QueryStatus
irbt_cb_table_reserves_open_deposits (struct PostgresClosure *pg,
const struct
TALER_EXCHANGEDB_TableData *td)
{
struct GNUNET_PQ_QueryParam params[] = {
GNUNET_PQ_query_param_uint64 (&td->serial),
GNUNET_PQ_query_param_timestamp (
&td->details.reserves_open_deposits.request_timestamp),
GNUNET_PQ_query_param_auto_from_type (
&td->details.reserves_open_deposits.coin_pub),
GNUNET_PQ_query_param_auto_from_type (
&td->details.reserves_open_deposits.coin_sig),
GNUNET_PQ_query_param_auto_from_type (
&td->details.reserves_open_deposits.reserve_sig),
TALER_PQ_query_param_amount (
&td->details.reserves_open_deposits.contribution),
GNUNET_PQ_query_param_end
};
return GNUNET_PQ_eval_prepared_non_select (pg->conn,
"insert_into_table_reserves_open_deposits",
params);
}
/**
* Function called with reserves_close records to insert into table.
*
* @param pg plugin context
* @param td record to insert
*/
static enum GNUNET_DB_QueryStatus
irbt_cb_table_reserves_close_requests (struct PostgresClosure *pg,
const struct
TALER_EXCHANGEDB_TableData *td)
{
struct GNUNET_PQ_QueryParam params[] = {
GNUNET_PQ_query_param_uint64 (&td->serial),
GNUNET_PQ_query_param_auto_from_type (
&td->details.reserves_close_requests.reserve_pub),
GNUNET_PQ_query_param_timestamp (
&td->details.reserves_close_requests.execution_date),
GNUNET_PQ_query_param_auto_from_type (
&td->details.reserves_close_requests.reserve_sig),
GNUNET_PQ_query_param_auto_from_type (
&td->details.reserves_close_requests.wire_target_h_payto),
GNUNET_PQ_query_param_end
};
return GNUNET_PQ_eval_prepared_non_select (pg->conn,
"insert_into_table_reserves_close_requests",
params);
}
/** /**
* Function called with reserves_close records to insert into table. * Function called with reserves_close records to insert into table.
* *

View File

@ -195,9 +195,14 @@ enum TALER_EXCHANGEDB_ReplicatedTable
TALER_EXCHANGEDB_RT_DENOMINATIONS, TALER_EXCHANGEDB_RT_DENOMINATIONS,
TALER_EXCHANGEDB_RT_DENOMINATION_REVOCATIONS, TALER_EXCHANGEDB_RT_DENOMINATION_REVOCATIONS,
TALER_EXCHANGEDB_RT_WIRE_TARGETS, TALER_EXCHANGEDB_RT_WIRE_TARGETS,
TALER_EXCHANGEDB_RT_LEGITIMIZATION_PROCESSES,
TALER_EXCHANGEDB_RT_LEGITIMIZATION_REQUIREMENTS,
TALER_EXCHANGEDB_RT_RESERVES, TALER_EXCHANGEDB_RT_RESERVES,
TALER_EXCHANGEDB_RT_RESERVES_IN, TALER_EXCHANGEDB_RT_RESERVES_IN,
TALER_EXCHANGEDB_RT_RESERVES_CLOSE, TALER_EXCHANGEDB_RT_RESERVES_CLOSE,
TALER_EXCHANGEDB_RT_RESERVES_OPEN_REQUESTS,
TALER_EXCHANGEDB_RT_RESERVES_OPEN_DEPOSITS,
TALER_EXCHANGEDB_RT_RESERVES_CLOSE_REQUESTS,
TALER_EXCHANGEDB_RT_RESERVES_OUT, TALER_EXCHANGEDB_RT_RESERVES_OUT,
TALER_EXCHANGEDB_RT_AUDITORS, TALER_EXCHANGEDB_RT_AUDITORS,
TALER_EXCHANGEDB_RT_AUDITOR_DENOM_SIGS, TALER_EXCHANGEDB_RT_AUDITOR_DENOM_SIGS,
@ -281,6 +286,21 @@ struct TALER_EXCHANGEDB_TableData
char *payto_uri; char *payto_uri;
} wire_targets; } wire_targets;
struct
{
struct TALER_PaytoHashP h_payto;
struct GNUNET_TIME_Timestamp expiration_time;
char *provider_section;
char *provider_user_id;
char *provider_legitimization_id;
} legitimization_processes;
struct
{
struct TALER_PaytoHashP h_payto;
char *required_checks;
} legitimization_requirements;
struct struct
{ {
struct TALER_ReservePublicKeyP reserve_pub; struct TALER_ReservePublicKeyP reserve_pub;
@ -298,6 +318,34 @@ struct TALER_EXCHANGEDB_TableData
struct TALER_ReservePublicKeyP reserve_pub; struct TALER_ReservePublicKeyP reserve_pub;
} reserves_in; } reserves_in;
struct
{
struct TALER_ReservePublicKeyP reserve_pub;
struct GNUNET_TIME_Timestamp request_timestamp;
struct GNUNET_TIME_Timestamp expiration_date;
struct TALER_ReserveSignatureP reserve_sig;
struct TALER_Amount reserve_payment;
uint32_t requested_purse_limit;
} reserves_open_requests;
struct
{
struct TALER_ReservePublicKeyP reserve_pub;
struct GNUNET_TIME_Timestamp request_timestamp;
struct TALER_CoinSpendPublicKeyP coin_pub;
struct TALER_CoinSpendSignatureP coin_sig;
struct TALER_ReserveSignatureP reserve_sig;
struct TALER_Amount contribution;
} reserves_open_deposits;
struct
{
struct TALER_ReservePublicKeyP reserve_pub;
struct GNUNET_TIME_Timestamp execution_date;
struct TALER_ReserveSignatureP reserve_sig;
struct TALER_PaytoHashP wire_target_h_payto;
} reserves_close_requests;
struct struct
{ {
struct TALER_ReservePublicKeyP reserve_pub; struct TALER_ReservePublicKeyP reserve_pub;