@Test public void testAscending() { PagingOffset offset = PagingOffset.of(PagingOffset.toOffset(3, false), 3); Assert.assertEquals(3, offset.startOffset()); Assert.assertEquals(3, offset.startDelta()); Assert.assertArrayEquals(new int[]{3, 4, 5}, toArray(offset)); }
@Test public void testZeroThreshold() { PagingOffset offset = PagingOffset.of(PagingOffset.toOffset(3, false), 0); Assert.assertEquals(3, offset.startOffset()); Assert.assertEquals(3, offset.startDelta()); Assert.assertArrayEquals(new int[]{}, toArray(offset)); offset = PagingOffset.of(PagingOffset.toOffset(3, true), 0); Assert.assertEquals(-4, offset.startOffset()); Assert.assertEquals(3, offset.startDelta()); Assert.assertArrayEquals(new int[]{}, toArray(offset)); }
int lastOffset = offset.startOffset(); for (; !cursor.isDone() && offset.hasNext(); cursor.advance(), offset.next()) { final Map<String, Object> theEvent = singleEvent(
@Test public void testDescending() { PagingOffset offset = PagingOffset.of(PagingOffset.toOffset(3, true), 3); Assert.assertEquals(-4, offset.startOffset()); Assert.assertEquals(3, offset.startDelta()); Assert.assertArrayEquals(new int[]{-4, -5, -6}, toArray(offset)); }
@Test public void testFullSelectNoDimensionAndMetric() { SelectQuery query = newTestQuery() .intervals(I_0112_0114_SPEC) .dimensionSpecs(DefaultDimensionSpec.toSpec("foo")) .metrics(Collections.singletonList("foo2")) .build(); Iterable<Result<SelectResultValue>> results = runner.run(QueryPlus.wrap(query), new HashMap<>()).toList(); final List<List<Map<String, Object>>> events = toEvents( new String[]{ EventHolder.timestampKey + ":TIME", "foo:NULL", "foo2:NULL" }, V_0112_0114 ); PagingOffset offset = query.getPagingOffset(segmentIdString); List<Result<SelectResultValue>> expectedResults = toExpected( segmentIdString, events, Collections.singletonList("foo"), Collections.singletonList("foo2"), offset.startOffset(), offset.threshold() ); verify(expectedResults, results); }
Collections.singletonList("market"), Collections.singletonList("index"), offset.startOffset(), offset.threshold() );
@Test public void testSelectPagination() { SelectQuery query = newTestQuery() .intervals(I_0112_0114_SPEC) .dimensionSpecs(DefaultDimensionSpec.toSpec(QueryRunnerTestHelper.qualityDimension)) .metrics(Collections.singletonList(QueryRunnerTestHelper.indexMetric)) .pagingSpec(new PagingSpec(toPagingIdentifier(3, descending), 3)) .build(); Iterable<Result<SelectResultValue>> results = runner.run(QueryPlus.wrap(query), new HashMap<>()).toList(); PagingOffset offset = query.getPagingOffset(segmentIdString); List<Result<SelectResultValue>> expectedResults = toExpected( segmentIdString, toEvents( new String[]{ EventHolder.timestampKey + ":TIME", "foo:NULL", "foo2:NULL" }, V_0112_0114 ), Collections.singletonList("quality"), Collections.singletonList("index"), offset.startOffset(), offset.threshold() ); verify(expectedResults, results); }
"indexMinFloat" ), offset.startOffset(), offset.threshold() );
Collections.singletonList(QueryRunnerTestHelper.qualityDimension), Collections.singletonList(QueryRunnerTestHelper.indexMetric), offset.startOffset(), offset.threshold() );
Collections.singletonList("quality"), Collections.singletonList("index"), offset.startOffset(), offset.threshold() );
Collections.singletonList("quality"), Collections.singletonList("index"), offset.startOffset(), offset.threshold() );
int lastOffset = offset.startOffset(); for (; !cursor.isDone() && offset.hasNext(); cursor.advance(), offset.next()) { final Map<String, Object> theEvent = singleEvent(