merchant

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

merchant-0036-setval.sql.fragment (9580B)


      1     -- Advance every IDENTITY sequence in the new instance schema past the
      2     -- maximum value just copied so future inserts do not collide.
      3     PERFORM setval(pg_get_serial_sequence(s || '.merchant_accounts',                'account_serial'),               COALESCE((SELECT MAX(account_serial)             FROM merchant.merchant_accounts             WHERE merchant_serial = rec.merchant_serial), 0) + 1, false);
      4     PERFORM setval(pg_get_serial_sequence(s || '.merchant_categories',              'category_serial'),              COALESCE((SELECT MAX(category_serial)            FROM merchant.merchant_categories            WHERE merchant_serial = rec.merchant_serial), 0) + 1, false);
      5     PERFORM setval(pg_get_serial_sequence(s || '.merchant_contract_terms',          'order_serial'),                 COALESCE((SELECT MAX(order_serial)               FROM merchant.merchant_contract_terms        WHERE merchant_serial = rec.merchant_serial), 0) + 1, false);
      6     PERFORM setval(pg_get_serial_sequence(s || '.merchant_custom_units',            'unit_serial'),                  COALESCE((SELECT MAX(unit_serial)                FROM merchant.merchant_custom_units          WHERE merchant_serial = rec.merchant_serial), 0) + 1, false);
      7     PERFORM setval(pg_get_serial_sequence(s || '.merchant_donau_instances',         'donau_instances_serial'),       COALESCE((SELECT MAX(donau_instances_serial)     FROM merchant.merchant_donau_instances       WHERE merchant_instance_serial = rec.merchant_serial), 0) + 1, false);
      8     PERFORM setval(pg_get_serial_sequence(s || '.merchant_inventory',               'product_serial'),               COALESCE((SELECT MAX(product_serial)             FROM merchant.merchant_inventory             WHERE merchant_serial = rec.merchant_serial), 0) + 1, false);
      9     PERFORM setval(pg_get_serial_sequence(s || '.merchant_login_tokens',            'serial'),                       COALESCE((SELECT MAX(serial)                     FROM merchant.merchant_login_tokens          WHERE merchant_serial = rec.merchant_serial), 0) + 1, false);
     10     PERFORM setval(pg_get_serial_sequence(s || '.merchant_money_pots',              'money_pot_serial'),             COALESCE((SELECT MAX(money_pot_serial)           FROM merchant.merchant_money_pots            WHERE merchant_serial = rec.merchant_serial), 0) + 1, false);
     11     PERFORM setval(pg_get_serial_sequence(s || '.merchant_orders',                  'order_serial'),                 COALESCE((SELECT MAX(order_serial)               FROM merchant.merchant_orders                WHERE merchant_serial = rec.merchant_serial), 0) + 1, false);
     12     PERFORM setval(pg_get_serial_sequence(s || '.merchant_otp_devices',             'otp_serial'),                   COALESCE((SELECT MAX(otp_serial)                 FROM merchant.merchant_otp_devices           WHERE merchant_serial = rec.merchant_serial), 0) + 1, false);
     13     PERFORM setval(pg_get_serial_sequence(s || '.merchant_product_groups',          'product_group_serial'),         COALESCE((SELECT MAX(product_group_serial)       FROM merchant.merchant_product_groups        WHERE merchant_serial = rec.merchant_serial), 0) + 1, false);
     14     PERFORM setval(pg_get_serial_sequence(s || '.merchant_reports',                 'report_serial'),                COALESCE((SELECT MAX(report_serial)              FROM merchant.merchant_reports               WHERE merchant_serial = rec.merchant_serial), 0) + 1, false);
     15     PERFORM setval(pg_get_serial_sequence(s || '.merchant_statistic_amount_event',  'aevent_serial_id'),             COALESCE((SELECT MAX(aevent_serial_id)           FROM merchant.merchant_statistic_amount_event   WHERE merchant_serial = rec.merchant_serial), 0) + 1, false);
     16     PERFORM setval(pg_get_serial_sequence(s || '.merchant_statistic_bucket_meta',   'bmeta_serial_id'),              COALESCE((SELECT MAX(bmeta_serial_id)            FROM merchant.merchant_statistic_bucket_meta), 0) + 1, false);
     17     PERFORM setval(pg_get_serial_sequence(s || '.merchant_statistic_counter_event', 'nevent_serial_id'),             COALESCE((SELECT MAX(nevent_serial_id)           FROM merchant.merchant_statistic_counter_event  WHERE merchant_serial = rec.merchant_serial), 0) + 1, false);
     18     PERFORM setval(pg_get_serial_sequence(s || '.merchant_statistic_interval_meta', 'imeta_serial_id'),              COALESCE((SELECT MAX(imeta_serial_id)            FROM merchant.merchant_statistic_interval_meta), 0) + 1, false);
     19     PERFORM setval(pg_get_serial_sequence(s || '.merchant_template',                'template_serial'),              COALESCE((SELECT MAX(template_serial)            FROM merchant.merchant_template              WHERE merchant_serial = rec.merchant_serial), 0) + 1, false);
     20     PERFORM setval(pg_get_serial_sequence(s || '.merchant_token_families',          'token_family_serial'),          COALESCE((SELECT MAX(token_family_serial)        FROM merchant.merchant_token_families        WHERE merchant_serial = rec.merchant_serial), 0) + 1, false);
     21     PERFORM setval(pg_get_serial_sequence(s || '.merchant_webhook',                 'webhook_serial'),               COALESCE((SELECT MAX(webhook_serial)             FROM merchant.merchant_webhook               WHERE merchant_serial = rec.merchant_serial), 0) + 1, false);
     22     -- Indirect-FK tables (owning instance via JOIN)
     23     PERFORM setval(pg_get_serial_sequence(s || '.merchant_kyc',                     'kyc_serial_id'),                COALESCE((SELECT MAX(k.kyc_serial_id)            FROM merchant.merchant_kyc k                  JOIN merchant.merchant_accounts a ON k.account_serial = a.account_serial WHERE a.merchant_serial = rec.merchant_serial), 0) + 1, false);
     24     PERFORM setval(pg_get_serial_sequence(s || '.merchant_deposit_confirmations',   'deposit_confirmation_serial'),  COALESCE((SELECT MAX(dc.deposit_confirmation_serial) FROM merchant.merchant_deposit_confirmations dc JOIN merchant.merchant_accounts a ON dc.account_serial = a.account_serial WHERE a.merchant_serial = rec.merchant_serial), 0) + 1, false);
     25     PERFORM setval(pg_get_serial_sequence(s || '.merchant_expected_transfers',      'expected_credit_serial'),       COALESCE((SELECT MAX(et.expected_credit_serial)   FROM merchant.merchant_expected_transfers et JOIN merchant.merchant_accounts a ON et.account_serial = a.account_serial WHERE a.merchant_serial = rec.merchant_serial), 0) + 1, false);
     26     PERFORM setval(pg_get_serial_sequence(s || '.merchant_transfers',               'credit_serial'),                COALESCE((SELECT MAX(t.credit_serial)             FROM merchant.merchant_transfers t           JOIN merchant.merchant_accounts a ON t.account_serial = a.account_serial WHERE a.merchant_serial = rec.merchant_serial), 0) + 1, false);
     27     PERFORM setval(pg_get_serial_sequence(s || '.merchant_deposits',                'deposit_serial'),               COALESCE((SELECT MAX(d.deposit_serial)            FROM merchant.merchant_deposits d            JOIN merchant.merchant_deposit_confirmations dc ON d.deposit_confirmation_serial = dc.deposit_confirmation_serial JOIN merchant.merchant_accounts a ON dc.account_serial = a.account_serial WHERE a.merchant_serial = rec.merchant_serial), 0) + 1, false);
     28     PERFORM setval(pg_get_serial_sequence(s || '.merchant_refunds',                 'refund_serial'),                COALESCE((SELECT MAX(r.refund_serial)             FROM merchant.merchant_refunds r             JOIN merchant.merchant_contract_terms ct ON r.order_serial = ct.order_serial WHERE ct.merchant_serial = rec.merchant_serial), 0) + 1, false);
     29     PERFORM setval(pg_get_serial_sequence(s || '.merchant_token_family_keys',       'token_family_key_serial'),      COALESCE((SELECT MAX(tfk.token_family_key_serial) FROM merchant.merchant_token_family_keys tfk JOIN merchant.merchant_token_families tf ON tfk.token_family_serial = tf.token_family_serial WHERE tf.merchant_serial = rec.merchant_serial), 0) + 1, false);
     30     PERFORM setval(pg_get_serial_sequence(s || '.merchant_issued_tokens',           'issued_token_serial'),          COALESCE((SELECT MAX(it.issued_token_serial)      FROM merchant.merchant_issued_tokens it      JOIN merchant.merchant_token_family_keys tfk ON it.token_family_key_serial = tfk.token_family_key_serial JOIN merchant.merchant_token_families tf ON tfk.token_family_serial = tf.token_family_serial WHERE tf.merchant_serial = rec.merchant_serial), 0) + 1, false);
     31     PERFORM setval(pg_get_serial_sequence(s || '.merchant_used_tokens',             'spent_token_serial'),           COALESCE((SELECT MAX(ut.spent_token_serial)       FROM merchant.merchant_used_tokens ut        JOIN merchant.merchant_token_family_keys tfk ON ut.token_family_key_serial = tfk.token_family_key_serial JOIN merchant.merchant_token_families tf ON tfk.token_family_serial = tf.token_family_serial WHERE tf.merchant_serial = rec.merchant_serial), 0) + 1, false);
     32     PERFORM setval(pg_get_serial_sequence(s || '.merchant_unclaim_signatures',      'unclaim_serial'),               COALESCE((SELECT MAX(us.unclaim_serial)           FROM merchant.merchant_unclaim_signatures us JOIN merchant.merchant_contract_terms ct ON us.h_contract_terms = ct.h_contract_terms WHERE ct.merchant_serial = rec.merchant_serial), 0) + 1, false);
     33     PERFORM setval(pg_get_serial_sequence(s || '.merchant_order_token_blinded_sigs','order_token_bs_serial'),        COALESCE((SELECT MAX(otbs.order_token_bs_serial)  FROM merchant.merchant_order_token_blinded_sigs otbs JOIN merchant.merchant_contract_terms ct ON otbs.order_serial = ct.order_serial WHERE ct.merchant_serial = rec.merchant_serial), 0) + 1, false);