def __init__(self, primary_db, cursor_list): BaseCursor.__init__(self) self._cur_list = cursor_list self._join = None self._db = primary_db #if context._trans is not None: context._trans._cursors.append(self)
def __init__(self, primary_db, cursor_list, txn=None): BaseCursor.__init__(self, None, txn) self._cur_list = cursor_list self._join = None self._is_set = True self._db = primary_db self._is_natural = True for cur in self._cur_list: self._is_natural = (cur._value != None) and self._is_natural self._is_set = cur._is_set and self._is_set if self._is_set: if self._is_natural: self._join = self._db.join([c._cursor for c in self._cur_list])
def reverse(self): BaseCursor.reverse(self) if self._is_set: if self._reversed: self._get_flag = db.DB_PREV if self._value: # equality self._cursor.get(db.DB_NEXT_NODUP) self._cursor.get(db.DB_PREV) else: # range if self._range[1] != None: self._cursor.set_range(self._range[1]) self._cursor.get(db.DB_PREV) else: self._cursor.get(db.DB_LAST) else: self._get_flag = db.DB_NEXT if self._value: # equality self._cursor.set(self._value) else: # range self._cursor.set_range(self._range[0])
def __init__(self, db_, name): BaseCursor.__init__(self) self.db = db_ self.name = name self._get_cursor() self._get_flag = db.DB_NEXT
def reverse(self): BaseCursor.reverse(self) if self._reversed: self._get_flag = db.DB_PREV else: self._get_flag = db.DB_NEXT
def set_range(self, v1, v2): BaseCursor.set_range(self, v1, v2) self._is_set = bool(self._cursor.set_range(self._range[0]))
def set(self, v): BaseCursor.set(self, v) self._is_set = bool(self._cursor.set(self._value))
def __init__(self, index, txn=None): BaseCursor.__init__(self, index, txn) self._cursor = self._index.db.cursor(txn, db.DB_READ_COMMITTED) self._is_set = False self._get_flag = db.DB_NEXT