[open-ils-commits] r16264 - trunk/Open-ILS/src/perlmods/OpenILS/Application/Search (miker)
svn at svn.open-ils.org
svn at svn.open-ils.org
Fri Apr 16 20:31:57 EDT 2010
Author: miker
Date: 2010-04-16 20:31:55 -0400 (Fri, 16 Apr 2010)
New Revision: 16264
Modified:
trunk/Open-ILS/src/perlmods/OpenILS/Application/Search/Biblio.pm
Log:
count record and metarecord facets differently
Modified: trunk/Open-ILS/src/perlmods/OpenILS/Application/Search/Biblio.pm
===================================================================
--- trunk/Open-ILS/src/perlmods/OpenILS/Application/Search/Biblio.pm 2010-04-17 00:05:46 UTC (rev 16263)
+++ trunk/Open-ILS/src/perlmods/OpenILS/Application/Search/Biblio.pm 2010-04-17 00:31:55 UTC (rev 16264)
@@ -1226,37 +1226,37 @@
#
# select cmf.id,
# mfae.value,
- # count(distinct mfae.source)
+ # count(distinct mmrsm.appropriate-id-field )
# from metabib.facet_entry mfae
# join config.metabib_field cmf on (mfae.field = cmf.id)
+ # join metabib.metarecord_sourc_map mmrsm on (mfae.source = mmrsm.source)
# where cmf.facet_field
- # and mfae.source in IDLIST
+ # and mmrsm.appropriate-id-field in IDLIST
# group by 1,2;
- if ($metabib) {
- $results = {
- select => { mmrsm => [ 'source' ] },
- from => 'mmrsm',
- where => { metarecord => $results }
- };
- }
-
+ my $count_field = $metabib ? 'metarecord' : 'source';
my $facets = $U->cstorereq( "open-ils.cstore.json_query.atomic",
{ select => {
cmf => [ 'id' ],
- mfae => [
- 'value',
- {
- transform => 'count',
- distinct => 1,
- column => 'source',
- alias => 'count',
- aggregate => 1
- }
- ]
+ mfae => [ 'value' ],
+ mmrsm => [{
+ transform => 'count',
+ distinct => 1,
+ column => $count_field,
+ alias => 'count',
+ aggregate => 1
+ }]
},
- from => { mfae => 'cmf' },
- where => { '+cmf' => 'facet_field', '+mfae' => { source => { in => $results } } }
+ from => {
+ mfae => {
+ cmf => { field => 'id', fkey => 'field' },
+ mmrsm => { field => 'source', fkey => 'source' }
+ }
+ },
+ where => {
+ '+cmf' => 'facet_field',
+ '+mmrsm' => { $count_field => $results }
+ }
}
);
More information about the open-ils-commits
mailing list