]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/0104.schema.query-expr-string.sql
LP#1206936 - Fix wrong billing info in money.transaction_billing_summary
[Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / 0104.schema.query-expr-string.sql
1 BEGIN;
2
3 INSERT INTO config.upgrade_log (version) VALUES ('0104'); -- Scott McKellar
4
5 -- Create updatable view
6
7 CREATE OR REPLACE VIEW query.expr_string AS
8     SELECT
9         id,
10         parenthesize,
11         parent_expr,
12         seq_no,
13         literal
14     FROM
15         query.expression
16     WHERE
17         type = 'xstr';
18
19 CREATE OR REPLACE RULE query_expr_string_insert_rule AS
20     ON INSERT TO query.expr_string
21     DO INSTEAD
22     INSERT INTO query.expression (
23         id,
24         type,
25         parenthesize,
26         parent_expr,
27         seq_no,
28         literal
29     ) VALUES (
30         COALESCE(NEW.id, NEXTVAL('query.expression_id_seq'::REGCLASS)),
31         'xstr',
32         COALESCE(NEW.parenthesize, FALSE),
33         NEW.parent_expr,
34         COALESCE(NEW.seq_no, 1),
35         NEW.literal
36     );
37
38 CREATE OR REPLACE RULE query_expr_string_update_rule AS
39     ON UPDATE TO query.expr_string
40     DO INSTEAD
41     UPDATE query.expression SET
42         id = NEW.id,
43         parenthesize = NEW.parenthesize,
44         parent_expr = NEW.parent_expr,
45         seq_no = NEW.seq_no,
46         literal = NEW.literal
47     WHERE
48         id = OLD.id;
49
50 CREATE OR REPLACE RULE query_expr_string_delete_rule AS
51     ON DELETE TO query.expr_string
52     DO INSTEAD
53     DELETE FROM query.expression WHERE id = OLD.id;
54
55 COMMIT;