From ee5a131ccf27c88e4594061caa1f71ac393db641 Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Mon, 30 Nov 2020 13:28:50 +0100 Subject: [PATCH] date range --- djaosdb/sql2mongo/operators.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/djaosdb/sql2mongo/operators.py b/djaosdb/sql2mongo/operators.py index 12e53e6..323e772 100644 --- a/djaosdb/sql2mongo/operators.py +++ b/djaosdb/sql2mongo/operators.py @@ -241,7 +241,11 @@ class BetweenOp(_BinaryOp): def negate(self): self.is_negated = True + def to_mongo(self): + if self._lower == self._upper: + return {"type": "pov", "p": self._field, + "o": " in ", "v": self._upper, "negation": self.is_negated} if not self.is_negated: return { self._field: { @@ -483,7 +487,8 @@ class _StatementParser: op = self._token2op(prev_op, tok, statement) if not op: continue - if isinstance(op, (_InNotInOp, LikeOp, IsOp, NotOp, CmpOp)) and prev_op is not None and isinstance(prev_op, IsTrueOp): + if isinstance(op, (_InNotInOp, LikeOp, IsOp, NotOp, CmpOp, + BetweenOp)) and prev_op is not None and isinstance(prev_op, IsTrueOp): self._ops.remove(prev_op) prev_op = prev_op.lhs link_op() -- GitLab