From: miker Date: Fri, 27 Oct 2006 02:11:58 +0000 (+0000) Subject: trimming the simple record bits to something managable/faster X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=ee4e16a3d6890df8dbabbf9e37dcf1f5525b1ad9;p=evergreen%2Fpines.git trimming the simple record bits to something managable/faster git-svn-id: svn://svn.open-ils.org/ILS/trunk@6522 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml index fd86f4f3b1..46be015536 100644 --- a/Open-ILS/examples/fm_IDL.xml +++ b/Open-ILS/examples/fm_IDL.xml @@ -515,7 +515,7 @@ - + @@ -2212,6 +2212,28 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/Open-ILS/src/sql/Pg/reporter-schema.sql b/Open-ILS/src/sql/Pg/reporter-schema.sql index ddae036796..20905bd7f1 100644 --- a/Open-ILS/src/sql/Pg/reporter-schema.sql +++ b/Open-ILS/src/sql/Pg/reporter-schema.sql @@ -132,6 +132,28 @@ SELECT r.id, WHERE r.deleted IS FALSE GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14; +CREATE OR REPLACE VIEW reporter.super_simple_record AS +SELECT r.id, + r.fingerprint, + r.quality, + r.tcn_source, + r.tcn_value, + title.value AS title, + author.value AS author, + publisher.value AS publisher, + SUBSTRING(pubdate.value FROM $$\d+$$) AS pubdate, + ARRAY_ACCUM( SUBSTRING(isbn.value FROM $$^\S+$$) ) AS isbn, + ARRAY_ACCUM( SUBSTRING(issn.value FROM $$^\S+$$) ) AS issn + FROM biblio.record_entry r + LEFT JOIN metabib.full_rec title ON (r.id = title.record AND title.tag = '245' AND title.subfield = 'a') + LEFT JOIN metabib.full_rec author ON (r.id = author.record AND author.tag = '100' AND author.subfield = 'a') + LEFT JOIN metabib.full_rec publisher ON (r.id = publisher.record AND publisher.tag = '260' AND publisher.subfield = 'b') + LEFT JOIN metabib.full_rec pubdate ON (r.id = pubdate.record AND pubdate.tag = '260' AND pubdate.subfield = 'c') + LEFT JOIN metabib.full_rec isbn ON (r.id = isbn.record AND isbn.tag IN ('024', '020') AND isbn.subfield IN ('a','z')) + LEFT JOIN metabib.full_rec issn ON (r.id = issn.record AND issn.tag = '022' AND issn.subfield = 'a') + WHERE r.deleted IS FALSE + GROUP BY 1,2,3,4,5,6,7,8,9; + CREATE OR REPLACE VIEW reporter.demographic AS SELECT u.id, u.dob,