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