code: func (p *Pool) GetChunk(fields []*types.FieldType) *Chunk {
  	chk := new(Chunk)
  	chk.capacity = p.initCap
  	chk.columns = make([]*column, len(fields))
  	for i, f := range fields {
  		switch elemLen := getFixedLen(f); elemLen {
  		case varElemLen:
  			chk.columns[i] = p.varLenColPool.Get().(*column)
  		case 4:
  			chk.columns[i] = p.fixLenColPool4.Get().(*column)
  		case 8:
  			chk.columns[i] = p.fixLenColPool8.Get().(*column)
  		case 16:
  			chk.columns[i] = p.fixLenColPool16.Get().(*column)
  		case 40:
  			chk.columns[i] = p.fixLenColPool40.Get().(*column)
  		}
  	}
  	return chk
  }
docs: // GetChunk gets a Chunk from the Pool.