Files
tidb/executor/aggfuncs/func_varpop_test.go

41 lines
1.3 KiB
Go

package aggfuncs_test
import (
. "github.com/pingcap/check"
"github.com/pingcap/parser/ast"
"github.com/pingcap/parser/mysql"
"github.com/pingcap/tidb/executor/aggfuncs"
"github.com/pingcap/tidb/types"
"github.com/pingcap/tidb/util/set"
)
func (s *testSuite) TestMergePartialResult4Varpop(c *C) {
tests := []aggTest{
buildAggTester(ast.AggFuncVarPop, mysql.TypeDouble, 5, types.NewFloat64Datum(float64(2)), types.NewFloat64Datum(float64(2)/float64(3)), types.NewFloat64Datum(float64(59)/float64(8)-float64(19*19)/float64(8*8))),
}
for _, test := range tests {
s.testMergePartialResult(c, test)
}
}
func (s *testSuite) TestVarpop(c *C) {
tests := []aggTest{
buildAggTester(ast.AggFuncVarPop, mysql.TypeDouble, 5, nil, types.NewFloat64Datum(float64(2))),
}
for _, test := range tests {
s.testAggFunc(c, test)
}
}
func (s *testSuite) TestMemVarpop(c *C) {
tests := []aggMemTest{
buildAggMemTester(ast.AggFuncVarPop, mysql.TypeDouble, 5,
aggfuncs.DefPartialResult4VarPopFloat64Size, defaultUpdateMemDeltaGens, false),
buildAggMemTester(ast.AggFuncVarPop, mysql.TypeDouble, 5,
aggfuncs.DefPartialResult4VarPopDistinctFloat64Size+set.DefFloat64SetBucketMemoryUsage, distinctUpdateMemDeltaGens, true),
}
for _, test := range tests {
s.testAggMemFunc(c, test)
}
}