docstr: Executes a SQL query.
  
  Args:
      sql_query (str): The SQL query to be executed
  
  Returns:
      EvaDBQuery: The EvaDBQuery object.
  
  Examples:
      >>> cursor.query("DROP FUNCTION IF EXISTS SentenceFeatureExtractor;")
      >>> cursor.query('SELECT * FROM sample_table;').df()
         col1  col2
      0     1     2
      1     3     4
      2     5     6
docstr_tok: ["Executes","a","SQL","query",".","Args",":","sql_query","(","str",")",":","The","SQL","query","to","be","executed","Returns",":","EvaDBQuery",":","The","EvaDBQuery","object",".","Examples",":",">",">",">","cursor.query","(","``","DROP","FUNCTION","IF","EXISTS","SentenceFeatureExtractor",";","''",")",">",">",">","cursor.query","(","'SELECT","*","FROM","sample_table",";","'",")",".df","(",")","col1","col2","0","1","2","1","3","4","2","5","6"]
code: def query(self, sql_query: str) -> EvaDBQuery:
      """
      Executes a SQL query.
  
      Args:
          sql_query (str): The SQL query to be executed
  
      Returns:
          EvaDBQuery: The EvaDBQuery object.
  
      Examples:
          >>> cursor.query("DROP FUNCTION IF EXISTS SentenceFeatureExtractor;")
          >>> cursor.query('SELECT * FROM sample_table;').df()
             col1  col2
          0     1     2
          1     3     4
          2     5     6
      """
      stmt = parse_query(sql_query)
      return EvaDBQuery(self._evadb, stmt)
  
imports: import asyncio
  import multiprocessing
  import pandas
  from evadb.configuration.constants import EvaDB_DATABASE_DIR
  from evadb.database import EvaDBDatabase, init_evadb_instance
  from evadb.expression.tuple_value_expression import TupleValueExpression
  from evadb.functions.function_bootstrap_queries import init_builtin_functions
  from evadb.interfaces.relational.relation import EvaDBQuery
  from evadb.interfaces.relational.utils import try_binding
  from evadb.models.server.response import Response
  from evadb.models.storage.batch import Batch
  from evadb.parser.alias import Alias
  from evadb.parser.select_statement import SelectStatement
  from evadb.parser.utils import parse_create_function, parse_create_table, parse_create_vector_index, parse_drop_function, parse_drop_index, parse_drop_table, parse_explain, parse_insert, parse_load, parse_query, parse_rename, parse_show, parse_table_clause
  from evadb.server.command_handler import execute_statement
  from evadb.utils.generic_utils import find_nearest_word, is_ray_enabled_and_installed
  from evadb.utils.job_scheduler import JobScheduler
  from evadb.utils.logging_manager import logger
label_desc: Use image node_id 14 for calling the EvaDBCursor obj's underlying member method code with example usage: obj.query(sql_query) and returns: EvaDBQuery