--
-- ec_total_refund/1
--
create or replace function ec_total_refund(
integer
) returns numeric as $$
DECLARE
v_order_id alias for $1;
v_order_refund numeric;
v_items_refund numeric;
BEGIN
select into v_order_refund
coalesce(shipping_refunded,0) + coalesce(shipping_tax_refunded,0)
from ec_orders where order_id=v_order_id;
select into v_items_refund
sum(coalesce(price_refunded,0)) + sum(coalesce(shipping_refunded,0)) + sum(coalesce(price_tax_refunded,0)) + sum(coalesce(shipping_tax_refunded,0)) from ec_items where order_id=v_order_id;
return v_order_refund + v_items_refund;
END;$$ language plpgsql;