COMMIT;
+
+
+-- Now Populate the materialized table
+
+BEGIN;
+
+CREATE OR REPLACE FUNCTION tmp_populate_p_b_bt () RETURNS BOOL AS $$
+DECLARE
+ p RECORD;
+BEGIN
+ FOR p IN
+ SELECT DISTINCT xact
+ FROM money.payment
+ WHERE NOT voided
+ AND amount > 0.0
+ LOOP
+
+ INSERT INTO money.materialized_payment_by_billing_type (
+ xact, payment, billing, payment_ts, billing_ts,
+ payment_type, billing_type, amount, billing_ou, payment_ou
+ ) SELECT xact, payment, billing, payment_ts, billing_ts,
+ payment_type, billing_type, amount, billing_ou, payment_ou
+ FROM money.payment_by_billing_type( p.xact );
+
+ END LOOP;
+
+ RETURN TRUE;
+END;
+$$ LANGUAGE PLPGSQL;
+
+SELECT tmp_populate_p_b_bt();
+
+DROP FUNCTION tmp_populate_p_b_bt ();
+
+COMMIT;