aboutsummaryrefslogtreecommitdiffstats
path: root/sql/et_tables.sql
diff options
context:
space:
mode:
Diffstat (limited to 'sql/et_tables.sql')
-rw-r--r--sql/et_tables.sql31
1 files changed, 19 insertions, 12 deletions
diff --git a/sql/et_tables.sql b/sql/et_tables.sql
index 3713d535..b039edb5 100644
--- a/sql/et_tables.sql
+++ b/sql/et_tables.sql
@@ -341,10 +341,11 @@ CREATE TABLE cusip_universe_old (
GRANT ALL ON cusip_universe TO et_user;
CREATE TABLE cusip_ref(
- Cusip varchar(9) PRIMARY KEY,
+ cusip_id serial PRIMARY KEY,
+ Cusip varchar(9) NOT NULL,
ISIN varchar(12),
bloomberg_ticker text,
- dealname varchar(10),
+ dealname varchar(10) NOT NULL,
tranche text,
paripassu_tranches text[],
Orig_Balance float,
@@ -353,10 +354,11 @@ CREATE TABLE cusip_ref(
Orig_Detach float,
Floater_Index text,
Spread float,
- type text);
+ type text
+ UNIQUE (Cusip, dealname));
CREATE TABLE cusip_update(
- Cusip varchar(9) REFERENCES cusip_ref,
+ cusip_id int REFERENCES cusip_ref,
curr_balance float,
factor float,
coupon float,
@@ -367,9 +369,13 @@ CREATE TABLE cusip_update(
PRIMARY KEY(cusip, updatedate));
CREATE OR REPLACE VIEW cusip_universe AS
- SELECT a.*, b.curr_balance, b.factor, b.coupon, b.curr_moody, b.curr_attach, b.curr_detach,
+ SELECT a.cusip, a.isin, a.bloomberg_ticker, a.dealname, a.tranche,
+ a.paripassu_tranches, a.orig_balance, a.orig_moody,
+ a.orig_attach, a.orig_detach, a.floater_index, a.spread, a.type,
+ b.curr_balance, b.factor, b.coupon, b.curr_moody,
+ b.curr_attach, b.curr_detach,
b.updatedate FROM cusip_ref a
- JOIN cusip_update b USING (cusip);
+ JOIN cusip_update b USING (cusip_id);
CREATE OR REPLACE VIEW latest_clo_universe AS
SELECT b.dealname, "Deal Name", Manager, b.orig_deal_bal, b."Curr Deal Bal",
@@ -386,13 +392,14 @@ GRANT ALL ON latest_clo_universe TO et_user;
CREATE OR REPLACE VIEW latest_cusip_universe AS
WITH latest_cusip_update AS
- (SELECT DISTINCT ON (cusip) * FROM cusip_update
- ORDER BY cusip, updatedate DESC)
- SELECT a.*, b.curr_balance, b.coupon, b.curr_moody, b.curr_attach,
+ (SELECT DISTINCT ON (cusip_id) * FROM cusip_update
+ ORDER BY cusip_id, updatedate DESC)
+ SELECT a.cusip, a.isin, a.bloomberg_ticker, a.dealname,
+ a.tranche, a.paripassu_tranches, a.orig_balance, a.orig_moody,
+ a.orig_attach, a.orig_detach, a.floater_index, a.spread,
+ a.type, b.curr_balance, b.coupon, b.curr_moody, b.curr_attach,
b.curr_detach, b.updatedate FROM cusip_ref a
- JOIN latest_cusip_update b USING (cusip);
-
-GRANT ALL ON latest_cusip_universe TO et_user;
+ JOIN latest_cusip_update b USING (cusip_id);
CREATE OR REPLACE FUNCTION historical_clo_universe(p_dealname varchar(10), p_date date)
RETURNS SETOF latest_clo_universe AS $$