SOLR-13762: Allow BinaryField use with non-binary wt's.

Closes #883
This commit is contained in:
Jason Gerlowski 2019-11-01 10:05:09 -04:00
parent b5f5b0f2bc
commit de28c67627
3 changed files with 5 additions and 1 deletions

View File

@ -148,6 +148,8 @@ Bug Fixes
* SOLR-13207: In dismax and edismax "minimum should match" queries, the < operator not followed by a number will now return
an HTTP 400 error rather than 500, and the error message will explain that < must be followed by a number. (Chris Hennick)
* SOLR-13762: Fix BinaryField support for non-binary wt's (Thomas Woeckinger via Jason Gerlowski)
Other Changes
---------------------

View File

@ -110,6 +110,9 @@ public class BinaryField extends FieldType {
public Object toNativeType(Object val) {
if (val instanceof byte[]) {
return ByteBuffer.wrap((byte[]) val);
} else if (val instanceof CharSequence) {
final CharSequence valAsCharSequence = (CharSequence) val;
return ByteBuffer.wrap(Base64.base64ToByteArray(valAsCharSequence.toString()));
}
return super.toNativeType(val);
}

View File

@ -209,7 +209,6 @@ public abstract class AbstractAtomicUpdatesMultivalueTestBase extends EmbeddedSo
}
@Test
@AwaitsFix(bugUrl = "https://issues.apache.org/jira/browse/SOLR-13762")
public void testMultivalueBinaryField() throws SolrServerException, IOException {
runTestForFieldWithoutQuery("binaryRemove",
new byte[][] {new byte[] {0}, new byte[] {1}, new byte[] {2}, new byte[] {3}});