diff --git a/x-pack/plugin/esql/compute/src/test/java/org/elasticsearch/compute/operator/NullInsertingSourceOperator.java b/x-pack/plugin/esql/compute/src/test/java/org/elasticsearch/compute/operator/NullInsertingSourceOperator.java index c8444551f415b..413db10a3e302 100644 --- a/x-pack/plugin/esql/compute/src/test/java/org/elasticsearch/compute/operator/NullInsertingSourceOperator.java +++ b/x-pack/plugin/esql/compute/src/test/java/org/elasticsearch/compute/operator/NullInsertingSourceOperator.java @@ -24,7 +24,9 @@ import static org.elasticsearch.test.ESTestCase.between; /** - * Inserts nulls into blocks + * Inserts "null rows" between incoming rows. By default, a "null row" contains + * {@code null} in every {@link Block}. Override {@link #appendNull} to customize + * how "null rows" are built. */ public class NullInsertingSourceOperator extends MappingSourceOperator { final BlockFactory blockFactory; @@ -58,6 +60,9 @@ protected Page map(Page page) { return result; } + /** + * Called on a "null row" to insert values. + */ protected void appendNull(ElementType elementType, Block.Builder builder, int blockId) { builder.appendNull(); } diff --git a/x-pack/plugin/esql/compute/src/test/java/org/elasticsearch/compute/operator/PositionMergingSourceOperator.java b/x-pack/plugin/esql/compute/src/test/java/org/elasticsearch/compute/operator/PositionMergingSourceOperator.java index 651ec6dc191a9..9b1457fc7b5e0 100644 --- a/x-pack/plugin/esql/compute/src/test/java/org/elasticsearch/compute/operator/PositionMergingSourceOperator.java +++ b/x-pack/plugin/esql/compute/src/test/java/org/elasticsearch/compute/operator/PositionMergingSourceOperator.java @@ -18,6 +18,31 @@ import org.elasticsearch.compute.data.LongBlock; import org.elasticsearch.compute.data.Page; +/** + * Merges adjacent pairs of positions together into one, block by block. + *
+ * For example: + *
+ *{@code
+ * a | b
+ * ----- | -----
+ * 1 | a
+ * 2 | b
+ * 3, 4 | c, d
+ * 5, 6 | e, f
+ * 7 | null <---- nulls count as empty lists
+ * null | g
+ * 4 | d <---- if the input is odd, trailing rows are dropped
+ * }
+ * becomes
+ * {@code
+ * a | b
+ * ---------- | ----------
+ * 1, 2 | a, b
+ * 3, 4, 5, 6 | c, d, e, f
+ * 7 | g
+ * }
+ */
public class PositionMergingSourceOperator extends MappingSourceOperator {
final BlockFactory blockFactory;