class_docstr: This class stores initial and intermediate params
  between different steps of query execution. And it is also
  creates a separate instance of ExecuteCommands to execute the current
  query step.
  
  IMPORTANT: A public API of this class is a contract.
  And there are at least 2 classes strongly depend on it:
      ExecuctorClient
      ExecutorService.
  These classes do the same work as Executor when
  MindsDB works in 'modularity' mode.
  Thus please make sure that IF you change the API,
  you must update the API of these two classes as well!
class_docstr_tok: ["This","class","stores","initial","and","intermediate","params","between","different","steps","of","query","execution",".","And","it","is","also","creates","a","separate","instance","of","ExecuteCommands","to","execute","the","current","query","step",".","IMPORTANT",":","A","public","API","of","this","class","is","a","contract",".","And","there","are","at","least","2","classes","strongly","depend","on","it",":","ExecuctorClient","ExecutorService",".","These","classes","do","the","same","work","as","Executor","when","MindsDB","works","in","'modularity","'","mode",".","Thus","please","make","sure","that","IF","you","change","the","API",",","you","must","update","the","API","of","these","two","classes","as","well","!"]
code: def stmt_execute(self, param_values):
      if self.is_executed:
          return
  
      # fill params
      self.query = planner_utils.fill_query_params(
          self.query, param_values
      )
  
      # execute query
      self.do_execute()
  
file_path: mindsdb/mindsdb/api/mysql/mysql_proxy/executor/mysql_executor.py
imports: from mindsdb_sql import parse_sql
  from mindsdb_sql.planner import utils
  import mindsdb.utilities.profiler
  from mindsdb.api.executor import Column, SQLQuery
  from mindsdb.api.executor.command_executor import ExecuteCommands
  from mindsdb.api.mysql.mysql_proxy.utilities import ErSqlSyntaxError
  from mindsdb.utilities import log
label_desc: Use image node_id 4 for calling the Executor obj's underlying member method code with example usage: obj.stmt_execute(param_values) without return types