You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by da...@apache.org on 2018/09/07 07:49:55 UTC
[46/50] [abbrv] lucene-solr:jira/http2: SOLR-12749: timeseries()
expression missing sum() results for empty buckets
SOLR-12749: timeseries() expression missing sum() results for empty buckets
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/98611d33
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/98611d33
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/98611d33
Branch: refs/heads/jira/http2
Commit: 98611d33a7f334ece5faba594120ac3398a0009d
Parents: ccd9f6f
Author: Joel Bernstein <jb...@apache.org>
Authored: Thu Sep 6 20:34:11 2018 -0400
Committer: Joel Bernstein <jb...@apache.org>
Committed: Thu Sep 6 20:34:26 2018 -0400
----------------------------------------------------------------------
.../client/solrj/io/stream/TimeSeriesStream.java | 2 ++
.../solrj/io/stream/StreamExpressionTest.java | 16 +++++++++++-----
2 files changed, 13 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/98611d33/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TimeSeriesStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TimeSeriesStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TimeSeriesStream.java
index cb743e9..dcd938e 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TimeSeriesStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TimeSeriesStream.java
@@ -397,6 +397,8 @@ public class TimeSeriesStream extends TupleStream implements Expressible {
} else {
t.put(identifier, d.doubleValue());
}
+ } else {
+ t.put(identifier, 0);
}
++m;
} else {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/98611d33/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionTest.java
index e5455b5..b9c6153 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamExpressionTest.java
@@ -1856,7 +1856,7 @@ public class StreamExpressionTest extends SolrCloudTestCase {
updateRequest.commit(cluster.getSolrClient(), COLLECTIONORALIAS);
String expr = "timeseries("+COLLECTIONORALIAS+", q=\"*:*\", start=\"2013-01-01T01:00:00.000Z\", " +
- "end=\"2016-12-01T01:00:00.000Z\", " +
+ "end=\"2017-12-01T01:00:00.000Z\", " +
"gap=\"+1YEAR\", " +
"field=\"test_dt\", " +
"count(*), sum(price_f), max(price_f), min(price_f))";
@@ -1870,7 +1870,7 @@ public class StreamExpressionTest extends SolrCloudTestCase {
StreamContext context = new StreamContext();
solrStream.setStreamContext(context);
List<Tuple> tuples = getTuples(solrStream);
- assertTrue(tuples.size() == 4);
+ assertTrue(tuples.size() == 5);
assertTrue(tuples.get(0).get("test_dt").equals("2013-01-01T01:00:00Z"));
assertTrue(tuples.get(0).getLong("count(*)").equals(100L));
@@ -1896,6 +1896,12 @@ public class StreamExpressionTest extends SolrCloudTestCase {
assertTrue(tuples.get(3).getDouble("max(price_f)").equals(400D));
assertTrue(tuples.get(3).getDouble("min(price_f)").equals(400D));
+ assertTrue(tuples.get(4).get("test_dt").equals("2017-01-01T01:00:00Z"));
+ assertEquals((long)tuples.get(4).getLong("count(*)"), 0L);
+ assertEquals(tuples.get(4).getDouble("sum(price_f)"), 0D, 0);
+ assertEquals(tuples.get(4).getDouble("max(price_f)"),0D, 0);
+ assertEquals(tuples.get(4).getDouble("min(price_f)"), 0D, 0);
+
expr = "timeseries("+COLLECTIONORALIAS+", q=\"*:*\", start=\"2013-01-01T01:00:00.000Z\", " +
"end=\"2016-12-01T01:00:00.000Z\", " +
@@ -1995,9 +2001,9 @@ public class StreamExpressionTest extends SolrCloudTestCase {
assertTrue(tuples.size() == 5);
assertTrue(tuples.get(0).get("test_dt").equals("2012-01"));
assertTrue(tuples.get(0).getLong("count(*)").equals(0L));
- assertTrue(tuples.get(0).getDouble("sum(price_f)") == null);
- assertTrue(tuples.get(0).getDouble("max(price_f)") == null);
- assertTrue(tuples.get(0).getDouble("min(price_f)") == null);
+ assertTrue(tuples.get(0).getDouble("sum(price_f)") == 0);
+ assertTrue(tuples.get(0).getDouble("max(price_f)") == 0);
+ assertTrue(tuples.get(0).getDouble("min(price_f)") == 0);
assertTrue(tuples.get(1).get("test_dt").equals("2013-01"));
assertTrue(tuples.get(1).getLong("count(*)").equals(100L));