Commit 72532c9b authored by Laura Schlimmer's avatar Laura Schlimmer
Browse files

allow setting explicit min/max on timedomains

parent a9f77945
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@
 */
#include <fnordmetric/sql_extensions/domainconfig.h>
#include <fnordmetric/ui/continuousdomain.h>
#include <fnordmetric/ui/timedomain.h>

namespace fnordmetric {
namespace query {
@@ -34,6 +35,13 @@ void DomainConfig::setMin(const SValue& value) {
    return;
  }

  auto time_domain =
      dynamic_cast<ui::TimeDomain*>(domain_);
  if (time_domain != nullptr) {
    time_domain->setMin(value.getValue<fnordmetric::TimeType>());
    return;
  }

  RAISE(
      kRuntimeError,
      "TypeError: can't set min value for %c domain",
@@ -55,6 +63,13 @@ void DomainConfig::setMax(const SValue& value) {
    return;
  }

  auto time_domain =
      dynamic_cast<ui::TimeDomain*>(domain_);
  if (time_domain != nullptr) {
    time_domain->setMax(value.getValue<fnordmetric::TimeType>());
    return;
  }

  RAISE(
      kRuntimeError,
      "TypeError: can't set max value for %c domain",
+2 −2
Original line number Diff line number Diff line
@@ -155,12 +155,12 @@ public:
  }

  void setMin(T min) {
    min_value_ = min;
    min_value_ = static_cast<double>(min);
    padding_.first = 0.0f;
  }

  void setMax(T max) {
    max_value_ = max;
    max_value_ = static_cast<double>(max);
    padding_.second = 0.0f;
  }