- 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/upgrade_simple_record.sql
r9459 r9475 34 34 35 35 CREATE OR REPLACE FUNCTION reporter.simple_rec_sync () RETURNS TRIGGER AS $$ 36 DECLARE 37 r_id BIGINT; 38 new_data RECORD; 36 39 BEGIN 37 IF TG_OP IN ('UPDATE','DELETE') THEN 38 DELETE FROM reporter.materialized_simple_record WHERE id = OLD.record; 40 IF TG_OP IN ('DELETE') THEN 41 r_id := OLD.record; 42 ELSE 43 r_id := NEW.record; 39 44 END IF; 40 45 41 IF TG_OP IN ('INSERT','UPDATE') AND NOT NEW.deleted THEN 42 INSERT INTO reporter.materialized_simple_record SELECT * FROM reporter.old_super_simple_record WHERE id = NEW.record; 46 SELECT * INTO new_data FROM reporter.materialized_simple_record WHERE id = r_id FOR UPDATE; 47 DELETE FROM reporter.materialized_simple_record WHERE id = r_id; 48 49 IF TG_OP IN ('DELETE') THEN 50 RETURN OLD; 51 ELSE 52 INSERT INTO reporter.materialized_simple_record SELECT DISTINCT ON (id) * FROM reporter.old_super_simple_record WHERE id = NEW.record; 53 RETURN NEW; 43 54 END IF; 44 55
