aboutsummaryrefslogtreecommitdiffstats
path: root/sql/dawn.sql
diff options
context:
space:
mode:
Diffstat (limited to 'sql/dawn.sql')
-rw-r--r--sql/dawn.sql16
1 files changed, 8 insertions, 8 deletions
diff --git a/sql/dawn.sql b/sql/dawn.sql
index a41c4674..d72be9b3 100644
--- a/sql/dawn.sql
+++ b/sql/dawn.sql
@@ -144,10 +144,10 @@ CREATE TABLE cds(id serial primary key,
detach float,
clearing_facility varchar(12) DEFAULT NULL,
isda_definition isda,
- termination_date date DEFAULT NULL,
- termination_fee float DEFAULT NULL,
- termination_amount float DEFAULT NULL,
- termination_cp varchar(12) DEFAULT NULL REFERENCES counterparties(code) ON UPDATE CASCADE,
+ termination_date date[] DEFAULT NULL,
+ termination_fee float[] DEFAULT NULL,
+ termination_amount float[] DEFAULT NULL,
+ termination_cp text[] DEFAULT NULL,
initial_margin_percentage float DEFAULT NULL,
index_ref float DEFAULT NULL,
corr_attach float DEFAULT NULL,
@@ -644,7 +644,7 @@ BEGIN
query := 'WITH tmp AS (SELECT cds.security_id, cds.security_desc, cds.maturity,
cds.fixed_rate, cds.currency, %s SUM(cds.notional * (CASE WHEN cds.protection=''Buyer'' THEN 1 ELSE -1 END))
OVER (PARTITION BY cds.security_id, cds.maturity, cds.orig_attach, cds.orig_detach) AS notional
-FROM cds WHERE cds.fund=$2 AND (cds.termination_date is NULL OR cds.termination_date> $1)
+FROM cds WHERE cds.fund=$2 AND (cds.termination_date is NULL OR cds.termination_date[1]> $1)
AND cds.trade_date <=$1 %s)
SELECT DISTINCT ON (tmp.security_id, tmp.maturity %s) * FROM tmp WHERE tmp.notional!=0';
@@ -690,7 +690,7 @@ RETURN QUERY
cds.currency, cds.folder,
SUM(cds.notional * (CASE WHEN cds.protection='Buyer' THEN 1 ELSE -1 END))
OVER (PARTITION BY cds.security_id, cds.maturity, cds.folder) AS notional
- FROM cds WHERE (cds.termination_date is NULL OR cds.termination_date > p_date) AND
+ FROM cds WHERE (cds.termination_date is NULL OR cds.termination_date[1] > p_date) AND
cds.trade_date <= p_date AND cds.attach is NULL AND cds.folder != 'MBSCDS' AND cds.fund=p_fund)
SELECT DISTINCT ON (tmp.security_id, tmp.maturity, tmp.folder) * FROM tmp WHERE tmp.notional!=0;
END;
@@ -706,7 +706,7 @@ RETURN QUERY
cds.currency, cds.folder,
SUM(cds.notional * (CASE WHEN cds.protection='Buyer' THEN 1 ELSE -1 END))
OVER (PARTITION BY cds.security_id, cds.maturity, cds.folder, cds.account_code) AS notional
- FROM cds WHERE (cds.termination_date is NULL OR cds.termination_date > p_date) AND
+ FROM cds WHERE (cds.termination_date is NULL OR cds.termination_date[1] > p_date) AND
cds.trade_date <= p_date AND cds.attach is NULL AND cds.folder != 'MBSCDS'
AND cds.account_code=fcm)
SELECT DISTINCT ON (tmp.security_id, tmp.maturity, tmp.folder) * FROM tmp WHERE tmp.notional!=0;
@@ -1789,7 +1789,7 @@ SELECT id,
protection,
upfront,
ref
-FROM cds JOIN counterparties ON cp_code = code) ORDER BY trade_date DESC;
+FROM cds JOIN counterparties ON cp_code = code) ORDER BY trade_date DESC, folder;
CREATE TABLE curve_risk(
date date NOT NULL,