• Fujii Masao's avatar
    pg_checksums: Fix progress reporting. · 2eb1fc8b
    Fujii Masao authored
    pg_checksums uses two counters, total size and current size,
    to calculate the progress. Previously the progress that
    pg_checksums reported could not reach 100% at the end.
    The cause of this issue was that the sizes of only pages excluding
    new ones in each file were counted as the current size
    while the size of each file is counted as the total size.
    That is, the total size of all new pages could be reported
    as the difference between the total size and current size.
    
    This commit fixes this issue by making pg_checksums count
    the sizes of all pages including new ones in each file as
    the current size.
    
    Back-patch to v12 where progress reporting was added to pg_checksums.
    
    Reported-by: Shinya Kato
    Author: Shinya Kato
    Reviewed-by: Fujii Masao
    Discussion: https://postgr.es/m/TYAPR01MB289656B1ACA0A5E7CAD07BE3C47A9@TYAPR01MB2896.jpnprd01.prod.outlook.com
    2eb1fc8b
pg_checksums.c 17.2 KB