Skip to content
Snippets Groups Projects
Unverified Commit 4ac96c25 authored by Ngoc Khuat's avatar Ngoc Khuat Committed by GitHub
Browse files

Fix mongo failed to parse `absolute-datetime` (#26509)

parent 8bf90c66
No related branches found
No related tags found
No related merge requests found
......@@ -325,12 +325,12 @@
(let [report-zone (t/zone-id (or (qp.timezone/report-timezone-id-if-supported :mongo)
"UTC"))
t (condp = (class t)
java.time.LocalDate t
java.time.LocalTime t
java.time.LocalDateTime t
java.time.OffsetTime (t/with-offset-same-instant t report-zone)
java.time.OffsetDateTime (t/with-offset-same-instant t report-zone)
java.time.ZonedDateTime (t/offset-date-time (t/with-zone-same-instant t report-zone)))]
java.time.LocalDate t
java.time.LocalTime t
java.time.LocalDateTime t
java.time.OffsetTime (t/offset-time t report-zone)
java.time.OffsetDateTime (t/offset-date-time t report-zone)
java.time.ZonedDateTime (t/offset-date-time t report-zone))]
(letfn [(extract [unit]
(u.date/extract t unit))
(bucket [unit]
......
......@@ -57,6 +57,22 @@
{:aggregation [[:count]]
:filter [:time-interval $datetime :last :month]})))))))))
(deftest absolute-datetime-test
(mt/test-driver :mongo
(testing "Make sure absolute-datetime are compiled correctly"
(doseq [[expected date]
[["2014-01-01" (t/local-date "2014-01-01")]
["10:00" (t/local-time "10:00:00")]
["2014-01-01T10:00" (t/local-date-time "2014-01-01T10:00")]
["03:00Z" (t/offset-time "10:00:00+07:00")]
["2014-01-01T03:00Z" (t/offset-date-time "2014-01-01T10:00+07:00")]
["2014-01-01T00:00Z" (t/zoned-date-time "2014-01-01T07:00:00+07:00[Asia/Ho_Chi_Minh]")]]]
(testing (format "with %s" (type date))
(is (= {:$expr {"$lt" ["$date-field" {:$dateFromString {:dateString expected}}]}}
(mongo.qp/compile-filter [:<
[:field "date-field"]
[:absolute-datetime date]]))))))))
(deftest no-initial-projection-test
(mt/test-driver :mongo
(testing "Don't need to create initial projections anymore (#4216)"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment