summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/prelude/query
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-10-25 11:58:54 +0200
committerjonmv <venstad@gmail.com>2022-10-26 12:07:18 +0200
commitb381a19dbcb4309c99310d3dc4a8c448e6a6daec (patch)
tree6fd01dff26781f4e61dbc645e585ede749995928 /container-search/src/main/java/com/yahoo/prelude/query
parent2c39e2bc5b7d6d517761b148e468021527c366f5 (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.java4
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/query/MultiTermItem.java5
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;