Example #1
0
 def set_namedarg(self, arg, value):
     bm = BufManager(ffi)
     arg = bm.new_cbuf(arg)
     value = bm.new_cbuf(value)
     rc = C.lcb_n1p_namedparam(self._lp, arg, len(arg), value, len(value))
     if rc:
         raise pycbc_exc_lcb(rc)
Example #2
0
 def set_namedarg(self, arg, value):
     bm = BufManager(ffi)
     arg = bm.new_cbuf(arg)
     value = bm.new_cbuf(value)
     rc = C.lcb_n1p_namedparam(self._lp, arg, len(arg), value, len(value))
     if rc:
         raise pycbc_exc_lcb(rc)
Example #3
0
 def setoption(self, option, value):
     bm = BufManager(ffi)
     option = bm.new_cbuf(option)
     value = bm.new_cbuf(value)
     rc = C.lcb_n1p_setopt(self._lp, option, len(option), value, len(value))
     if rc:
         raise pycbc_exc_lcb(rc)
Example #4
0
 def setoption(self, option, value):
     bm = BufManager(ffi)
     option = bm.new_cbuf(option)
     value = bm.new_cbuf(value)
     rc = C.lcb_n1p_setopt(self._lp, option, len(option), value, len(value))
     if rc:
         raise pycbc_exc_lcb(rc)
Example #5
0
        def _do_schedule(parent, mres):
            bm = BufManager(ffi)
            cmd = ffi.new('lcb_CMDHTTP*')
            cmd.type = self._type
            cmd.method = method

            C._Cb_set_key(cmd, *bm.new_cbuf(path))
            cmd.body, cmd.nbody = bm.new_cbuf(post_data)
            cmd.content_type = bm.new_cstr(content_type)
            rc = C.lcb_http3(parent._lcbh, mres._cdata, cmd)
            if rc:
                raise PyCBC.exc_lcb(rc, 'Scheduling HTTP request')
Example #6
0
        def _do_schedule(parent, mres):
            bm = BufManager(ffi)
            cmd = ffi.new('lcb_CMDHTTP*')
            cmd.type = self._type
            cmd.method = method

            C._Cb_set_key(cmd, *bm.new_cbuf(path))
            cmd.body, cmd.nbody = bm.new_cbuf(post_data)
            cmd.content_type = bm.new_cstr(content_type)
            rc = C.lcb_http3(parent._lcbh, mres._cdata, cmd)
            if rc:
                raise PyCBC.exc_lcb(rc, 'Scheduling HTTP request')
    def __init__(self, parent, ddoc, view, options, _flags=0, mres=None):
        super(ViewResult, self).__init__(parent)
        self._ddoc = ddoc
        self._view = view
        self._bound_cb = ffi.callback(ROWCB_DECL, self._on_single_row)

        bm = BufManager(ffi)
        urlopts = ffi.NULL
        pypost = None
        cmd = ffi.new('lcb_CMDVIEWQUERY*')

        if options:
            in_uri, in_post = options._long_query_encoded
            # Note, encoded means URI/JSON encoded; not charset
            urlopts = bm.new_cstr(in_uri)
            if in_post and in_post != '{}':
                pypost = in_post

        C.lcb_view_query_initcmd(
            cmd, bm.new_cstr(self._ddoc), bm.new_cstr(self._view),
            urlopts, self._bound_cb)

        if pypost:
            cmd.postdata, cmd.npostdata = bm.new_cbuf(pypost)

        cmd.cmdflags |= _flags

        rc = C.lcb_view_query(self._instance, mres._cdata, cmd)
        if rc:
            raise pycbc_exc_lcb(rc)
Example #8
0
    def _schedule(self, parent, mres):
        bm = BufManager(ffi)
        urlopts = ffi.NULL
        pypost = None
        cmd = self._c_command

        if self._options:
            in_uri, in_post = self._options._long_query_encoded
            # Note, encoded means URI/JSON encoded; not charset
            urlopts = bm.new_cstr(in_uri)
            if in_post and in_post != '{}':
                pypost = in_post

        C.lcb_view_query_initcmd(
            cmd, bm.new_cstr(self._ddoc), bm.new_cstr(self._view),
            urlopts, self._bound_cb)

        if pypost:
            cmd.postdata, cmd.npostdata = bm.new_cbuf(pypost)

        if self._include_docs:
            cmd.cmdflags |= C.LCB_CMDVIEWQUERY_F_INCLUDE_DOCS

        self._c_command.handle = self._c_handle

        self._parent = parent
        rc = C.lcb_view_query(parent._lcbh, mres._cdata, self._c_command)
        if rc:
            raise pycbc_exc_lcb(rc)
