コード例 #1
0
 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)
コード例 #2
0
ファイル: cursor.py プロジェクト: vagmits/porcupine
 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)
コード例 #3
0
    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])
コード例 #4
0
 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])
コード例 #5
0
 def __init__(self, db_, name):
     BaseCursor.__init__(self)
     self.db = db_
     self.name = name
     self._get_cursor()
     self._get_flag = db.DB_NEXT
コード例 #6
0
 def reverse(self):
     BaseCursor.reverse(self)
     if self._reversed:
         self._get_flag = db.DB_PREV
     else:
         self._get_flag = db.DB_NEXT
コード例 #7
0
ファイル: cursor.py プロジェクト: vagmits/porcupine
 def __init__(self, db_, name):
     BaseCursor.__init__(self)
     self.db = db_
     self.name = name
     self._get_cursor()
     self._get_flag = db.DB_NEXT
コード例 #8
0
ファイル: cursor.py プロジェクト: vagmits/porcupine
 def reverse(self):
     BaseCursor.reverse(self)
     if self._reversed:
         self._get_flag = db.DB_PREV
     else:
         self._get_flag = db.DB_NEXT
コード例 #9
0
 def set_range(self, v1, v2):
     BaseCursor.set_range(self, v1, v2)
     self._is_set = bool(self._cursor.set_range(self._range[0]))
コード例 #10
0
 def set(self, v):
     BaseCursor.set(self, v)
     self._is_set = bool(self._cursor.set(self._value))
コード例 #11
0
 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