Source code for neosqlite.collection.expr_evaluator.python_evaluators
"""Python evaluation methods for NeoSQLite $expr operator.
Provides PythonEvaluatorsMixin, composed from domain-specific mixins, as the
fallback when SQL evaluation is not possible or the kill switch is activated.
"""
from __future__ import annotations
from .array_ops import ArrayPythonMixin
from .core import CorePythonMixin
from .date_ops import DatePythonMixin
from .math_ops import MathPythonMixin
from .object_ops import ObjectPythonMixin
from .string_ops import StringPythonMixin
from .type_ops import TypePythonMixin
__all__ = ["PythonEvaluatorsMixin"]
[docs]
class PythonEvaluatorsMixin(
MathPythonMixin,
ArrayPythonMixin,
StringPythonMixin,
DatePythonMixin,
ObjectPythonMixin,
TypePythonMixin,
CorePythonMixin,
):
"""
Mixin class providing Python evaluation methods for $expr expressions.
This mixin provides fallback evaluation capabilities when SQL-based
evaluation (Tier 1 and Tier 2) is not possible or when the kill switch
is activated.
"""
_log2_warned: bool