Example #9
0
    def _schedule(self, parent, mres):
        bm = BufManager(ffi)
        urlopts = ffi.NULL
        pypost = None
        cmd = self._c_command

        if self._options:
            in_uri, in_post = self._options._long_query_encoded
            # Note, encoded means URI/JSON encoded; not charset
            urlopts = bm.new_cstr(in_uri)
            if in_post and in_post != '{}':
                pypost = in_post

        C.lcb_view_query_initcmd(cmd, bm.new_cstr(self._ddoc),
                                 bm.new_cstr(self._view), urlopts,
                                 self._bound_cb)

        if pypost:
            cmd.postdata, cmd.npostdata = bm.new_cbuf(pypost)

        if self._include_docs:
            cmd.cmdflags |= C.LCB_CMDVIEWQUERY_F_INCLUDE_DOCS

        self._c_command.handle = self._c_handle

        self._parent = parent
        rc = C.lcb_view_query(parent._lcbh, mres._cdata, self._c_command)
        if rc:
            raise pycbc_exc_lcb(rc)
Example #10
0
 def _vbmap(self, key):
     bm = BufManager(ffi)
     info_obj = ffi.new('lcb_cntl_vbinfo_t*')
     info_obj.v.v0.key, info_obj.v.v0.nkey = bm.new_cbuf(key)
     rc = C.lcb_cntl(self._lcbh, C.LCB_CNTL_GET, C.LCB_CNTL_VBMAP, info_obj)
     if rc:
         raise pycbc_exc_lcb(rc)
     return info_obj.v.v0.vbucket, info_obj.v.v0.server_index
Example #11
0
    def __run_stat(self, k, mres):
        bm = BufManager(ffi)
        if k:
            if not isinstance(k, basestring):
                raise pycbc_exc_args('Stats arguments must be strings only!')
            c_key, c_len = bm.new_cbuf(k)
        else:
            c_key, c_len = ffi.NULL, 0

        C._Cb_set_key(self.c_command, c_key, c_len)
        rc = C.lcb_stats3(self.instance, mres._cdata, self.c_command)
        if rc:
            raise pycbc_exc_lcb(rc)
    def __run_stat(self, k, mres):
        bm = BufManager(ffi)
        if k:
            if not isinstance(k, basestring):
                raise pycbc_exc_args('Stats arguments must be strings only!')
            c_key, c_len = bm.new_cbuf(k)
        else:
            c_key, c_len = ffi.NULL, 0

        C._Cb_set_key(self.c_command, c_key, c_len)
        rc = C.lcb_stats3(self.instance, mres._cdata, self.c_command)
        if rc:
            raise pycbc_exc_lcb(rc)
Example #13
0
    def __init__(self, parent, params, prepare, mres=None):
        super(N1qlResult, self).__init__(parent)
        self._bound_cb = ffi.callback(
            'void(lcb_t,int,lcb_RESPN1QL*)', self._on_single_row)
        bm = BufManager(ffi)

        cmd = ffi.new('lcb_CMDN1QL*')
        cmd.query, cmd.nquery = bm.new_cbuf(params)
        cmd.callback = self._bound_cb
        if prepare:
            cmd.cmdflags |= C.LCB_CMDN1QL_F_PREPCACHE
        rc = C.lcb_n1ql_query(parent._lcbh, mres._cdata, cmd)
        if rc:
            raise pycbc_exc_lcb(rc)
Example #14
0
 def add_posarg(self, arg):
     bm = BufManager(ffi)
     arg = bm.new_cbuf(arg)
     rc = C.lcb_n1p_posparam(self._lp, arg, len(arg))
     if rc:
         raise pycbc_exc_lcb(rc)
Example #15
0
 def add_posarg(self, arg):
     bm = BufManager(ffi)
     arg = bm.new_cbuf(arg)
     rc = C.lcb_n1p_posparam(self._lp, arg, len(arg))
     if rc:
         raise pycbc_exc_lcb(rc)
Example #16
0
 def setquery(self, query=None, type=C.LCB_N1P_QUERY_STATEMENT):
     bm = BufManager(ffi)
     query = bm.new_cbuf(query)
     rc = C.lcb_n1p_setquery(self._lp, bm.new_cstr(query), len(query), type)
     if rc:
         raise pycbc_exc_lcb(rc)
Example #17
0
 def setquery(self, query=None, type=C.LCB_N1P_QUERY_STATEMENT):
     bm = BufManager(ffi)
     query = bm.new_cbuf(query)
     rc = C.lcb_n1p_setquery(self._lp, bm.new_cstr(query), len(query), type)
     if rc:
         raise pycbc_exc_lcb(rc)