code: def _try_fetch(self, size=None):
          
          if self._query_job is None:
              raise exceptions.InterfaceError(
                  "No query results: execute() must be called before fetch."
              )
  
          is_dml = (
              self._query_job.statement_type
              and self._query_job.statement_type.upper() != "SELECT"
          )
          if is_dml:
              self._query_data = iter([])
              return
  
          if self._query_data is None:
              client = self.connection._client
              rows_iter = client.list_rows(
                  self._query_job.destination,
                  selected_fields=self._query_job._query_results.schema,
                  page_size=self.arraysize,
              )
              self._query_data = iter(rows_iter)
docs: Try to start fetching data, if not yet started.
  
          Mutates self to indicate that iteration has started.