@Override public DateTime getTimestamp() { return delegate.getTimestamp(); }
@Override public List<String> getDimension(final String dimension) { return row.getDimension(dimension); }
@Override public Object getRaw(final String dimension) { return row.getRaw(dimension); }
private static Object getValueFromRow(final Row row, final String column) { if (column.equals(ColumnHolder.TIME_COLUMN_NAME)) { return row.getTimestampFromEpoch(); } else { return row.getRaw(column); } }
private static void assertResult(List<Row> rows) { Assert.assertEquals(10000, rows.size()); rows.sort((r1, r2) -> { int c = r1.getTimestamp().compareTo(r2.getTimestamp()); if (c != 0) { return c; } c = Integer.valueOf(r1.getDimension("a").get(0)).compareTo(Integer.valueOf(r2.getDimension("a").get(0))); if (c != 0) { return c; } return Integer.valueOf(r1.getDimension("b").get(0)).compareTo(Integer.valueOf(r2.getDimension("b").get(0))); }); for (int i = 0; i < 100; i++) { for (int j = 0; j < 100; j++) { final Row row = rows.get(i * 100 + j); Assert.assertEquals(DateTimes.utc(20171220 + i), row.getTimestamp()); Assert.assertEquals(i, Integer.valueOf(row.getDimension("a").get(0)).intValue()); Assert.assertEquals(j, Integer.valueOf(row.getDimension("b").get(0)).intValue()); } } }
@Override public Number getMetric(final String metric) { return row.getMetric(metric); }
Assert.assertEquals(timestamp, row.getTimestampFromEpoch()); Assert.assertEquals(Collections.singletonList("1"), row.getDimension("dim1")); Assert.assertEquals(Collections.singletonList("2"), row.getDimension("dim2")); Assert.assertEquals(Arrays.asList("a", "b"), row.getDimension("dim3")); Assert.assertEquals(1L, row.getMetric("count")); Assert.assertEquals(1L, row.getMetric("count_selector_filtered")); Assert.assertEquals(1L, row.getMetric("count_bound_filtered")); Assert.assertEquals(1L, row.getMetric("count_multivaldim_filtered")); Assert.assertEquals(0L, row.getMetric("count_numeric_filtered")); Assert.assertEquals(timestamp, row.getTimestampFromEpoch()); Assert.assertEquals(Collections.singletonList("3"), row.getDimension("dim1")); Assert.assertEquals(Collections.singletonList("4"), row.getDimension("dim2")); Assert.assertEquals(Arrays.asList("c", "d"), row.getDimension("dim3")); Assert.assertEquals(1L, row.getMetric("count")); Assert.assertEquals(0L, row.getMetric("count_selector_filtered")); Assert.assertEquals(0L, row.getMetric("count_bound_filtered")); Assert.assertEquals(0L, row.getMetric("count_multivaldim_filtered")); Assert.assertEquals(1L, row.getMetric("count_numeric_filtered"));
Assert.assertEquals(1, results.size()); Row row = results.get(0); Assert.assertEquals(0, (double) row.getMetric("non_existing_sketch"), 0); Assert.assertEquals(40.0, (double) row.getRaw("sketch"), 0); Assert.assertEquals(40.0, (double) row.getRaw("estimate"), 0); Assert.assertEquals(40.0, (double) row.getRaw("union"), 0); Assert.assertEquals(40.0, (double) row.getRaw("intersection"), 0); Assert.assertEquals(0, (double) row.getRaw("anotb"), 0); Object obj = row.getRaw("quantiles-sketch"); Assert.assertTrue(obj instanceof DoublesSketch); DoublesSketch ds = (DoublesSketch) obj;
@Test public void testCaseSensitivity() throws Exception { long timestamp = System.currentTimeMillis(); IncrementalIndex index = closerRule.closeLater(indexCreator.createIndex(defaultAggregatorFactories)); populateIndex(timestamp, index); Assert.assertEquals(Arrays.asList("dim1", "dim2"), index.getDimensionNames()); Assert.assertEquals(2, index.size()); final Iterator<Row> rows = index.iterator(); Row row = rows.next(); Assert.assertEquals(timestamp, row.getTimestampFromEpoch()); Assert.assertEquals(Collections.singletonList("1"), row.getDimension("dim1")); Assert.assertEquals(Collections.singletonList("2"), row.getDimension("dim2")); row = rows.next(); Assert.assertEquals(timestamp, row.getTimestampFromEpoch()); Assert.assertEquals(Collections.singletonList("3"), row.getDimension("dim1")); Assert.assertEquals(Collections.singletonList("4"), row.getDimension("dim2")); }
@Override public long getTimestampFromEpoch() { return delegate.getTimestampFromEpoch(); }
while (iterator.hasNext()) { Row row = iterator.next(); Assert.assertEquals(timestamp + (isRollup ? curr : curr / threadCount), row.getTimestampFromEpoch()); Assert.assertEquals(isRollup ? threadCount : 1, row.getMetric("count").intValue()); curr++;
@Override public int compareTo(final Row o) { return row.compareTo(o); }
private void assertResult(List<Row> rows, List<String> sqls) { Assert.assertEquals(10 * sqls.size(), rows.size()); rows.sort((r1, r2) -> { int c = r1.getTimestamp().compareTo(r2.getTimestamp()); if (c != 0) { return c; } c = Integer.valueOf(r1.getDimension("a").get(0)).compareTo(Integer.valueOf(r2.getDimension("a").get(0))); if (c != 0) { return c; } return Integer.valueOf(r1.getDimension("b").get(0)).compareTo(Integer.valueOf(r2.getDimension("b").get(0))); }); int rowCount = 0; for (int i = 0; i < 10; i++) { for (int j = 0; j < sqls.size(); j++) { final Row row = rows.get(rowCount); String timestampSt = StringUtils.format("2011-01-12T00:0%s:00.000Z", i); Assert.assertEquals(timestampSt, row.getTimestamp().toString()); Assert.assertEquals(i, Integer.valueOf(row.getDimension("a").get(0)).intValue()); Assert.assertEquals(i, Integer.valueOf(row.getDimension("b").get(0)).intValue()); rowCount++; } } }
@Override public Number getMetric(String metric) { return delegate.getMetric(metric); }
private static Object getValueFromRow(final Row row, final String column) { if (column.equals(ColumnHolder.TIME_COLUMN_NAME)) { return row.getTimestampFromEpoch(); } else { return row.getRaw(column); } }
@Override public long apply(Row row) { return row.getTimestampFromEpoch(); } };
@Override public int compareTo(Row row) { return delegate.compareTo(row); }
@Override public DateTime getTimestamp() { return row.getTimestamp(); }
@Override public Object getRaw(String dimension) { return row.getRaw(dimension); }
@Override public List<String> getDimension(String dimension) { return row.getDimension(dimension); }