Changeset 9475 for branches/rel_1_2/Open-ILS/src/sql/Pg/reporter-schema.sql
- Timestamp:
- 04/28/08 08:15:05 (6 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
branches/rel_1_2/Open-ILS/src/sql/Pg/reporter-schema.sql
r9459 r9475 159 159 160 160 CREATE OR REPLACE FUNCTION reporter.simple_rec_sync () RETURNS TRIGGER AS $$ 161 DECLARE 162 r_id BIGINT; 163 new_data RECORD; 161 164 BEGIN 162 IF TG_OP IN ('UPDATE','DELETE') THEN 163 DELETE FROM reporter.materialized_simple_record WHERE id = OLD.record; 165 IF TG_OP IN ('DELETE') THEN 166 r_id := OLD.record; 167 ELSE 168 r_id := NEW.record; 164 169 END IF; 165 170 166 IF TG_OP IN ('INSERT','UPDATE') AND NOT NEW.deleted THEN 167 INSERT INTO reporter.materialized_simple_record SELECT * FROM reporter.old_super_simple_record WHERE id = NEW.record; 171 SELECT * INTO new_data FROM reporter.materialized_simple_record WHERE id = r_id FOR UPDATE; 172 DELETE FROM reporter.materialized_simple_record WHERE id = r_id; 173 174 IF TG_OP IN ('DELETE') THEN 175 RETURN OLD; 176 ELSE 177 INSERT INTO reporter.materialized_simple_record SELECT DISTINCT ON (id) * FROM reporter.old_super_simple_record WHERE id = NEW.record; 178 RETURN NEW; 168 179 END IF; 169 180
