code: func (hg *Histogram) mergeBuckets(bucketIdx int) {
  	curBuck := 0
  	c := chunk.NewChunkWithCapacity([]*types.FieldType{hg.Tp}, bucketIdx)
  	for i := 0; i+1 <= bucketIdx; i += 2 {
  		hg.Buckets[curBuck] = hg.Buckets[i+1]
  		c.AppendDatum(0, hg.GetLower(i))
  		c.AppendDatum(0, hg.GetUpper(i+1))
  		curBuck++
  	}
  	if bucketIdx%2 == 0 {
  		hg.Buckets[curBuck] = hg.Buckets[bucketIdx]
  		c.AppendDatum(0, hg.GetLower(bucketIdx))
  		c.AppendDatum(0, hg.GetUpper(bucketIdx))
  		curBuck++
  	}
  	hg.Bounds = c
  	hg.Buckets = hg.Buckets[:curBuck]
  	return
  }
docs: // mergeBuckets is used to Merge every two neighbor buckets.