Commit 5c1f5c85 authored by Hanno Schlichting's avatar Hanno Schlichting

Merged c106786 from 2.12 branch

parent 96e44cde
......@@ -316,26 +316,41 @@ class DateRangeIndex(UnIndex):
set = self._until_only.get( until, None )
if set is None:
set = self._until_only[ until ] = IISet() # XXX: Store an int?
self._until_only[ until ] = documentId
else:
if isinstance(set, int):
set = self._until_only[ until ] = IISet((set, documentId))
else:
set.insert( documentId )
elif until is None:
set = self._since_only.get( since, None )
if set is None:
set = self._since_only[ since ] = IISet() # XXX: Store an int?
self._since_only[ since ] = documentId
else:
if isinstance(set, int):
set = self._since_only[ since ] = IISet((set, documentId))
else:
set.insert( documentId )
else:
set = self._since.get( since, None )
if set is None:
set = self._since[ since ] = IISet() # XXX: Store an int?
self._since[ since ] = documentId
else:
if isinstance(set, int):
set = self._since[ since ] = IISet((set, documentId))
else:
set.insert( documentId )
set = self._until.get( until, None )
if set is None:
set = self._until[ until ] = IISet() # XXX: Store an int?
self._until[ until ] = documentId
else:
if isinstance(set, int):
set = self._until[ until ] = IISet((set, documentId))
else:
set.insert( documentId )
def _removeForwardIndexEntry( self, since, until, documentId ):
......@@ -352,6 +367,9 @@ class DateRangeIndex(UnIndex):
set = self._until_only.get( until, None )
if set is not None:
if isinstance(set, int):
del self._until_only[until]
else:
set.remove( documentId )
if not set:
......@@ -362,6 +380,9 @@ class DateRangeIndex(UnIndex):
set = self._since_only.get( since, None )
if set is not None:
if isinstance(set, int):
del self._since_only[ since ]
else:
set.remove( documentId )
if not set:
......@@ -371,6 +392,10 @@ class DateRangeIndex(UnIndex):
set = self._since.get( since, None )
if set is not None:
if isinstance(set, int):
del self._since[ since ]
else:
set.remove( documentId )
if not set:
......@@ -378,6 +403,10 @@ class DateRangeIndex(UnIndex):
set = self._until.get( until, None )
if set is not None:
if isinstance(set, int):
del self._until[ until ]
else:
set.remove( documentId )
if not set:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment