aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sql/dawn.sql45
1 files changed, 34 insertions, 11 deletions
diff --git a/sql/dawn.sql b/sql/dawn.sql
index 8e1c32eb..d5423772 100644
--- a/sql/dawn.sql
+++ b/sql/dawn.sql
@@ -165,6 +165,11 @@ RETURN NEW;
END
$$ LANGUAGE plpgsql;
+CREATE TABLE portfolio_folder_mapping(
+folder strategy PRIMARY KEY,
+portfolio portfolio NOT NULL
+valid boolean NOT NULL);
+
CREATE OR REPLACE FUNCTION update_portf()
RETURNS TRIGGER
AS $$
@@ -182,6 +187,22 @@ RETURN NEW;
END
$$ LANGUAGE plpgsql;
+CREATE OR REPLACE FUNCTION update_portf2()
+RETURNS TRIGGER
+AS $$
+BEGIN
+SELECT pfm.portfolio FROM portfolio_folder_mapping pfm INTO NEW.portfolio where folder::text=NEW.folder::text;
+RETURN NEW;
+END
+$$ LANGUAGE plpgsql;
+
+CREATE TRIGGER portf2 BEFORE
+INSERT OR UPDATE OF
+ folder
+ON
+ wires
+FOR EACH ROW
+EXECUTE PROCEDURE update_portf2();
CREATE TRIGGER portf BEFORE
INSERT OR UPDATE OF
@@ -484,17 +505,19 @@ ALTER table futures OWNER TO dawn_user;
CREATE trigger dealid after insert on futures for each row execute procedure auto_dealid();
CREATE TABLE wires (
- id serial NOT NULL,
- dealid varchar(28) NULL,
- lastupdate timestamp NULL DEFAULT now(),
- "action" action NOT NULL,
- folder cash_strat NOT NULL,
- code varchar(5) NOT NULL,
- amount float8 NOT NULL,
- currency currency NOT NULL,
- trade_date date NOT NULL,
- CONSTRAINT wires_pkey PRIMARY KEY (id),
- CONSTRAINT wires_code_fkey FOREIGN KEY (code) REFERENCES accounts(code)
+ id serial NOT NULL,
+ fund fund NOT NULL,
+ dealid varchar(28) NULL,
+ lastupdate timestamp NULL DEFAULT now(),
+ "action" action NOT NULL,
+ folder cash_strat NOT NULL,
+ portfolio portfolio,
+ code varchar(5) NOT NULL,
+ amount float8 NOT NULL,
+ currency currency NOT NULL,
+ trade_date date NOT NULL,
+ CONSTRAINT wires_pkey PRIMARY KEY (id),
+ CONSTRAINT wires_code_fkey FOREIGN KEY (code) REFERENCES accounts(code)
);
ALTER table wires OWNER TO dawn_user;
CREATE trigger dealid after insert on wires for each row execute procedure auto_dealid();