Skip to content
Snippets Groups Projects
Commit 7b19a479 authored by Cam Saül's avatar Cam Saül Committed by GitHub
Browse files

Merge pull request #4261 from swisscom-bigdata/timefilterfix

fix #3781
parents b4d0f364 5c80560d
No related branches found
No related tags found
No related merge requests found
......@@ -57,8 +57,8 @@
Field (->rvalue [this] (:field-name this))
DateTimeField (->rvalue [this] (->rvalue (:field this)))
Value (->rvalue [this] (:value this))
DateTimeValue (->rvalue [{{unit :unit} :field, value :value}] (u/date->iso-8601 (u/date-trunc-or-extract unit value (get-timezone-id))))
RelativeDateTimeValue (->rvalue [{:keys [unit amount]}] (u/date->iso-8601 (u/date-trunc-or-extract unit (u/relative-date unit amount) (get-timezone-id)))))
DateTimeValue (->rvalue [{{unit :unit} :field, value :value}] (u/date->iso-8601 (u/date-trunc unit value (get-timezone-id))))
RelativeDateTimeValue (->rvalue [{:keys [unit amount]}] (u/date->iso-8601 (u/date-trunc unit (u/relative-date unit amount) (get-timezone-id)))))
(defprotocol ^:private IDimensionOrMetric
(^:private dimension-or-metric? [this]
......
......@@ -109,7 +109,7 @@
(relative-datetime -31 :day)"
([n] (s/validate (s/eq :current) (normalize-token n))
(relative-datetime 0 nil))
([n :- s/Int, unit] (i/map->RelativeDatetime {:amount n, :unit (if (zero? n)
([n :- s/Int, unit] (i/map->RelativeDatetime {:amount n, :unit (if (nil? unit)
:day ; give :unit a default value so we can simplify the schema a bit and require a :unit
(normalize-token unit))})))
......@@ -307,7 +307,7 @@
:next (recur f 1 unit))
(let [f (datetime-field f unit)]
(cond
(core/= n 0) (= f (value f (relative-datetime :current)))
(core/= n 0) (= f (value f (relative-datetime 0 unit)))
(core/= n -1) (= f (value f (relative-datetime -1 unit)))
(core/= n 1) (= f (value f (relative-datetime 1 unit)))
(core/< n -1) (between f (value f (relative-datetime n unit))
......
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