code: def fetchall(self, query, *args):
          
          cursor = self.connection.cursor()
  
          try:
              cursor.execute(query, args)
  
              return cursor.fetchall()
          finally:
              cursor.close()
docs: Returns all results of the given query.
  
          :param query: The query to be executed as a `str`.
          :param params: A `tuple` of parameters that will be replaced for
                         placeholders in the query.
          :return: A `list` of `tuple`s with each field being one element in the
                   `tuple`.