|
From: Chris W. <la...@us...> - 2001-11-01 05:25:05
|
Update of /cvsroot/openinteract/OpenInteract/OpenInteract
In directory usw-pr-cvs1:/tmp/cvs-serv12701
Modified Files:
CommonHandler.pm
Log Message:
ensure that searches returning no results work ok
Index: CommonHandler.pm
===================================================================
RCS file: /cvsroot/openinteract/OpenInteract/OpenInteract/CommonHandler.pm,v
retrieving revision 1.26
retrieving revision 1.27
diff -C2 -d -r1.26 -r1.27
*** CommonHandler.pm 2001/10/24 16:22:20 1.26
--- CommonHandler.pm 2001/11/01 05:24:57 1.27
***************
*** 80,102 ****
else {
$R->DEBUG && $R->scrib( 1, "Running search for the first time" );
! my $iterator = $class->_search_build_and_run({ is_paged => 1 });
! $results->save( $iterator );
! $R->DEBUG && $R->scrib( 1, "Search ID ($results->{search_id})" );
! $class->_search_save_id( $results->{search_id} );
}
! $params{page_number_field} = $class->MY_SEARCH_RESULTS_PAGE_FIELD;
! $params{current_page} = $apr->param( $params{page_number_field} ) || 1;
! my $hits_per_page = $class->MY_SEARCH_RESULTS_PAGE_SIZE;
! my ( $min, $max ) = $results->find_page_boundaries(
! $params{current_page}, $hits_per_page );
! $params{iterator} = $results->retrieve({ min => $min, max => $max,
! return => 'iterator' });
! $params{total_pages} = $results->find_total_page_count( $hits_per_page );
! $params{total_hits} = $results->{num_records};
! $params{search_id} = $results->{search_id};
! $params{search_results_key} = $class->MY_SEARCH_RESULTS_KEY;
! $R->DEBUG && $R->scrib( 1, "Search info: min: ($min); max: ($max)",
! "records ($results->{num_records})" );
}
--- 80,106 ----
else {
$R->DEBUG && $R->scrib( 1, "Running search for the first time" );
! my $iterator = eval { $class->_search_build_and_run({ is_paged => 1 }) };
! if ( $iterator and ! $@ ) {
! $results->save( $iterator );
! $R->DEBUG && $R->scrib( 1, "Search ID ($results->{search_id})" );
! $class->_search_save_id( $results->{search_id} );
! }
}
! if ( $results->{search_id} ) {
! $params{page_number_field} = $class->MY_SEARCH_RESULTS_PAGE_FIELD;
! $params{current_page} = $apr->param( $params{page_number_field} ) || 1;
! my $hits_per_page = $class->MY_SEARCH_RESULTS_PAGE_SIZE;
! my ( $min, $max ) = $results->find_page_boundaries(
! $params{current_page}, $hits_per_page );
! $params{iterator} = $results->retrieve({ min => $min, max => $max,
! return => 'iterator' });
! $params{total_pages} = $results->find_total_page_count( $hits_per_page );
! $params{total_hits} = $results->{num_records};
! $params{search_id} = $results->{search_id};
! $params{search_results_key} = $class->MY_SEARCH_RESULTS_KEY;
! $R->DEBUG && $R->scrib( 1, "Search info: min: ($min); max: ($max)",
! "records ($results->{num_records})" );
! }
}
***************
*** 105,109 ****
else {
! $params{iterator} = $class->_search_build_and_run;
}
--- 109,116 ----
else {
! $params{iterator} = eval { $class->_search_build_and_run };
! if ( $@ ) {
! $R->scrib( 0, "Got error from running search: $@" );
! }
}
***************
*** 183,186 ****
--- 190,194 ----
"WHERE: $where\n",
"VALUES: ", join( ',', @{ $values } ) );
+ die "Search failed ($SPOPS::Error::system_msg)\n";
}
|