code: func appendPoints2Ranges(sc *stmtctx.StatementContext, origin []*Range, rangePoints []point,
  	ft *types.FieldType) ([]*Range, error) {
  	var newIndexRanges []*Range
  	for i := 0; i < len(origin); i++ {
  		oRange := origin[i]
  		if !oRange.IsPoint(sc) {
  			newIndexRanges = append(newIndexRanges, oRange)
  		} else {
  			newRanges, err := appendPoints2IndexRange(sc, oRange, rangePoints, ft)
  			if err != nil {
  				return nil, errors.Trace(err)
  			}
  			newIndexRanges = append(newIndexRanges, newRanges...)
  		}
  	}
  	return newIndexRanges, nil
  }
docs: // appendPoints2Ranges appends additional column ranges for multi-column index.
  // The additional column ranges can only be appended to point ranges.
  // for example we have an index (a, b), if the condition is (a > 1 and b = 2)
  // then we can not build a conjunctive ranges for this index.