code: func (ran *Range) PrefixEqualLen(sc *stmtctx.StatementContext) (int, error) {
  	// Here, len(ran.LowVal) always equal to len(ran.HighVal)
  	for i := 0; i < len(ran.LowVal); i++ {
  		cmp, err := ran.LowVal[i].CompareDatum(sc, &ran.HighVal[i])
  		if err != nil {
  			return 0, errors.Trace(err)
  		}
  		if cmp != 0 {
  			return i, nil
  		}
  	}
  	return len(ran.LowVal), nil
  }
docs: // PrefixEqualLen tells you how long the prefix of the range is a point.
  // e.g. If this range is (1 2 3, 1 2 +inf), then the return value is 2.