set an upper limit using the same value as the per-index-matchpoint search limit...
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sat, 27 Mar 2010 21:04:01 +0000 (21:04 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sat, 27 Mar 2010 21:04:01 +0000 (21:04 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@16028 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm

index ace362a..5e265e2 100644 (file)
@@ -521,6 +521,8 @@ sub toSQL {
         $between = '';
     }
 
+    my $core_limit = $self->QueryParser->core_limit || 25000;
+
     my $sql = <<SQL;
 SELECT  $key AS id,
         ARRAY_ACCUM(DISTINCT m.source) AS records,
@@ -545,6 +547,7 @@ SELECT  $key AS id,
         AND $$flat_plan{where}
   GROUP BY 1
   ORDER BY 4 $desc, 5 DESC, 3 DESC
+  LIMIT $core_limit
 SQL
 
     warn $sql if $self->QueryParser->debug;