From 3a5240d00e15126b7ec26b91d1ae498b9c0030d8 Mon Sep 17 00:00:00 2001 From: Joan Pujol Date: Sat, 12 Dec 2020 20:32:24 +0100 Subject: [PATCH] [influxdb] Fixes InfluxDB 2.0 issues #9247 and #8960 (#9258) Signed-off-by: Joan Pujol --- .../Influx2FilterCriteriaQueryCreatorImpl.java | 18 ++++++++---------- .../main/resources/OH-INF/config/config.xml | 2 +- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/bundles/org.openhab.persistence.influxdb/src/main/java/org/openhab/persistence/influxdb/internal/influx2/Influx2FilterCriteriaQueryCreatorImpl.java b/bundles/org.openhab.persistence.influxdb/src/main/java/org/openhab/persistence/influxdb/internal/influx2/Influx2FilterCriteriaQueryCreatorImpl.java index 03b81a594..103ed6460 100644 --- a/bundles/org.openhab.persistence.influxdb/src/main/java/org/openhab/persistence/influxdb/internal/influx2/Influx2FilterCriteriaQueryCreatorImpl.java +++ b/bundles/org.openhab.persistence.influxdb/src/main/java/org/openhab/persistence/influxdb/internal/influx2/Influx2FilterCriteriaQueryCreatorImpl.java @@ -38,18 +38,16 @@ public class Influx2FilterCriteriaQueryCreatorImpl implements FilterCriteriaQuer public String createQuery(FilterCriteria criteria, String retentionPolicy) { Flux flux = Flux.from(retentionPolicy); - if (criteria.getBeginDate() != null || criteria.getEndDate() != null) { - RangeFlux range = flux.range(); - if (criteria.getBeginDate() != null) { - range = range.withStart(criteria.getBeginDate().toInstant()); - } - if (criteria.getEndDate() != null) { - range = range.withStop(criteria.getEndDate().toInstant()); - } - flux = range; + RangeFlux range = flux.range(); + if (criteria.getBeginDate() != null) { + range = range.withStart(criteria.getBeginDate().toInstant()); } else { - flux = flux.range(-100L, ChronoUnit.YEARS); // Flux needs a mandatory range + range = flux.range(-100L, ChronoUnit.YEARS); // Flux needs a mandatory start range } + if (criteria.getEndDate() != null) { + range = range.withStop(criteria.getEndDate().toInstant()); + } + flux = range; if (criteria.getItemName() != null) { flux = flux.filter(measurement().equal(criteria.getItemName())); diff --git a/bundles/org.openhab.persistence.influxdb/src/main/resources/OH-INF/config/config.xml b/bundles/org.openhab.persistence.influxdb/src/main/resources/OH-INF/config/config.xml index 3ee4fd5dd..5c44cbc88 100644 --- a/bundles/org.openhab.persistence.influxdb/src/main/resources/OH-INF/config/config.xml +++ b/bundles/org.openhab.persistence.influxdb/src/main/resources/OH-INF/config/config.xml @@ -69,7 +69,7 @@ The name of the retention policy (Influx DB 1.0) or bucket (InfluxDB 2.0) to write data - openhab + autogen