- feature: allow_disk_use
This commit is contained in:
parent
d033e3b133
commit
68447af127
@ -34,7 +34,6 @@ from mongoengine.queryset import transform
|
|||||||
from mongoengine.queryset.field_list import QueryFieldList
|
from mongoengine.queryset.field_list import QueryFieldList
|
||||||
from mongoengine.queryset.visitor import Q, QNode
|
from mongoengine.queryset.visitor import Q, QNode
|
||||||
|
|
||||||
|
|
||||||
__all__ = ("BaseQuerySet", "DO_NOTHING", "NULLIFY", "CASCADE", "DENY", "PULL")
|
__all__ = ("BaseQuerySet", "DO_NOTHING", "NULLIFY", "CASCADE", "DENY", "PULL")
|
||||||
|
|
||||||
# Delete rules
|
# Delete rules
|
||||||
@ -63,6 +62,7 @@ class BaseQuerySet:
|
|||||||
self._loaded_fields = QueryFieldList()
|
self._loaded_fields = QueryFieldList()
|
||||||
self._ordering = None
|
self._ordering = None
|
||||||
self._snapshot = False
|
self._snapshot = False
|
||||||
|
self._allow_disk_use = False
|
||||||
self._timeout = True
|
self._timeout = True
|
||||||
self._read_preference = None
|
self._read_preference = None
|
||||||
self._read_concern = None
|
self._read_concern = None
|
||||||
@ -798,6 +798,7 @@ class BaseQuerySet:
|
|||||||
"_loaded_fields",
|
"_loaded_fields",
|
||||||
"_ordering",
|
"_ordering",
|
||||||
"_snapshot",
|
"_snapshot",
|
||||||
|
"_allow_disk_use",
|
||||||
"_timeout",
|
"_timeout",
|
||||||
"_read_preference",
|
"_read_preference",
|
||||||
"_read_concern",
|
"_read_concern",
|
||||||
@ -1165,6 +1166,16 @@ class BaseQuerySet:
|
|||||||
queryset._snapshot = enabled
|
queryset._snapshot = enabled
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
|
def allow_disk_use(self, enabled):
|
||||||
|
"""Enable or disable the use of temporary files on disk while processing a blocking sort operation.
|
||||||
|
(To store data exceeding the 100 megabyte system memory limit)
|
||||||
|
|
||||||
|
:param enabled: wether or not temporary files on disk are used
|
||||||
|
"""
|
||||||
|
queryset = self.clone()
|
||||||
|
queryset._allow_disk_use = enabled
|
||||||
|
return queryset
|
||||||
|
|
||||||
def timeout(self, enabled):
|
def timeout(self, enabled):
|
||||||
"""Enable or disable the default mongod timeout when querying. (no_cursor_timeout option)
|
"""Enable or disable the default mongod timeout when querying. (no_cursor_timeout option)
|
||||||
|
|
||||||
@ -1604,6 +1615,9 @@ class BaseQuerySet:
|
|||||||
if not self._timeout:
|
if not self._timeout:
|
||||||
cursor_args["no_cursor_timeout"] = True
|
cursor_args["no_cursor_timeout"] = True
|
||||||
|
|
||||||
|
if self._allow_disk_use:
|
||||||
|
cursor_args["allow_disk_use"] = True
|
||||||
|
|
||||||
if self._loaded_fields:
|
if self._loaded_fields:
|
||||||
cursor_args[fields_name] = self._loaded_fields.as_dict()
|
cursor_args[fields_name] = self._loaded_fields.as_dict()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user