diff options
Diffstat (limited to 'src/exchangedb')
-rw-r--r-- | src/exchangedb/auditor-triggers-0001.sql | 433 | ||||
-rw-r--r-- | src/exchangedb/pg_get_coin_transactions.c | 7 | ||||
-rw-r--r-- | src/exchangedb/procedures.sql.in | 1 |
3 files changed, 436 insertions, 5 deletions
diff --git a/src/exchangedb/auditor-triggers-0001.sql b/src/exchangedb/auditor-triggers-0001.sql index 4e2ea66ce..ad66bc11d 100644 --- a/src/exchangedb/auditor-triggers-0001.sql +++ b/src/exchangedb/auditor-triggers-0001.sql @@ -17,10 +17,9 @@ -- Everything in one big transaction BEGIN; -SELECT _v.register_patch('auditor-triggers-0001'); - -SET search_path TO exchange; +--SELECT _v.register_patch('auditor-triggers-0001'); +/* CREATE OR REPLACE FUNCTION auditor_new_deposits_trigger() RETURNS trigger LANGUAGE plpgsql @@ -36,6 +35,434 @@ CREATE TRIGGER auditor_notify_helper_insert_deposits AFTER INSERT ON exchange.batch_deposits EXECUTE PROCEDURE auditor_new_deposits_trigger(); +*/ + + +-- make 6 of these functions, one for each helper + +-- the coins helper listens to this trigger +CREATE OR REPLACE FUNCTION auditor_wake_coins_helper_trigger() + RETURNS trigger + LANGUAGE plpgsql +AS $$ +BEGIN + NOTIFY X5V5R0DDFMXS0R3W058R3W4RPDVMK35YZCS0S5VZS583J0NR0PE2G; +RETURN NEW; +END $$; +COMMENT ON FUNCTION auditor_wake_coins_helper_trigger() + IS 'Call auditor_call_db_notify on new entry'; + + +-- the purses helper listens to this trigger +CREATE OR REPLACE FUNCTION auditor_wake_purses_helper_trigger() + RETURNS trigger + LANGUAGE plpgsql +AS $$ +BEGIN + NOTIFY X908G8PNPMJYA59YGGTJND1TKTBFNG8C7TREHG3X5SJ9EQAJY4Z00; +RETURN NEW; +END $$; +COMMENT ON FUNCTION auditor_wake_purses_helper_trigger() + IS 'Call auditor_call_db_notify on new entry'; + + +-- the deposits helper listens to this trigger +CREATE OR REPLACE FUNCTION auditor_wake_deposits_helper_trigger() + RETURNS trigger + LANGUAGE plpgsql +AS $$ +BEGIN + NOTIFY XZD0FASMJD3XCY3Z0CGXNJQ8CMWSCW80JN6796098N71CXPH70TQ0; +RETURN NEW; +END $$; +COMMENT ON FUNCTION auditor_wake_deposits_helper_trigger() + IS 'Call auditor_call_db_notify on new entry'; + +-- the reserves helper listens to this trigger +CREATE OR REPLACE FUNCTION auditor_wake_reserves_helper_trigger() + RETURNS trigger + LANGUAGE plpgsql +AS $$ +BEGIN + NOTIFY XMF69RJQB7EN06KGSQ02VFD3723CE86VXA5GRE8H7XNNS6BDYF0G0; +RETURN NEW; +END $$; +COMMENT ON FUNCTION auditor_wake_reserves_helper_trigger() + IS 'Call auditor_call_db_notify on new entry'; + +-- the wire helper listens to this trigger +CREATE OR REPLACE FUNCTION auditor_wake_wire_helper_trigger() + RETURNS trigger + LANGUAGE plpgsql +AS $$ +BEGIN + NOTIFY X1RYYSTS139MBHVEXJ6CZZTY76MAMEEF87SRRWC8WM00HCCW6D12G; +RETURN NEW; +END $$; +COMMENT ON FUNCTION auditor_wake_wire_helper_trigger() + IS 'Call auditor_call_db_notify on new entry'; + +-- the wire aggregation listens to this trigger +CREATE OR REPLACE FUNCTION auditor_wake_aggregation_helper_trigger() + RETURNS trigger + LANGUAGE plpgsql +AS $$ +BEGIN + NOTIFY XWRPZ889FPA6TMGJ15JVTCMKEFVJEWCEKF1TEZHTDQHBYSV49M31G; +RETURN NEW; +END $$; +COMMENT ON FUNCTION auditor_wake_aggregation_helper_trigger() + IS 'Call auditor_call_db_notify on new entry'; + + +-- call the functions in each table to call all relevant helpers +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation0 + AFTER INSERT ON exchange.batch_deposits +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation1 + AFTER INSERT ON exchange.partners +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation2 + AFTER INSERT ON exchange.wire_targets +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation3 + AFTER INSERT ON exchange.reserves_open_deposits +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation4 + AFTER INSERT ON exchange.aggregation_tracking +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation5 + AFTER INSERT ON exchange.purse_requests +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation6 + AFTER INSERT ON exchange.refresh_revealed_coins +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation7 + AFTER INSERT ON exchange.reserves +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation8 + AFTER INSERT ON exchange.purse_deposits +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation9 + AFTER INSERT ON exchange.reserves_out +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation10 + AFTER INSERT ON exchange.recoup +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation11 + AFTER INSERT ON exchange.coin_history +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation12 + AFTER INSERT ON exchange.coin_deposits +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation13 + AFTER INSERT ON exchange.wire_out +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation14 + AFTER INSERT ON exchange.refunds +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation15 + AFTER INSERT ON exchange.refresh_commitments +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation16 + AFTER INSERT ON exchange.purse_decision +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation17 + AFTER INSERT ON exchange.known_coins +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_aggregation18 + AFTER INSERT ON exchange.recoup_refresh +EXECUTE FUNCTION auditor_wake_aggregation_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins0 + AFTER INSERT ON exchange.purse_merges +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins1 + AFTER INSERT ON exchange.batch_deposits +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins2 + AFTER INSERT ON exchange.partners +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins3 + AFTER INSERT ON exchange.denomination_revocations +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins4 + AFTER INSERT ON exchange.wire_targets +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins5 + AFTER INSERT ON exchange.auditors +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins6 + AFTER INSERT ON exchange.purse_requests +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins7 + AFTER INSERT ON exchange.refresh_revealed_coins +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins8 + AFTER INSERT ON exchange.reserves +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins9 + AFTER INSERT ON exchange.purse_deposits +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins10 + AFTER INSERT ON exchange.reserves_out +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins11 + AFTER INSERT ON exchange.recoup +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins12 + AFTER INSERT ON exchange.auditor_denom_sigs +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins13 + AFTER INSERT ON exchange.coin_deposits +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins14 + AFTER INSERT ON exchange.refunds +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins15 + AFTER INSERT ON exchange.refresh_commitments +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins16 + AFTER INSERT ON exchange.purse_decision +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins17 + AFTER INSERT ON exchange.known_coins +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_coins18 + AFTER INSERT ON exchange.recoup_refresh +EXECUTE FUNCTION auditor_wake_coins_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_purses0 + AFTER INSERT ON exchange.purse_merges +EXECUTE FUNCTION auditor_wake_purses_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_purses1 + AFTER INSERT ON exchange.account_merges +EXECUTE FUNCTION auditor_wake_purses_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_purses2 + AFTER INSERT ON exchange.purse_deposits +EXECUTE FUNCTION auditor_wake_purses_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_purses3 + AFTER INSERT ON exchange.global_fee +EXECUTE FUNCTION auditor_wake_purses_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_purses4 + AFTER INSERT ON exchange.purse_requests +EXECUTE FUNCTION auditor_wake_purses_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_purses5 + AFTER INSERT ON exchange.partners +EXECUTE FUNCTION auditor_wake_purses_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_purses6 + AFTER INSERT ON exchange.purse_decision +EXECUTE FUNCTION auditor_wake_purses_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_purses7 + AFTER INSERT ON exchange.known_coins +EXECUTE FUNCTION auditor_wake_purses_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_deposits0 + AFTER INSERT ON exchange.wire_targets +EXECUTE FUNCTION auditor_wake_deposits_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_deposits1 + AFTER INSERT ON exchange.batch_deposits +EXECUTE FUNCTION auditor_wake_deposits_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_deposits2 + AFTER INSERT ON exchange.known_coins +EXECUTE FUNCTION auditor_wake_deposits_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_deposits3 + AFTER INSERT ON exchange.coin_deposits +EXECUTE FUNCTION auditor_wake_deposits_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves0 + AFTER INSERT ON exchange.wire_fee +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves1 + AFTER INSERT ON exchange.reserves +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves2 + AFTER INSERT ON exchange.reserves_close +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves3 + AFTER INSERT ON exchange.purse_merges +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves4 + AFTER INSERT ON exchange.wire_targets +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves5 + AFTER INSERT ON exchange.reserves_out +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves6 + AFTER INSERT ON exchange.recoup +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves7 + AFTER INSERT ON exchange.purse_requests +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves8 + AFTER INSERT ON exchange.reserves_open_requests +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves9 + AFTER INSERT ON exchange.denomination_revocations +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves10 + AFTER INSERT ON exchange.purse_decision +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves11 + AFTER INSERT ON exchange.known_coins +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_reserves12 + AFTER INSERT ON exchange.reserves_in +EXECUTE FUNCTION auditor_wake_reserves_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_wire0 + AFTER INSERT ON exchange.reserves +EXECUTE FUNCTION auditor_wake_wire_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_wire1 + AFTER INSERT ON exchange.wire_targets +EXECUTE FUNCTION auditor_wake_wire_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_wire2 + AFTER INSERT ON exchange.aggregation_tracking +EXECUTE FUNCTION auditor_wake_wire_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_wire3 + AFTER INSERT ON exchange.wire_out +EXECUTE FUNCTION auditor_wake_wire_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_wire4 + AFTER INSERT ON exchange.reserves_close +EXECUTE FUNCTION auditor_wake_wire_helper_trigger(); + + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_wire5 + AFTER INSERT ON exchange.profit_drains +EXECUTE FUNCTION auditor_wake_wire_helper_trigger(); + +CREATE OR REPLACE TRIGGER auditor_exchange_notify_helper_wire6 + AFTER INSERT ON exchange.reserves_in +EXECUTE FUNCTION auditor_wake_wire_helper_trigger(); COMMIT; diff --git a/src/exchangedb/pg_get_coin_transactions.c b/src/exchangedb/pg_get_coin_transactions.c index fef33a486..5a6ddcd44 100644 --- a/src/exchangedb/pg_get_coin_transactions.c +++ b/src/exchangedb/pg_get_coin_transactions.c @@ -832,7 +832,7 @@ TEH_PG_get_coin_transactions ( }; *tlp = NULL; - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Getting transactions for coin %s\n", TALER_B2S (coin_pub)); PREPARE (pg, @@ -1046,7 +1046,8 @@ TEH_PG_get_coin_transactions ( " FROM reserves_open_deposits" " WHERE coin_pub=$1" " AND reserve_open_deposit_uuid=$2;"); - + GNUNET_log (GNUNET_ERROR_TYPE_INFO, + " --- landed here 1\n"); for (unsigned int i = 0; i<RETRIES; i++) { enum GNUNET_DB_QueryStatus qs; @@ -1140,5 +1141,7 @@ TEH_PG_get_coin_transactions ( return GNUNET_DB_STATUS_SUCCESS_ONE_RESULT; } } + GNUNET_log (GNUNET_ERROR_TYPE_INFO, + " --- landed here 2\n"); return GNUNET_DB_STATUS_SOFT_ERROR; } diff --git a/src/exchangedb/procedures.sql.in b/src/exchangedb/procedures.sql.in index 7afb01f0b..eaafb4a21 100644 --- a/src/exchangedb/procedures.sql.in +++ b/src/exchangedb/procedures.sql.in @@ -45,5 +45,6 @@ SET search_path TO exchange; #include "exchange_do_batch_reserves_update.sql" #include "exchange_do_get_link_data.sql" #include "exchange_do_batch_coin_known.sql" +#include "auditor-triggers-0001.sql" COMMIT; |