You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jb...@apache.org on 2016/01/27 22:05:51 UTC

lucene-solr git commit: SOLR-8601: RollupStream loses the type for group by buckets

Repository: lucene-solr
Updated Branches:
  refs/heads/master b3eb7222d -> ad96fd0d8


SOLR-8601: RollupStream loses the type for group by 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/ad96fd0d
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/ad96fd0d
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/ad96fd0d

Branch: refs/heads/master
Commit: ad96fd0d89fb6adb83983bf920a07fa60cf49690
Parents: b3eb722
Author: jbernste <jb...@apache.org>
Authored: Wed Jan 27 16:09:44 2016 -0500
Committer: jbernste <jb...@apache.org>
Committed: Wed Jan 27 16:09:44 2016 -0500

----------------------------------------------------------------------
 .../src/test/org/apache/solr/handler/TestSQLHandler.java |  3 +++
 .../org/apache/solr/client/solrj/io/comp/HashKey.java    | 11 ++---------
 .../apache/solr/client/solrj/io/stream/RollupStream.java |  6 +++---
 .../solr/client/solrj/io/stream/metrics/Bucket.java      |  4 ++--
 4 files changed, 10 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ad96fd0d/solr/core/src/test/org/apache/solr/handler/TestSQLHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/handler/TestSQLHandler.java b/solr/core/src/test/org/apache/solr/handler/TestSQLHandler.java
index a9b8c53..5a87907 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestSQLHandler.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestSQLHandler.java
@@ -2274,6 +2274,7 @@ public class TestSQLHandler extends AbstractFullDistribZkTestBase {
 
       tuple = tuples.get(0);
       assert(tuple.getLong("year_i") == 2015);
+      assert(tuple.get("year_i") instanceof Long);  // SOLR-8601, This tests that the bucket is actually a Long and not parsed from a String.
       assert(tuple.getDouble("sum(item_i)") == 66);
 
       tuple = tuples.get(1);
@@ -2296,6 +2297,8 @@ public class TestSQLHandler extends AbstractFullDistribZkTestBase {
       tuple = tuples.get(0);
       assert(tuple.getLong("year_i") == 2015);
       assert(tuple.getLong("month_i") == 11);
+      assert(tuple.get("year_i") instanceof Long);
+      assert(tuple.get("month_i") instanceof Long);
       assert(tuple.getDouble("sum(item_i)") == 57);
 
       tuple = tuples.get(1);

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ad96fd0d/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/HashKey.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/HashKey.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/HashKey.java
index 200446e..fde5208 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/HashKey.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/comp/HashKey.java
@@ -28,17 +28,10 @@ public class HashKey implements Serializable {
 
 
   public HashKey(String value) {
-    parts = (Object[])value.split("::");
+    parts = value.split("::");
   }
 
-  public HashKey(Tuple t, String[] keys) {
-    this.parts = new Object[keys.length];
-    for(int i=0; i<keys.length; i++) {
-      parts[i] = t.get(keys[i]);
-    }
-  }
-
-  public HashKey(String[] parts) {
+  public HashKey(Object[] parts) {
     this.parts = parts;
   }
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ad96fd0d/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/RollupStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/RollupStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/RollupStream.java
index 5dec57e..c479699 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/RollupStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/RollupStream.java
@@ -184,7 +184,7 @@ public class RollupStream extends TupleStream implements Expressible {
           }
 
           for(int i=0; i<buckets.length; i++) {
-            map.put(buckets[i].toString(), currentKey.getParts()[i].toString());
+            map.put(buckets[i].toString(), currentKey.getParts()[i]);
           }
           Tuple t = new Tuple(map);
           tupleStream.pushBack(tuple);
@@ -195,7 +195,7 @@ public class RollupStream extends TupleStream implements Expressible {
         }
       }
 
-      String[] bucketValues = new String[buckets.length];
+      Object[] bucketValues = new Object[buckets.length];
       for(int i=0; i<buckets.length; i++) {
         bucketValues[i] = buckets[i].getBucketValue(tuple);
       }
@@ -215,7 +215,7 @@ public class RollupStream extends TupleStream implements Expressible {
           }
 
           for(int i=0; i<buckets.length; i++) {
-            map.put(buckets[i].toString(), currentKey.getParts()[i].toString());
+            map.put(buckets[i].toString(), currentKey.getParts()[i]);
           }
           t = new Tuple(map);
         }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ad96fd0d/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/metrics/Bucket.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/metrics/Bucket.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/metrics/Bucket.java
index 260a225..62e5990 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/metrics/Bucket.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/metrics/Bucket.java
@@ -38,8 +38,8 @@ public class Bucket implements Serializable {
     this.bucketKey = bucketKey;
   }
 
-  public String getBucketValue(Tuple tuple) {
-    return tuple.get(bucketKey).toString();
+  public Object getBucketValue(Tuple tuple) {
+    return tuple.get(bucketKey);
   }
 
   public String toString() {