3 -- Create new expression type 'xser' for serial expressions,
4 -- i.e. series of expressions separated by operators
6 INSERT INTO config.upgrade_log (version) VALUES ('0280'); -- Scott McKellar
8 ALTER TABLE query.expression
9 DROP CONSTRAINT expression_type;
11 ALTER TABLE query.expression
12 ADD CONSTRAINT expression_type CHECK
15 'xbind', -- bind variable
33 -- Create updatable view for series expressions
35 CREATE OR REPLACE VIEW query.expr_xser AS
48 CREATE OR REPLACE RULE query_expr_xser_insert_rule AS
49 ON INSERT TO query.expr_xser
51 INSERT INTO query.expression (
60 COALESCE(NEW.id, NEXTVAL('query.expression_id_seq'::REGCLASS)),
62 COALESCE(NEW.parenthesize, FALSE),
64 COALESCE(NEW.seq_no, 1),
69 CREATE OR REPLACE RULE query_expr_xser_update_rule AS
70 ON UPDATE TO query.expr_xser
72 UPDATE query.expression SET
74 parenthesize = NEW.parenthesize,
75 parent_expr = NEW.parent_expr,
77 operator = NEW.operator,
82 CREATE OR REPLACE RULE query_expr_xser_delete_rule AS
83 ON DELETE TO query.expr_xser
85 DELETE FROM query.expression WHERE id = OLD.id;