def execute(query, query_options = {})
      raise ConnectionError.new("Connection closed") unless open?

      handle = send_query(query, query_options)
      check_result(handle)
      Cursor.new(handle, @service)
    end
def execute(query, query_options = {})
      raise ConnectionError.new("Connection closed") unless open?

      handle = send_query(query, query_options)
      check_result(handle)
      Cursor.new(handle, @service)
    end
Perform a query and return a cursor for iterating over the results.
 @param [String] query the query you want to run
 @param [Hash] query_options the options to set user and configuration
   except for :user, see TImpalaQueryOptions in ImpalaService.thrift
 @option query_options [String] :user the user runs the query
 @return [Cursor] a cursor for the result rows