]> git.evergreen-ils.org Git - Evergreen.git/blob - Evergreen/src/extras/import/quick_metarecord_map.sql
a402c8668b33d2b748435c1c8c93f20becc66cce
[Evergreen.git] / Evergreen / src / extras / import / quick_metarecord_map.sql
1 BEGIN;
2
3 ALTER TABLE metabib.metarecord_source_map DROP CONSTRAINT metabib_metarecord_source_map_metarecord_fkey;
4
5 TRUNCATE metabib.metarecord;
6 TRUNCATE metabib.metarecord_source_map;
7
8 INSERT INTO metabib.metarecord (fingerprint,master_record)
9         SELECT  fingerprint,id
10           FROM  (SELECT DISTINCT ON (fingerprint)
11                         fingerprint, id, quality
12                   FROM  biblio.record_entry
13                   ORDER BY fingerprint, quality desc) AS x;
14
15 INSERT INTO metabib.metarecord_source_map (metarecord,source)
16         SELECT  m.id, b.id
17           FROM  biblio.record_entry b
18                 JOIN metabib.metarecord m ON (m.fingerprint = b.fingerprint);
19
20 ALTER TABLE metabib.metarecord_source_map ADD CONSTRAINT metabib_metarecord_source_map_metarecord_fkey FOREIGN KEY (metarecord) REFERENCES metabib.metarecord (id);
21
22 COMMIT;
23
24 VACUUM FULL ANALYZE VERBOSE metabib.metarecord;
25 VACUUM FULL ANALYZE VERBOSE metabib.metarecord_source_map;
26