code: def n1qlQueryAll(self, *args, **kwargs):
          
          if not self.connected:
              cb = lambda x: self.n1qlQueryAll(*args, **kwargs)
              return self.connect().addCallback(cb)
  
          kwargs['itercls'] = BatchedN1QLRequest
          o = super(RawBucket, self).n1ql_query(*args, **kwargs)
          o.start()
          return o._getDeferred()
docs: Execute a N1QL query, retrieving all rows.
  
          This method returns a :class:`Deferred` object which is executed
          with a :class:`~.N1QLRequest` object. The object may be iterated
          over to yield the rows in the result set.
  
          This method is similar to :meth:`~couchbase.bucket.Bucket.n1ql_query`
          in its arguments.
  
          Example::
  
              def handler(req):
                  for row in req:
                      # ... handle row
  
              d = cb.n1qlQueryAll('SELECT * from `travel-sample` WHERE city=$1`,
                              'Reno')
              d.addCallback(handler)
  
          :return: A :class:`Deferred`
  
          .. seealso:: :meth:`~couchbase.bucket.Bucket.n1ql_query`