Search in sources :

Example 1 with LegacyDimensionSpec

use of org.apache.druid.query.dimension.LegacyDimensionSpec in project druid by druid-io.

the class TopNQueryTest method testQueryNullMetric.

@Test
public void testQueryNullMetric() throws IOException {
    expectedException.expectMessage("must specify a metric");
    Query query = new TopNQueryBuilder().dataSource(QueryRunnerTestHelper.DATA_SOURCE).granularity(QueryRunnerTestHelper.ALL_GRAN).dimension(new LegacyDimensionSpec(QueryRunnerTestHelper.MARKET_DIMENSION)).threshold(2).intervals(QueryRunnerTestHelper.FULL_ON_INTERVAL_SPEC).aggregators(Lists.newArrayList(Iterables.concat(QueryRunnerTestHelper.COMMON_DOUBLE_AGGREGATORS, Lists.newArrayList(new DoubleMaxAggregatorFactory("maxIndex", "index"), new DoubleMinAggregatorFactory("minIndex", "index"))))).postAggregators(QueryRunnerTestHelper.ADD_ROWS_INDEX_CONSTANT).build();
    String json = JSON_MAPPER.writeValueAsString(query);
    JSON_MAPPER.readValue(json, Query.class);
}
Also used : DoubleMaxAggregatorFactory(org.apache.druid.query.aggregation.DoubleMaxAggregatorFactory) Query(org.apache.druid.query.Query) LegacyDimensionSpec(org.apache.druid.query.dimension.LegacyDimensionSpec) DoubleMinAggregatorFactory(org.apache.druid.query.aggregation.DoubleMinAggregatorFactory) Test(org.junit.Test)

Example 2 with LegacyDimensionSpec

use of org.apache.druid.query.dimension.LegacyDimensionSpec in project druid by druid-io.

the class SearchQueryTest method testSerDe.

@Test
public void testSerDe() throws IOException {
    Query query = Druids.newSearchQueryBuilder().dataSource(QueryRunnerTestHelper.DATA_SOURCE).granularity(QueryRunnerTestHelper.ALL_GRAN).intervals(QueryRunnerTestHelper.FULL_ON_INTERVAL_SPEC).dimensions(new LegacyDimensionSpec(QueryRunnerTestHelper.QUALITY_DIMENSION)).query("a").build();
    final String json = "{\"queryType\":\"search\",\"dataSource\":{\"type\":\"table\",\"name\":\"testing\"},\"filter\":null,\"granularity\":{\"type\":\"all\"},\"limit\":1000,\"intervals\":{\"type\":\"intervals\",\"intervals\":[\"1970-01-01T00:00:00.000Z/2020-01-01T00:00:00.000Z\"]},\"searchDimensions\":[\"" + QueryRunnerTestHelper.QUALITY_DIMENSION + "\"],\"query\":{\"type\":\"insensitive_contains\",\"value\":\"a\"},\"sort\":{\"type\":\"lexicographic\"},\"context\":null}";
    final Query serdeQuery = JSON_MAPPER.readValue(json, Query.class);
    Assert.assertEquals(query.toString(), serdeQuery.toString());
    Assert.assertEquals(query, serdeQuery);
    final String json2 = "{\"queryType\":\"search\",\"dataSource\":{\"type\":\"table\",\"name\":\"testing\"},\"filter\":null,\"granularity\":{\"type\":\"all\"},\"limit\":1000,\"intervals\":{\"type\":\"intervals\",\"intervals\":[\"1970-01-01T00:00:00.000Z/2020-01-01T00:00:00.000Z\"]},\"searchDimensions\":[\"quality\"],\"query\":{\"type\":\"insensitive_contains\",\"value\":\"a\"},\"sort\":{\"type\":\"lexicographic\"},\"context\":null}";
    final Query serdeQuery2 = JSON_MAPPER.readValue(json2, Query.class);
    Assert.assertEquals(query.toString(), serdeQuery2.toString());
    Assert.assertEquals(query, serdeQuery2);
}
Also used : Query(org.apache.druid.query.Query) LegacyDimensionSpec(org.apache.druid.query.dimension.LegacyDimensionSpec) Test(org.junit.Test)

Example 3 with LegacyDimensionSpec

use of org.apache.druid.query.dimension.LegacyDimensionSpec in project druid by druid-io.

the class TopNQueryTest method testQueryZeroThreshold.

@Test
public void testQueryZeroThreshold() throws IOException {
    expectedException.expectMessage("Threshold cannot be equal to 0.");
    Query query = new TopNQueryBuilder().dataSource(QueryRunnerTestHelper.DATA_SOURCE).granularity(QueryRunnerTestHelper.ALL_GRAN).metric(QueryRunnerTestHelper.INDEX_METRIC).dimension(new LegacyDimensionSpec(QueryRunnerTestHelper.MARKET_DIMENSION)).threshold(0).intervals(QueryRunnerTestHelper.FULL_ON_INTERVAL_SPEC).aggregators(Lists.newArrayList(Iterables.concat(QueryRunnerTestHelper.COMMON_DOUBLE_AGGREGATORS, Lists.newArrayList(new DoubleMaxAggregatorFactory("maxIndex", "index"), new DoubleMinAggregatorFactory("minIndex", "index"))))).postAggregators(QueryRunnerTestHelper.ADD_ROWS_INDEX_CONSTANT).build();
    String json = JSON_MAPPER.writeValueAsString(query);
    JSON_MAPPER.readValue(json, Query.class);
}
Also used : DoubleMaxAggregatorFactory(org.apache.druid.query.aggregation.DoubleMaxAggregatorFactory) Query(org.apache.druid.query.Query) LegacyDimensionSpec(org.apache.druid.query.dimension.LegacyDimensionSpec) DoubleMinAggregatorFactory(org.apache.druid.query.aggregation.DoubleMinAggregatorFactory) Test(org.junit.Test)

Aggregations

Query (org.apache.druid.query.Query)3 LegacyDimensionSpec (org.apache.druid.query.dimension.LegacyDimensionSpec)3 Test (org.junit.Test)3 DoubleMaxAggregatorFactory (org.apache.druid.query.aggregation.DoubleMaxAggregatorFactory)2 DoubleMinAggregatorFactory (org.apache.druid.query.aggregation.DoubleMinAggregatorFactory)2