3 -- Create new expression type for IS [NOT] NULL
5 INSERT INTO config.upgrade_log (version) VALUES ('0269'); -- Scott McKellar
7 ALTER TABLE query.expression
8 DROP CONSTRAINT expression_type;
10 ALTER TABLE query.expression
11 ADD CONSTRAINT expression_type CHECK
14 'xbind', -- bind variable
31 -- Create updatable view for IS NULL expressions
33 CREATE OR REPLACE VIEW query.expr_xisnull AS
46 CREATE OR REPLACE RULE query_expr_xisnull_insert_rule AS
47 ON INSERT TO query.expr_xisnull
49 INSERT INTO query.expression (
58 COALESCE(NEW.id, NEXTVAL('query.expression_id_seq'::REGCLASS)),
60 COALESCE(NEW.parenthesize, FALSE),
62 COALESCE(NEW.seq_no, 1),
67 CREATE OR REPLACE RULE query_expr_xisnull_update_rule AS
68 ON UPDATE TO query.expr_xisnull
70 UPDATE query.expression SET
72 parenthesize = NEW.parenthesize,
73 parent_expr = NEW.parent_expr,
75 left_operand = NEW.left_operand,
80 CREATE OR REPLACE RULE query_expr_xisnull_delete_rule AS
81 ON DELETE TO query.expr_xisnull
83 DELETE FROM query.expression WHERE id = OLD.id;