<links>
<link field="editor" reltype="has_a" key="id" map="" class="au"/>
<link field="creator" reltype="has_a" key="id" map="" class="au"/>
- <link field="simple_record" reltype="might_have" key="id" map="" class="rsr"/>
+ <link field="simple_record" reltype="might_have" key="id" map="" class="rssr"/>
<link field="metarecord" reltype="might_have" key="source" map="metarecord" class="mmrsm"/>
<link field="call_numbers" reltype="has_many" key="record" map="" class="acn"/>
<link field="keyword_field_entries" reltype="has_many" key="source" map="" class="mkfe"/>
<link field="folder" reltype="has_a" key="id" map="" class="rof"/>
</links>
</class>
+ <class id="rssr" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::super_simple_record" oils_persist:tablename="reporter.super_simple_record">
+ <fields oils_persist:primary="id">
+ <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+ <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+ <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+ <field reporter:label="Record ID" name="id" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="int" />
+ <field reporter:label="Fingerprint" name="fingerprint" oils_obj:array_position="4" oils_persist:virtual="false" />
+ <field reporter:label="Overall Record Quality" name="quality" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="int"/>
+ <field reporter:label="TCN Source" name="tcn_source" oils_obj:array_position="6" oils_persist:virtual="false" />
+ <field reporter:label="TCN Value" name="tcn_value" oils_obj:array_position="7" oils_persist:virtual="false" />
+ <field reporter:label="Title Proper (normalized)" name="title" oils_obj:array_position="8" oils_persist:virtual="false" />
+ <field reporter:label="Author (normalized)" name="author" oils_obj:array_position="9" oils_persist:virtual="false" />
+ <field reporter:label="Publisher (normalized)" name="publisher" oils_obj:array_position="10" oils_persist:virtual="false" />
+ <field reporter:label="Publication Year (normalized)" name="pubdate" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="int"/>
+ <field reporter:label="ISBN" name="isbn" oils_obj:array_position="12" oils_persist:virtual="false" />
+ <field reporter:label="ISSN" name="issn" oils_obj:array_position="13" oils_persist:virtual="false" />
+ <field reporter:label="Full Bibliographic record" name="biblo_record" oils_obj:array_position="14" oils_persist:virtual="true" />
+ </fields>
+ <links>
+ <link field="biblio_record" reltype="might_have" key="id" map="" class="bre"/>
+ </links>
+ </class>
<class id="rsr" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::simple_record" oils_persist:tablename="reporter.simple_record">
<fields oils_persist:primary="id">
<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
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,