| 2415 | | my $param_searches = OpenSRF::Utils::JSON->perl2JSON( \%stored_proc_search_args ); $param_searches =~ s/\$//go; $param_searches = '$$'.$param_searches.'$$'; |
| 2416 | | my $param_statuses = '$${' . join(',', map { s/\$//go; $_ } @statuses) . '}$$'; |
| 2417 | | my $param_audience = '$${' . join(',', map { s/\$//go; $_ } @aud) . '}$$'; |
| 2418 | | my $param_language = '$${' . join(',', map { s/\$//go; $_ } @lang) . '}$$'; |
| 2419 | | my $param_lit_form = '$${' . join(',', map { s/\$//go; $_ } @lit_form) . '}$$'; |
| 2420 | | my $param_types = '$${' . join(',', map { s/\$//go; $_ } @types) . '}$$'; |
| 2421 | | my $param_forms = '$${' . join(',', map { s/\$//go; $_ } @forms) . '}$$'; |
| 2422 | | my $param_vformats = '$${' . join(',', map { s/\$//go; $_ } @vformats) . '}$$'; |
| | 2415 | my $param_searches = OpenSRF::Utils::JSON->perl2JSON( \%stored_proc_search_args ); $param_searches =~ s/\$//go; $param_searches = '$$'.$param_searches.'$$'; |
| | 2416 | my $param_statuses = '$${' . join(',', map { s/\$//go; $_ } @statuses) . '}$$'; |
| | 2417 | my $param_audience = '$${' . join(',', map { s/\$//go; $_ } @aud) . '}$$'; |
| | 2418 | my $param_language = '$${' . join(',', map { s/\$//go; $_ } @lang) . '}$$'; |
| | 2419 | my $param_lit_form = '$${' . join(',', map { s/\$//go; $_ } @lit_form) . '}$$'; |
| | 2420 | my $param_types = '$${' . join(',', map { s/\$//go; $_ } @types) . '}$$'; |
| | 2421 | my $param_forms = '$${' . join(',', map { s/\$//go; $_ } @forms) . '}$$'; |
| | 2422 | my $param_vformats = '$${' . join(',', map { s/\$//go; $_ } @vformats) . '}$$'; |
| 2429 | | my $param_rel_limit = $args{core_limit}; $param_rel_limit ||= 'NULL'; |
| 2430 | | my $param_chk_limit = $args{check_limit}; $param_chk_limit ||= 'NULL'; |
| 2431 | | my $param_skip_chk = $args{skip_check}; $param_skip_chk ||= 'NULL'; |
| 2432 | | |
| 2433 | | my $sth = metabib::metarecord_source_map->db_Main->prepare(<<" SQL"); |
| | 2429 | my $param_rel_limit = $args{core_limit}; $param_rel_limit ||= 'NULL'; |
| | 2430 | my $param_chk_limit = $args{check_limit}; $param_chk_limit ||= 'NULL'; |
| | 2431 | my $param_skip_chk = $args{skip_check}; $param_skip_chk ||= 'NULL'; |
| | 2432 | |
| | 2433 | my $sth = metabib::metarecord_source_map->db_Main->prepare(<<" SQL"); |
| 2456 | | SQL |
| 2457 | | |
| 2458 | | $sth->execute; |
| 2459 | | |
| 2460 | | my $recs = $sth->fetchall_arrayref({}); |
| 2461 | | my $summary_row = pop @$recs; |
| 2462 | | |
| 2463 | | my $total = $$summary_row{total}; |
| 2464 | | my $checked = $$summary_row{checked}; |
| 2465 | | my $visible = $$summary_row{visible}; |
| 2466 | | my $deleted = $$summary_row{deleted}; |
| 2467 | | my $excluded = $$summary_row{excluded}; |
| 2468 | | |
| 2469 | | my $estimate = $visible; |
| 2470 | | if ( $total > $checked && $checked ) { |
| 2471 | | my $deleted_ratio = $deleted / $checked; |
| 2472 | | my $exclution_ratio = $excluded / $checked; |
| 2473 | | my $delete_adjusted_total = $total - ( $total * $deleted_ratio ); |
| 2474 | | |
| 2475 | | $estimate = $$summary_row{estimated_hit_count} = int($delete_adjusted_total - ( $delete_adjusted_total * $exclution_ratio )); |
| 2476 | | } |
| 2477 | | |
| 2478 | | delete $$summary_row{id}; |
| 2479 | | delete $$summary_row{rel}; |
| 2480 | | delete $$summary_row{record}; |
| 2481 | | |
| 2482 | | $client->respond( $summary_row ); |
| | 2456 | SQL |
| | 2457 | |
| | 2458 | $sth->execute; |
| | 2459 | |
| | 2460 | my $recs = $sth->fetchall_arrayref({}); |
| | 2461 | my $summary_row = pop @$recs; |
| | 2462 | |
| | 2463 | my $total = $$summary_row{total}; |
| | 2464 | my $checked = $$summary_row{checked}; |
| | 2465 | my $visible = $$summary_row{visible}; |
| | 2466 | my $deleted = $$summary_row{deleted}; |
| | 2467 | my $excluded = $$summary_row{excluded}; |
| | 2468 | |
| | 2469 | my $estimate = $visible; |
| | 2470 | if ( $total > $checked && $checked ) { |
| | 2471 | my $deleted_ratio = $deleted / $checked; |
| | 2472 | my $exclution_ratio = $excluded / $checked; |
| | 2473 | my $delete_adjusted_total = $total - ( $total * $deleted_ratio ); |
| | 2474 | |
| | 2475 | $estimate = $$summary_row{estimated_hit_count} = int($delete_adjusted_total - ( $delete_adjusted_total * $exclution_ratio )); |
| | 2476 | } |
| | 2477 | |
| | 2478 | delete $$summary_row{id}; |
| | 2479 | delete $$summary_row{rel}; |
| | 2480 | delete $$summary_row{record}; |
| | 2481 | |
| | 2482 | $client->respond( $summary_row ); |