function qa_recalc_stage_length($operation)
{
    switch ($operation) {
        case 'doreindexcontent_pagereindex':
            $length = qa_db_count_pages();
            break;
        case 'doreindexcontent_postreindex':
            $length = qa_opt('cache_qcount') + qa_opt('cache_acount') + qa_opt('cache_ccount');
            break;
        case 'doreindexposts_wordcount':
            $length = qa_db_count_words();
            break;
        case 'dorecalcpoints_recalc':
            $length = qa_opt('cache_userpointscount');
            break;
        case 'dorecountposts_votecount':
        case 'dorecountposts_acount':
        case 'dorecalccategories_postupdate':
            $length = qa_db_count_posts();
            break;
        case 'dorefillevents_refill':
            $length = qa_opt('cache_qcount') + qa_db_count_posts('Q_HIDDEN');
            break;
        case 'dorecalccategories_recount':
        case 'dorecalccategories_backpaths':
            $length = qa_db_count_categories();
            break;
        case 'dodeletehidden_comments':
            $length = count(qa_db_posts_get_for_deleting('C'));
            break;
        case 'dodeletehidden_answers':
            $length = count(qa_db_posts_get_for_deleting('A'));
            break;
        case 'dodeletehidden_questions':
            $length = count(qa_db_posts_get_for_deleting('Q'));
            break;
        case 'doblobstodisk_move':
            $length = qa_db_count_blobs_in_db();
            break;
        case 'doblobstodb_move':
            $length = qa_db_count_blobs_on_disk();
            break;
        default:
            $length = 0;
            break;
    }
    return $length;
}
function qa_recalc_stage_length($operation)
{
    switch ($operation) {
        case 'doreindexposts_reindex':
            $length = qa_opt('cache_qcount') + qa_opt('cache_acount') + qa_opt('cache_ccount');
            break;
        case 'doreindexposts_wordcount':
            $length = qa_db_count_words();
            break;
        case 'dorecalcpoints_recalc':
            $length = qa_opt('cache_userpointscount');
            break;
        case 'dorecountposts_recount':
        case 'dorecalccategories_postupdate':
            $length = qa_db_count_posts();
            break;
        case 'dorecalccategories_recount':
        case 'dorecalccategories_backpaths':
            $length = qa_db_count_categories();
            break;
        case 'dodeletehidden_comments':
            $length = count(qa_db_posts_get_for_deleting('C'));
            break;
        case 'dodeletehidden_answers':
            $length = count(qa_db_posts_get_for_deleting('A'));
            break;
        case 'dodeletehidden_questions':
            $length = count(qa_db_posts_get_for_deleting('Q'));
            break;
        default:
            $length = 0;
            break;
    }
    return $length;
}