You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
Fix another 0 count error in dropValue
This commit is contained in:
committed by
Leonid Fedorov
parent
e7cab8445c
commit
680633a350
@ -218,23 +218,32 @@ mcsv1_UDAF::ReturnCode regr_r2::dropValue(mcsv1Context* context, ColumnDatum* va
|
||||
long double cxyPrev = data->cxy;
|
||||
--data->cnt;
|
||||
uint64_t cnt = data->cnt;
|
||||
if (cnt == 0)
|
||||
{
|
||||
data->avgx = 0;
|
||||
data->avgy = 0;
|
||||
data->varx = 0;
|
||||
data->vary = 0;
|
||||
data->cxy = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
long double dx = valx - avgxPrev;
|
||||
long double dy = valy - avgyPrev;
|
||||
|
||||
long double dx = valx - avgxPrev;
|
||||
long double dy = valy - avgyPrev;
|
||||
avgyPrev -= dy / cnt;
|
||||
avgxPrev -= dx / cnt;
|
||||
|
||||
avgyPrev -= dy / cnt;
|
||||
avgxPrev -= dx / cnt;
|
||||
varxPrev -= dx * (valx - avgxPrev);
|
||||
varyPrev -= dy * (valy - avgyPrev);
|
||||
|
||||
varxPrev -= dx * (valx - avgxPrev);
|
||||
varyPrev -= dy * (valy - avgyPrev);
|
||||
|
||||
cxyPrev -= dx * (valy - avgyPrev);
|
||||
|
||||
data->avgx = avgxPrev;
|
||||
data->avgy = avgyPrev;
|
||||
data->varx = varxPrev;
|
||||
data->vary = varyPrev;
|
||||
data->cxy = cxyPrev;
|
||||
cxyPrev -= dx * (valy - avgyPrev);
|
||||
|
||||
data->avgx = avgxPrev;
|
||||
data->avgy = avgyPrev;
|
||||
data->varx = varxPrev;
|
||||
data->vary = varyPrev;
|
||||
data->cxy = cxyPrev;
|
||||
}
|
||||
return mcsv1_UDAF::SUCCESS;
|
||||
}
|
||||
|
Reference in New Issue
Block a user