code: func EncodeValue(sc *stmtctx.StatementContext, raw types.Datum) ([]byte, error) {
  	var v types.Datum
  	err := flatten(sc, raw, &v)
  	if err != nil {
  		return nil, errors.Trace(err)
  	}
  	b, err := codec.EncodeValue(sc, nil, v)
  	return b, errors.Trace(err)
  }
docs: // EncodeValue encodes a go value to bytes.