safer MR mapping
[Evergreen.git] / Open-ILS / src / extras / import / quick_metarecord_map.sql
1 BEGIN;
2
3 INSERT INTO metabib.metarecord (fingerprint,master_record)
4         SELECT  fingerprint,id
5           FROM  (SELECT DISTINCT ON (fingerprint)
6                         fingerprint, id, quality
7                   FROM  biblio.record_entry
8                   ORDER BY fingerprint, quality desc) AS x
9           WHERE fingerprint IS NOT NULL
10             AND fingerprint NOT IN ( SELECT fingerprint FROM metabib.metarecord);
11
12 INSERT INTO metabib.metarecord_source_map (metarecord,source)
13         SELECT  m.id, b.id
14           FROM  biblio.record_entry b
15                 JOIN metabib.metarecord m ON (m.fingerprint = b.fingerprint)
16                 LEFT JOIN metabib.metarecord_source_map s ON (b.id = s.source)
17       WHERE s.id IS NULL;
18
19 COMMIT;
20
21 VACUUM FULL ANALYZE VERBOSE metabib.metarecord;
22 VACUUM FULL ANALYZE VERBOSE metabib.metarecord_source_map;
23