diff options
author | jonmv <venstad@gmail.com> | 2022-10-25 11:58:54 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2022-10-26 12:07:18 +0200 |
commit | b381a19dbcb4309c99310d3dc4a8c448e6a6daec (patch) | |
tree | 6fd01dff26781f4e61dbc645e585ede749995928 /container-search/src/main/java/com/yahoo/prelude/query | |
parent | 2c39e2bc5b7d6d517761b148e468021527c366f5 (diff) |
Serialise as a composite item for now
Diffstat (limited to 'container-search/src/main/java/com/yahoo/prelude/query')
-rw-r--r-- | container-search/src/main/java/com/yahoo/prelude/query/MultiRangeItem.java | 4 | ||||
-rw-r--r-- | container-search/src/main/java/com/yahoo/prelude/query/MultiTermItem.java | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/query/MultiRangeItem.java b/container-search/src/main/java/com/yahoo/prelude/query/MultiRangeItem.java index 8839ead7977..ff40b6f66bc 100644 --- a/container-search/src/main/java/com/yahoo/prelude/query/MultiRangeItem.java +++ b/container-search/src/main/java/com/yahoo/prelude/query/MultiRangeItem.java @@ -7,7 +7,6 @@ import com.yahoo.prelude.query.textualrepresentation.Discloser; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Comparator; -import java.util.ConcurrentModificationException; import java.util.List; import java.util.Objects; import java.util.function.BiConsumer; @@ -324,7 +323,8 @@ public class MultiRangeItem<Type extends Number> extends MultiTermItem { return Objects.hash(super.hashCode(), type, startIndex, endIndex, startInclusive, endInclusive, sortedRanges()); } - Item asCompositeItem() { + @Override + protected Item asCompositeItem() { OrItem root = new OrItem(); if (startIndex.equals(endIndex)) { for (Range<Type> range : sortedRanges()) { diff --git a/container-search/src/main/java/com/yahoo/prelude/query/MultiTermItem.java b/container-search/src/main/java/com/yahoo/prelude/query/MultiTermItem.java index 01034605186..801eb861940 100644 --- a/container-search/src/main/java/com/yahoo/prelude/query/MultiTermItem.java +++ b/container-search/src/main/java/com/yahoo/prelude/query/MultiTermItem.java @@ -48,6 +48,8 @@ abstract class MultiTermItem extends SimpleTaggableItem { /** Encode all wrapped terms to the buffer. */ abstract void encodeTerms(ByteBuffer buffer); + abstract protected Item asCompositeItem(); + @Override public final ItemType getItemType() { return ItemType.MULTI_TERM; @@ -60,6 +62,9 @@ abstract class MultiTermItem extends SimpleTaggableItem { @Override public final int encode(ByteBuffer buffer) { + // TODO: Remove once backend support deserialisation of this type. + if (getClass() == MultiRangeItem.class) return asCompositeItem().encode(buffer); + super.encodeThis(buffer); byte metadata = 0; metadata |= (operatorType().code << 5) & 0b11100000; |