On Tue, 31 Mar 2020 at 17:28, Amit Kapila <[email protected]> wrote: > > On Mon, Mar 30, 2020 at 8:30 AM Mahendra Singh Thalor > <[email protected]> wrote: > > > > > > > 2077 if ((shared_balance >= VacuumCostLimit) && > > > > > >>> CID ...: Incorrect expression (UNINTENDED_INTEGER_DIVISION) > > > > > >>> Dividing integer expressions "VacuumCostLimit" and > > > > > >>> "nworkers", and then converting the integer quotient to type > > > > > >>> "double". Any remainder, or fractional part of the quotient, is > > > > > >>> ignored. > > > > > 2078 (VacuumCostBalanceLocal > 0.5 * > > > > > (VacuumCostLimit / nworkers))) > > > > > 2079 { > > > > > 2080 /* Compute sleep time based on the local cost > > > > > balance */ > > > > > 2081 msec = VacuumCostDelay * VacuumCostBalanceLocal > > > > > / VacuumCostLimit; > > > > > 2082 > > > > > pg_atomic_sub_fetch_u32(VacuumSharedCostBalance, > > > > > VacuumCostBalanceLocal); > > > > > 2083 VacuumCostBalanceLocal = 0; > > > > > > > > Which seems like a fair enough complaint? > > > > > > > > > > I'll look into it. > > > > > > > Hi, > > Attaching patch to fix this but I don't have coverity setup so I > > haven't verified fix. > > > > - (VacuumCostBalanceLocal > 0.5 * (VacuumCostLimit / nworkers))) > + (VacuumCostBalanceLocal > (int) (0.5 * ((double) VacuumCostLimit / > nworkers)))) > { > > I think typecasting to double should be enough to fix this coverity error.
I also think same so attaching updated patch. -- Thanks and Regards Mahendra Singh Thalor EnterpriseDB: http://www.enterprisedb.com
v002-Fix-warning-in-compute_parallel_delay-for-Coverity.patch
Description: Binary data
