public class DruidAdapterIT extends Object
org.apache.calcite.adapter.druid
package.
Before calling this test, you need to populate Druid, as follows:
git clone https://github.com/vlsi/calcite-test-dataset
cd calcite-test-dataset
mvn install
This will create a virtual machine with Druid and test data set.
Features not yet implemented:
Modifier and Type | Field and Description |
---|---|
static boolean |
ENABLED
Whether to run Druid tests.
|
static URL |
FOODMART
URL of the "druid-foodmart" model.
|
static URL |
WIKI
URL of the "druid-wiki" model
and the "wikiticker" data set.
|
static URL |
WIKI_AUTO
URL of the "druid-wiki-no-columns" model
and the "wikiticker" data set.
|
static URL |
WIKI_AUTO2
URL of the "druid-wiki-no-tables" model
and the "wikiticker" data set.
|
Constructor and Description |
---|
DruidAdapterIT() |
public static final URL FOODMART
public static final URL WIKI
public static final URL WIKI_AUTO
public static final URL WIKI_AUTO2
public static final boolean ENABLED
-Pit
). To disable,
specify -Dcalcite.test.druid=false
on the Java command line.protected boolean enabled()
public void testSelectDistinctWiki()
public void testSelectDistinctWikiNoColumns()
public void testSelectDistinctWikiNoTables()
public void testSelectTimestampColumnNoTables1()
public void testSelectTimestampColumnNoTables2()
public void testSelectTimestampColumnNoTables3()
public void testSelectTimestampColumnNoTables4()
public void testSkipEmptyBuckets()
public void testFilterTime()
public void testFilterTimeDistinct()
public void testSelectDistinct()
public void testSelectGroupBySum()
public void testGroupbyMetric()
public void testPushSimpleGroupBy()
public void testComplexPushGroupBy()
public void testSelectCount()
public void testSort()
public void testSortLimit()
public void testOffsetLimit()
public void testLimit()
public void testDistinctLimit()
public void testGroupBySortLimit()
public void testGroupBySingleSortLimit()
public void testGroupBySingleSortLimitApprox()
testGroupBySingleSortLimit()
, but allowing approximate results
due to CalciteConnectionConfig.approximateDistinctCount()
.
Therefore we send a "topN" query to Druid.public void testGroupByDaySortDescLimit()
Before CALCITE-1578 was fixed, this would use a "topN" query but return the wrong results.
public void testGroupByDaySortLimit()
Before CALCITE-1579 was fixed, this would use a "groupBy" query but
wrongly try to use a limitSpec
to sort and filter. (A "topN" query
was not possible because the sort was ASC
.)
public void testGroupByDaySortDimension()
public void testFilterSortDesc()
public void testFilterSortDescNumeric()
testFilterSortDesc()
but the bounds are numeric.public void testFilterOutEverything()
public void testNonPushableFilterSortDesc()
testFilterSortDescNumeric()
but with a filter that cannot
be pushed down to Druid.public void testUnionPlan()
public void testFilterUnionPlan()
public void testCountGroupByEmpty()
public void testGroupByOneColumnNotProjected()
public void testGroupByTimeAndOneColumnNotProjectedWithLimit()
testGroupByTimeAndOneColumnNotProjected()
, we cannot use
"topN" because we have a global limit, and that requires
granularity: all
.public void testGroupByTimeAndOneMetricNotProjected()
public void testGroupByTimeAndOneColumnNotProjected()
public void testOrderByOneColumnNotProjected()
public void testGroupByOneColumn()
public void testGroupByOneColumnReversed()
public void testGroupByAvgSumCount()
public void testGroupByMonthGranularity()
public void testGroupByMonthGranularitySort()
public void testGroupByMonthGranularitySortLimit()
public void testGroupByDayGranularity()
public void testGroupByMonthGranularityFiltered()
public void testTopNMonthGranularity()
public void testTopNDayGranularityFiltered()
public void testGroupByHaving()
public void testGroupComposite()
public void testDistinctCount()
public void testProject()
public void testFilterDistinct()
public void testFilter()
public void testFilterTimestamp()
Test case for [CALCITE-1334] Convert predicates on EXTRACT function calls into date ranges.
public void testFilterSwapped()
public void testWhereGroupBy()
public void testGroupByMetricAndExtractTime()
public void testFilterOnDouble()
public void testPushAggregateOnTime()
public void testPushAggregateOnTimeWithExtractYear()
public void testPushAggregateOnTimeWithExtractMonth()
public void testPushAggregateOnTimeWithExtractDay()
public void testPushAggregateOnTimeWithExtractHourOfDay()
public void testPushAggregateOnTimeWithExtractYearMonthDay()
public void testPushAggregateOnTimeWithExtractYearMonthDayWithOutRenaming()
public void testPushAggregateOnTimeWithExtractWithOutRenaming()
public void testPushComplexFilter()
public void testPushOfFilterExtractionOnDayAndMonth()
public void testPushOfFilterExtractionOnDayAndMonthAndYear()
public void testFilterExtractionOnMonthWithBetween()
public void testFilterExtractionOnMonthWithIn()
public void testPushOfOrderByWithMonthExtract()
public void testGroupByFloorTimeWithoutLimit()
public void testGroupByFloorTimeWithLimit()
public void testPushofOrderByYearWithYearMonthExtract()
public void testPushofOrderByMetricWithYearMonthExtract()
public void testGroupByTimeSortOverMetrics()
public void testNumericOrderingOfOrderByOperatorFullTime()
public void testNumericOrderingOfOrderByOperatorTimeExtract()
public void testNumericOrderingOfOrderByOperatorStringDims()
public void testGroupByWeekExtract()
public void testTimeExtractThatCannotBePushed()
public void testPushCast()
public void testFalseFilter()
public void testTrueFilter()
public void testFalseFilterCaseConjectionWithTrue()
public void testPushCastNumeric()
public void testPushFieldEqualsLiteral()
public void testPlusArithmeticOperation()
public void testDivideArithmeticOperation()
public void testMultiplyArithmeticOperation()
public void testMinusArithmeticOperation()
public void testConstantPostAggregator()
public void testRecursiveArithmeticOperation()
public void testHyperUniquePostAggregator()
public void testExtractFilterWorkWithPostAggregations()
public void testExtractFilterWorkWithPostAggregationsWithConstant()
public void testSingleAverageFunction()
public void testPartiallyPostAggregation()
public void testDuplicateReferenceOnPostAggregation()
public void testDivideByZeroDoubleTypeInfinity()
public void testDivideByZeroDoubleTypeNegInfinity()
public void testDivideByZeroDoubleTypeNaN()
public void testDivideByZeroIntegerType()
public void testInterleaveBetweenAggregateAndGroupOrderByOnMetrics()
public void testInterleaveBetweenAggregateAndGroupOrderByOnDimension()
public void testOrderByOnMetricsInSelectDruidQuery()
public void testFilterClauseFactoredOut()
public void testFilterClauseAlwaysTrueGone()
public void testFilterClauseAlwaysTrueWithAggGone1()
public void testFilterClauseAlwaysTrueWithAggGone2()
public void testOuterFilterRemainsWithAlwaysTrueClause()
public void testFilterClauseAlwaysFalseNotPushed()
public void testFilterClauseAlwaysFalseNotPushedWithFilter()
public void testFilterClauseSameAsOuterFilterGone()
public void testFilterClauseNotFactoredOut1()
public void testFilterClauseNotFactoredOut2()
public void testFilterClausesFactoredForPruning1()
public void testFilterClausesFactoredForPruning2()
public void testMultipleFiltersFactoredOutWithOuterFilter()
public void testOuterFilterFalseAfterFactorSimplification()
public void testFilterClauseNotPushable()
public void testFilterClauseWithMetricRef()
public void testFilterClauseWithMetricRefAndAggregates()
public void testFilterClauseWithMetricAndTimeAndAggregates()
public void testNestedFilterClauseFactored()
public void testNestedFilterClauseInAggregates()
public void testCountColumn()
public void testCountColumn2()
public void testCountWithNonNull()
public void testNotFilterForm()
public void testDistinctCountWhenApproxResultsAccepted()
public void testDistinctCountWhenApproxResultsNotAccepted()
public void testDistinctCountOnMetric()
public void testCountOnMetric()
public void testCountStar()
public void testCountOnMetricRenamed()
public void testDistinctCountOnMetricRenamed()
public void testCountDistinctOnComplexColumn()
public void testAggregationsWithComplexColumns()
public void testPostAggregationWithComplexColumns()
public void testComplexMetricAlsoDimension()
DruidTable
should allow it to be used like any other
column.public void testSelectStarWithRollUp()
public void testTableMapReused()
DruidSchema
is always the same Java object.public void testPushEqualsCastDimension()
public void testPushNotEqualsCastDimension()
public void testIsNull()
public void testIsNotNull()
public void testFilterWithFloorOnTime()
public void testSelectFloorOnTimeWithFilterOnFloorOnTime()
public void testTimeWithFilterOnFloorOnTimeAndCastToTimestamp()
public void testTimeWithFilterOnFloorOnTimeWithTimezone()
public void testTimeWithFilterOnFloorOnTimeWithTimezoneConversion()
public void testCombinationOfValidAndNotValidAndInterval()
public void testFloorToDateRangeWithTimeZone()
public void testExpressionsFilter()
public void testExpressionsFilter2()
public void testExpressionsLikeFilter()
public void testExpressionsSTRLENFilter()
public void testExpressionsUpperLowerFilter()
public void testExpressionsLowerUpperFilter()
public void testExpressionsLowerFilterNotMatching()
public void testExpressionsLowerFilterMatching()
public void testExpressionsUpperFilterNotMatching()
public void testExpressionsUpperFilterMatching()
public void testExpressionsConcatFilter()
public void testExpressionsNotNull()
public void testComplexExpressionsIsNull()
public void testExpressionsConcatFilterMultipleColumns()
public void testAndCombinationOfExpAndSimpleFilter()
public void testOrCombinationOfExpAndSimpleFilter()
public void testColumnAEqColumnB()
public void testColumnANotEqColumnB()
public void testAndCombinationOfComplexExpAndSimpleFilter()
public void testExpressionsFilterWithCast()
public void testExpressionsFilterWithCastTimeToDateToChar()
public void testExpressionsFilterWithExtract()
public void testExtractYearFilterExpression()
public void testExtractMonthFilterExpression()
public void testExtractHourFilterExpression()
public void testTimeFloorExpressions()
public void testDruidTimeFloorAndTimeParseExpressions()
public void testDruidTimeFloorAndTimeParseExpressions2()
public void testFilterFloorOnMetricColumn()
public void testExpressionFilterSimpleColumnAEqColumnB()
public void testCastPlusMathOps()
public void testBooleanFilterExpressions()
public void testCombinationOfValidAndNotValidFilterts()
public void testCeilFilterExpression()
public void testSubStringExpressionFilter()
public void testFilterClauseWithNoConjunction()
public void testBetweenFilterWithCastOverNumeric()
public void testTrigonometryMathFunctions()
public void testCastLiteralToTimestamp()
public void testNotTrueSimpleFilter()
public void testPushOfSimpleMathOps()
public void testPushOfSimpleColumnAPlusColumnB()
public void testSelectExtractMonth()
public void testAggOnArithmeticProject()
public void testAggOnArithmeticProject2()
public void testAggOnArithmeticProject3()
public void testGroupByVirtualColumn()
public void testCountOverVirtualColumn()
public void testAggOverStringToLong()
public void testAggOnTimeExtractColumn()
public void testAggOnTimeExtractColumn2()
public void testStackedAggregateFilters()
public void testCastOverPostAggregates()
public void testSubStringOverPostAggregates()
public void testTableQueryExtractYearQuarter()
public void testTableauQueryExtractMonthDayYear()
public void testTableauQuerySubStringHourMinutes()
public void testTableauQueryMinutesSecondsExtract()
public void testQueryWithExtractsTimes()
public void testCastConcatOverPostAggregates()
public void testHavingSpecs()
public void testTransposableHavingFilter()
public void testProjectSameColumnMultipleTimes()
public void testProjectSameMetricsColumnMultipleTimes()
public void testAggSameColumnMultipleTimes()
public void testGroupBy1()
Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.