diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-11-01 16:11:31 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-01 16:11:31 +0100 |
commit | 17fbfda757924a90ea71c9260ea22eab1a7c3949 (patch) | |
tree | 313864a00656f1aed57456dbbc46be9688d4ef0f /vespajlib | |
parent | f2d3685aff36e286a4aafdb90a019bbad36ddc0d (diff) | |
parent | bac8ab58a18d25db1871d3e933cb0cc018be5439 (diff) |
Merge pull request #19813 from vespa-engine/vekterli/use-utf8-ordering-for-string-result-nodes
Use UTF-8 bytewise ordering for Java StringResultNode comparisons
Diffstat (limited to 'vespajlib')
-rw-r--r-- | vespajlib/abi-spec.json | 1 | ||||
-rw-r--r-- | vespajlib/src/main/java/com/yahoo/vespa/objects/Identifiable.java | 9 |
2 files changed, 7 insertions, 3 deletions
diff --git a/vespajlib/abi-spec.json b/vespajlib/abi-spec.json index c426195bc37..5eeee267cf6 100644 --- a/vespajlib/abi-spec.json +++ b/vespajlib/abi-spec.json @@ -3428,6 +3428,7 @@ "protected static com.yahoo.vespa.objects.Identifiable deserializeOptional(com.yahoo.vespa.objects.Deserializer)", "protected static boolean equals(java.lang.Object, java.lang.Object)", "public void visitMembers(com.yahoo.vespa.objects.ObjectVisitor)", + "protected static byte[] getRawUtf8Bytes(com.yahoo.vespa.objects.Deserializer)", "protected java.lang.String getUtf8(com.yahoo.vespa.objects.Deserializer)", "protected void putUtf8(com.yahoo.vespa.objects.Serializer, java.lang.String)", "public bridge synthetic java.lang.Object clone()" diff --git a/vespajlib/src/main/java/com/yahoo/vespa/objects/Identifiable.java b/vespajlib/src/main/java/com/yahoo/vespa/objects/Identifiable.java index 8c11a0cbda1..947b312ac3b 100644 --- a/vespajlib/src/main/java/com/yahoo/vespa/objects/Identifiable.java +++ b/vespajlib/src/main/java/com/yahoo/vespa/objects/Identifiable.java @@ -354,10 +354,13 @@ public class Identifiable extends Selectable implements Cloneable { } } - protected String getUtf8(Deserializer buf) { + protected static byte[] getRawUtf8Bytes(Deserializer buf) { int len = buf.getInt(null); - byte[] arr = buf.getBytes(null, len); - return Utf8.toString(arr); + return buf.getBytes(null, len); + } + + protected String getUtf8(Deserializer buf) { + return Utf8.toString(getRawUtf8Bytes(buf)); } protected void putUtf8(Serializer buf, String val) { |