code: func (s *session) ExecutePreparedStmt(ctx context.Context, stmtID uint32, args ...interface{}) (sqlexec.RecordSet, error) {
  	err := checkArgs(args...)
  	if err != nil {
  		return nil, err
  	}
  
  	s.PrepareTxnCtx(ctx)
  	st, err := executor.CompileExecutePreparedStmt(s, stmtID, args...)
  	if err != nil {
  		return nil, err
  	}
  	logQuery(st.OriginText(), s.sessionVars)
  	r, err := runStmt(ctx, s, st)
  	return r, err
  }
docs: // ExecutePreparedStmt executes a prepared statement.