def _poll_vq_single(self, dname, use_devmode, ddresp):
        """
        Initiate a view query for a view located in a design document
        :param ddresp: The design document to poll (as JSON)
        :return: True if successful, False if no views.
        """
        vname = None
        query = None
        v_mr = ddresp.get('views', {})
        v_spatial = ddresp.get('spatial', {})
        if v_mr:
            vname = single_dict_key(v_mr)
            query = Query()
        elif v_spatial:
            vname = single_dict_key(v_spatial)
            query = SpatialQuery()

        if not vname:
            return False

        query.stale = STALE_OK
        query.limit = 1

        for r in self._cb.query(dname,
                                vname,
                                use_devmode=use_devmode,
                                query=query):
            pass
        return True
Beispiel #2
0
    def _poll_vq_single(self, dname, use_devmode, ddresp):
        """
        Initiate a view query for a view located in a design document
        :param ddresp: The design document to poll (as JSON)
        :return: True if successful, False if no views.
        """
        vname = None
        query = None
        v_mr = ddresp.get('views', {})
        v_spatial = ddresp.get('spatial', {})
        if v_mr:
            vname = single_dict_key(v_mr)
            query = Query()
        elif v_spatial:
            vname = single_dict_key(v_spatial)
            query = SpatialQuery()

        if not vname:
            return False

        query.stale = STALE_OK
        query.limit = 1

        for r in self._cb.query(dname, vname, use_devmode=use_devmode,
                                query=query):
            pass
        return True
Beispiel #3
0
 def _to_fts_encodable(self):
     if len(self._sv) > 1:
         raise TypeError('Cannot use more than a single bucket with FTS')
     from couchbase._pyport import single_dict_key
     out = {}
     for vb, params in self._sv[single_dict_key(self._sv)].items():
         out['{0}/{1}'.format(vb, params[1])] = params[0]
     return out
 def lookup_in(self, keyspec, **kwargs):
     # Extract the key from the specs
     from couchbase._pyport import single_dict_key
     k = single_dict_key(keyspec)
     specs = keyspec[k]
     return self._execute_single_kv('lookup_in', k, specs, **kwargs)