]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/extras/import/quick_metarecord_map.sql
Merge branch 'master' of git.evergreen-ils.org:Evergreen-DocBook into doc_consolidati...
[Evergreen.git] / Open-ILS / src / extras / import / quick_metarecord_map.sql
1 BEGIN;
2
3 INSERT INTO metabib.metarecord (fingerprint, master_record)
4         SELECT  DISTINCT ON (b.fingerprint) b.fingerprint, b.id
5           FROM  biblio.record_entry b
6           WHERE NOT b.deleted
7                 AND b.id IN (
8                     SELECT r.id 
9                     FROM biblio.record_entry r 
10                     LEFT JOIN metabib.metarecord_source_map k ON (k.source = r.id) 
11                     WHERE k.id IS NULL AND r.fingerprint IS NOT NULL
12                 )
13                 AND NOT EXISTS ( SELECT 1 FROM metabib.metarecord WHERE fingerprint = b.fingerprint )
14           ORDER BY b.fingerprint, b.quality DESC;
15  
16 INSERT INTO metabib.metarecord_source_map (metarecord, source)
17         SELECT  m.id, r.id
18           FROM  biblio.record_entry r
19                 JOIN metabib.metarecord m USING (fingerprint)
20           WHERE NOT r.deleted
21                 AND r.id IN (
22                     SELECT b.id 
23                     FROM biblio.record_entry b 
24                     LEFT JOIN metabib.metarecord_source_map k ON (k.source = b.id) 
25                     WHERE k.id IS NULL
26                 );
27
28 COMMIT;
29
30 VACUUM ANALYZE VERBOSE metabib.metarecord;
31 VACUUM ANALYZE VERBOSE metabib.metarecord_source_map;
32