code: func EncodeKey(sc *stmtctx.StatementContext, b []byte, v ...types.Datum) ([]byte, error) {
  	return encode(sc, b, v, true, false)
  }
docs: // EncodeKey appends the encoded values to byte slice b, returns the appended
  // slice. It guarantees the encoded value is in ascending order for comparison.
  // For Decimal type, datum must set datum's length and frac.