41 lines
1.3 KiB
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)
|
|
}
|
|
}
|