You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ho...@apache.org on 2016/09/09 19:02:03 UTC
lucene-solr:branch_6x: SOLR-9490: Fixed bugs in BoolField that caused
it to erroneously return "false" for all docs depending on usage
Repository: lucene-solr
Updated Branches:
refs/heads/branch_6x 7834fc1d5 -> d59715f14
SOLR-9490: Fixed bugs in BoolField that caused it to erroneously return "false" for all docs depending on usage
(cherry picked from commit 60ce8d7c549ef90cd6aaa9297bf31aeb3dd3417e)
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/d59715f1
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/d59715f1
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/d59715f1
Branch: refs/heads/branch_6x
Commit: d59715f14bc180ebb9b2aef8ebbcb02103e9fcc8
Parents: 7834fc1
Author: Chris Hostetter <ho...@apache.org>
Authored: Fri Sep 9 11:45:09 2016 -0700
Committer: Chris Hostetter <ho...@apache.org>
Committed: Fri Sep 9 11:58:02 2016 -0700
----------------------------------------------------------------------
solr/CHANGES.txt | 2 ++
solr/core/src/java/org/apache/solr/schema/BoolField.java | 10 ++++++----
.../org/apache/solr/client/solrj/SolrExampleTests.java | 7 +++++--
3 files changed, 13 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/d59715f1/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 3b7245f..5de400b 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -85,6 +85,8 @@ Bug Fixes
* SOLR-9488: Shard split can fail to write commit data on shutdown/restart causing replicas to recover
without replicating the index. This can cause data loss. (shalin)
+* SOLR-9490: Fixed bugs in BoolField that caused it to erroneously return "false" for all docs depending
+ on usage (Colvin Cowie, Dan Fox, hossman)
Optimizations
----------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/d59715f1/solr/core/src/java/org/apache/solr/schema/BoolField.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/schema/BoolField.java b/solr/core/src/java/org/apache/solr/schema/BoolField.java
index 1ecdb59..a9acfc5 100644
--- a/solr/core/src/java/org/apache/solr/schema/BoolField.java
+++ b/solr/core/src/java/org/apache/solr/schema/BoolField.java
@@ -128,11 +128,13 @@ public class BoolField extends PrimitiveFieldType {
@Override
public String toExternal(IndexableField f) {
- if (f.binaryValue() == null) {
- return null;
+ if (null != f.binaryValue()) {
+ return indexedToReadable(f.binaryValue().utf8ToString());
}
-
- return indexedToReadable(f.binaryValue().utf8ToString());
+ if (null != f.stringValue()) {
+ return indexedToReadable(f.stringValue());
+ }
+ return null;
}
@Override
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/d59715f1/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java b/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java
index 1dd074e..4f3f83d 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java
@@ -182,12 +182,15 @@ abstract public class SolrExampleTests extends SolrExampleTestsBase
// test a second query, test making a copy of the main query
SolrQuery query2 = query.getCopy();
query2.addFilterQuery("inStock:true");
+ Assert.assertFalse(query.getFilterQueries() == query2.getFilterQueries());
response = client.query( query2 );
Assert.assertEquals(1, query2.getFilterQueries().length);
Assert.assertEquals(0, response.getStatus());
Assert.assertEquals(2, response.getResults().getNumFound() );
- Assert.assertFalse(query.getFilterQueries() == query2.getFilterQueries());
-
+ for (SolrDocument outDoc : response.getResults()) {
+ assertEquals(true, outDoc.getFieldValue("inStock"));
+ }
+
// sanity check round tripping of params...
query = new SolrQuery("foo");
query.addFilterQuery("{!field f=inStock}true");