merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

commit d6e8a1950a59cc9f4832da1b56db2249f641e89d
parent 14d37a7165923baa050efda895c480a822ce48bf
Author: Christian Grothoff <grothoff@gnunet.org>
Date:   Mon, 25 Jul 2022 22:52:06 +0200

move merchant database into its own schema

Diffstat:
Msrc/backenddb/drop.sql | 31+------------------------------
Msrc/backenddb/merchant-0001.sql | 5+++++
Msrc/backenddb/merchant-0002.sql | 2++
Msrc/backenddb/merchant-0003.sql | 3+++
Msrc/backenddb/plugin_merchantdb_postgres.c | 12++++++++++--
5 files changed, 21 insertions(+), 32 deletions(-)

diff --git a/src/backenddb/drop.sql b/src/backenddb/drop.sql @@ -30,36 +30,7 @@ SELECT _v.unregister_patch('merchant-0002'); SELECT _v.unregister_patch('merchant-0001'); -DROP TABLE IF EXISTS merchant_kyc CASCADE; - --- Drops for 0001.sql - -DROP TABLE IF EXISTS merchant_exchange_wire_fees CASCADE; -DROP TABLE IF EXISTS merchant_exchange_signing_keys CASCADE; -DROP TABLE IF EXISTS merchant_instances CASCADE; -DROP TABLE IF EXISTS merchant_keys CASCADE; -DROP TABLE IF EXISTS merchant_accounts CASCADE; -DROP TABLE IF EXISTS merchant_inventory CASCADE; -DROP TABLE IF EXISTS merchant_inventory_locks CASCADE; -DROP TABLE IF EXISTS merchant_accounts CASCADE; -DROP TABLE IF EXISTS merchant_orders CASCADE; -DROP TABLE IF EXISTS merchant_order_locks CASCADE; -DROP TABLE IF EXISTS merchant_contract_terms CASCADE; -DROP TABLE IF EXISTS merchant_deposits CASCADE; -DROP TABLE IF EXISTS merchant_refunds CASCADE; -DROP TABLE IF EXISTS merchant_refund_proofs CASCADE; -DROP TABLE IF EXISTS merchant_credits CASCADE; -DROP TABLE IF EXISTS merchant_transfers CASCADE; -DROP TABLE IF EXISTS merchant_transfer_signatures CASCADE; -DROP TABLE IF EXISTS merchant_transfer_by_coin CASCADE; -DROP TABLE IF EXISTS merchant_transfer_to_coin CASCADE; -DROP TABLE IF EXISTS merchant_deposit_to_transfer CASCADE; -DROP TABLE IF EXISTS merchant_tip_reserves CASCADE; -DROP TABLE IF EXISTS merchant_tip_reserve_keys CASCADE; -DROP TABLE IF EXISTS merchant_tips CASCADE; -DROP TABLE IF EXISTS merchant_tip_pickups CASCADE; -DROP TABLE IF EXISTS merchant_tip_pickup_signatures CASCADE; - +DROP SCHEMA merchant CASCADE; -- And we're out of here... COMMIT; diff --git a/src/backenddb/merchant-0001.sql b/src/backenddb/merchant-0001.sql @@ -20,6 +20,11 @@ BEGIN; -- Check patch versioning is in place. SELECT _v.register_patch('merchant-0001', NULL, NULL); +CREATE SCHEMA merchant; +COMMENT ON SCHEMA merchant IS 'taler-merchant data'; + +SET search_path TO merchant; + ---------------- Exchange information --------------------------- CREATE TABLE IF NOT EXISTS merchant_exchange_wire_fees diff --git a/src/backenddb/merchant-0002.sql b/src/backenddb/merchant-0002.sql @@ -20,6 +20,8 @@ BEGIN; -- Check patch versioning is in place. SELECT _v.register_patch('merchant-0002', NULL, NULL); +SET search_path TO merchant; + ALTER TABLE merchant_instances ADD COLUMN website VARCHAR, ADD COLUMN email VARCHAR, diff --git a/src/backenddb/merchant-0003.sql b/src/backenddb/merchant-0003.sql @@ -20,5 +20,8 @@ BEGIN; -- Check patch versioning is in place. -- SELECT _v.register_patch('merchant-0003', NULL, NULL); +SET search_path TO merchant; + + -- Complete transaction COMMIT; diff --git a/src/backenddb/plugin_merchantdb_postgres.c b/src/backenddb/plugin_merchantdb_postgres.c @@ -143,11 +143,15 @@ postgres_create_tables (void *cls) { struct PostgresClosure *pc = cls; struct GNUNET_PQ_Context *conn; + struct GNUNET_PQ_ExecuteStatement es[] = { + GNUNET_PQ_make_try_execute ("SET search_path TO merchant;"), + GNUNET_PQ_EXECUTE_STATEMENT_END + }; conn = GNUNET_PQ_connect_with_cfg (pc->cfg, "merchantdb-postgres", "merchant-", - NULL, + es, NULL); if (NULL == conn) return GNUNET_SYSERR; @@ -9392,11 +9396,15 @@ postgres_connect (void *cls) 3), GNUNET_PQ_PREPARED_STATEMENT_END }; + struct GNUNET_PQ_ExecuteStatement es[] = { + GNUNET_PQ_make_try_execute ("SET search_path TO merchant;"), + GNUNET_PQ_EXECUTE_STATEMENT_END + }; pg->conn = GNUNET_PQ_connect_with_cfg (pg->cfg, "merchantdb-postgres", NULL, - NULL, + es, ps); if (NULL == pg->conn) return GNUNET_SYSERR;