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
Remade dropValue
This commit is contained in:
committed by
Leonid Fedorov
parent
6ffa0000da
commit
14b976991b
@ -147,20 +147,27 @@ mcsv1_UDAF::ReturnCode regr_sxy::evaluate(mcsv1Context* context, static_any::any
|
|||||||
}
|
}
|
||||||
return mcsv1_UDAF::SUCCESS;
|
return mcsv1_UDAF::SUCCESS;
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
mcsv1_UDAF::ReturnCode regr_sxy::dropValue(mcsv1Context* context, ColumnDatum* valsDropped)
|
mcsv1_UDAF::ReturnCode regr_sxy::dropValue(mcsv1Context* context, ColumnDatum* valsDropped)
|
||||||
{
|
{
|
||||||
double valy = toDouble(valsDropped[0]);
|
double valy = toDouble(valsDropped[0]);
|
||||||
double valx = toDouble(valsDropped[1]);
|
double valx = toDouble(valsDropped[1]);
|
||||||
struct regr_sxy_data* data = (struct regr_sxy_data*)context->getUserData()->data;
|
struct regr_sxy_data* data = (struct regr_sxy_data*)context->getUserData()->data;
|
||||||
|
|
||||||
data->avgy -= valy;
|
long double avgyPrev = data->avgy;
|
||||||
|
long double avgxPrev = data->avgx;
|
||||||
data->avgx -= valx;
|
long double cxyPrev = data->cxy;
|
||||||
|
|
||||||
data->cxy -= valx * valy;
|
|
||||||
--data->cnt;
|
--data->cnt;
|
||||||
|
uint64_t cnt = data->cnt;
|
||||||
|
long double dx = valx - avgxPrev;
|
||||||
|
|
||||||
|
avgyPrev -= (valy - avgyPrev) / cnt;
|
||||||
|
avgxPrev -= dx / cnt;
|
||||||
|
cxyPrev -= dx * (valy - avgyPrev);
|
||||||
|
|
||||||
|
data->avgx = avgxPrev;
|
||||||
|
data->avgy = avgyPrev;
|
||||||
|
data->cxy = cxyPrev;
|
||||||
|
|
||||||
return mcsv1_UDAF::SUCCESS;
|
return mcsv1_UDAF::SUCCESS;
|
||||||
}
|
}
|
||||||
*/
|
|
@ -70,7 +70,7 @@ class regr_sxy : public mcsv1_UDAF
|
|||||||
|
|
||||||
virtual ReturnCode evaluate(mcsv1Context* context, static_any::any& valOut);
|
virtual ReturnCode evaluate(mcsv1Context* context, static_any::any& valOut);
|
||||||
|
|
||||||
// virtual ReturnCode dropValue(mcsv1Context* context, ColumnDatum* valsDropped);
|
virtual ReturnCode dropValue(mcsv1Context* context, ColumnDatum* valsDropped);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user