[ 
https://issues.apache.org/jira/browse/CALCITE-2932?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kevin Risden updated CALCITE-2932:
----------------------------------
    Affects Version/s: 1.19.0
                       1.18.0

> DruidAdapterIT test failures
> ----------------------------
>
>                 Key: CALCITE-2932
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2932
>             Project: Calcite
>          Issue Type: Test
>    Affects Versions: 1.18.0, 1.19.0
>            Reporter: Kevin Risden
>            Priority: Major
>
> Output below from running:
> {code:java}
> mvn clean verify -Pit -DfailIfNoTests=false -Dtest=DoesNotExist 
> -Dit.test=DruidAdapterIT
> ...
> [ERROR] Tests run: 234, Failures: 10, Errors: 6, Skipped: 0
> {code}
> {code:java}
> [INFO] Running org.apache.calcite.test.DruidAdapterIT
> [ERROR] Tests run: 234, Failures: 16, Errors: 6, Skipped: 0, Time elapsed: 
> 96.879 s <<< FAILURE! - in org.apache.calcite.test.DruidAdapterIT
> [ERROR] testComplexExpressionsIsNull(org.apache.calcite.test.DruidAdapterIT) 
> Time elapsed: 3.725 s <<< FAILURE!
> java.lang.AssertionError:
> Expected: a string containing "PLAN=EnumerableInterpreter\n 
> BindableAggregate(group=[{}], EXPR$0=[$SUM0($1)])\n 
> BindableFilter(condition=[IS NULL(+(null, CAST($0):INTEGER))])\n 
> DruidQuery(table=[[foodmart, foodmart]], 
> intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> groups=[{29}], aggs=[[COUNT()]])"
> but: was "PLAN=EnumerableInterpreter\n DruidQuery(table=[[foodmart, 
> foodmart]], intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> projects=[[0]], groups=[{}], aggs=[[COUNT()]])\n\n"
> at 
> org.apache.calcite.test.DruidAdapterIT.testComplexExpressionsIsNull(DruidAdapterIT.java:3475)
> [ERROR] testQueryWithExtractsTimes(org.apache.calcite.test.DruidAdapterIT) 
> Time elapsed: 30.195 s <<< FAILURE!
> java.lang.AssertionError:
> Expected: a string containing "PLAN=EnumerableInterpreter\n 
> BindableProject(QUARTER=[$4], WEEK=[$0], DAYOFWEEK=[$1], DAYOFMONTH=[$2], 
> DAYOFYEAR=[$3], SUM_ADDED=[$5])\n BindableSort(fetch=[1])\n 
> DruidQuery(table=[[wiki, wikiticker]], 
> intervals=[[1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z]], 
> projects=[[EXTRACT(FLAG(WEEK), $0), EXTRACT(FLAG(DOW), $0), 
> EXTRACT(FLAG(DAY), $0), EXTRACT(FLAG(DOY), $0), EXTRACT(FLAG(QUARTER), $0), 
> $1]], groups=[{0, 1, 2, 3, 4}], aggs=[[SUM($5)]], sort0=[5], dir0=[ASC])"
> but: was "PLAN=EnumerableInterpreter\n BindableProject(QUARTER=[$4], 
> WEEK=[$0], DAYOFWEEK=[$1], DAYOFMONTH=[$2], DAYOFYEAR=[$3], SUM_ADDED=[$5])\n 
> DruidQuery(table=[[wiki, wikiticker]], 
> intervals=[[1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z]], 
> projects=[[EXTRACT(FLAG(WEEK), $0), EXTRACT(FLAG(DOW), $0), 
> EXTRACT(FLAG(DAY), $0), EXTRACT(FLAG(DOY), $0), EXTRACT(FLAG(QUARTER), $0), 
> $1]], groups=[{0, 1, 2, 3, 4}], aggs=[[SUM($5)]], fetch=[1])\n\n"
> at 
> org.apache.calcite.test.DruidAdapterIT.testQueryWithExtractsTimes(DruidAdapterIT.java:4344)
> [ERROR] testPushCast(org.apache.calcite.test.DruidAdapterIT) Time elapsed: 
> 4.556 s <<< FAILURE!
> java.lang.AssertionError:
> Expected: a string containing "PLAN=EnumerableInterpreter\n 
> BindableSort(sort0=[$0], dir0=[ASC], fetch=[5])\n 
> BindableFilter(condition=[=($0, null)])\n DruidQuery(table=[[foodmart, 
> foodmart]], intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> groups=[{1}], aggs=[[]])"
> but: was "PLAN=EnumerableInterpreter\n DruidQuery(table=[[foodmart, 
> foodmart]], intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> filter=[false], groups=[{1}], aggs=[[]], sort0=[0], dir0=[ASC], 
> fetch=[5])\n\n"
> at 
> org.apache.calcite.test.DruidAdapterIT.testPushCast(DruidAdapterIT.java:1944)
> [ERROR] testPartiallyPostAggregation(org.apache.calcite.test.DruidAdapterIT) 
> Time elapsed: 23.506 s <<< FAILURE!
> java.lang.AssertionError:
> Expected: a string containing "DruidQuery(table=[[foodmart, foodmart]], 
> intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> projects=[[$63, $89, $90, $91]], groups=[{0}], aggs=[[SUM($2), SUM($3), 
> SUM($1)]], post_projects=[[$0, /($1, $2), CASE(=($3, 0), 1.0, 
> CAST($3):DECIMAL(19, 0))]], sort0=[1], dir0=[DESC])"
> but: was "PLAN=EnumerableInterpreter\n DruidQuery(table=[[foodmart, 
> foodmart]], intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> projects=[[$63, $89, $90, $91]], groups=[{0}], aggs=[[SUM($2), SUM($3), 
> SUM($1)]], post_projects=[[$0, /($1, $2), CASE(=($3, 0), 1.0:DECIMAL(19, 0), 
> CAST($3):DECIMAL(19, 0))]], sort0=[1], dir0=[DESC])\n\n"
> at 
> org.apache.calcite.test.DruidAdapterIT.testPartiallyPostAggregation(DruidAdapterIT.java:2203)
> [ERROR] 
> testExpressionsFilterWithCastTimeToDateToChar(org.apache.calcite.test.DruidAdapterIT)
>  Time elapsed: 0.336 s <<< FAILURE!
> java.lang.AssertionError:
> Expected: a string containing "PLAN=EnumerableInterpreter\n 
> DruidQuery(table=[[foodmart, foodmart]], 
> intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> filter=[=(CAST(CAST($0):DATE NOT NULL):VARCHAR CHARACTER SET \"ISO-8859-1\" 
> COLLATE \"ISO-8859-1$en_US$primary\" NOT NULL, '1997-01-01')], groups=[{}], 
> aggs=[[COUNT()]])"
> but: was "PLAN=EnumerableInterpreter\n DruidQuery(table=[[foodmart, 
> foodmart]], intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> filter=[=(CAST(CAST($0):DATE NOT NULL):VARCHAR NOT NULL, '1997-01-01')], 
> groups=[{}], aggs=[[COUNT()]])\n\n"
> at 
> org.apache.calcite.test.DruidAdapterIT.testExpressionsFilterWithCastTimeToDateToChar(DruidAdapterIT.java:3581)
> [ERROR] 
> testCastConcatOverPostAggregates(org.apache.calcite.test.DruidAdapterIT) Time 
> elapsed: 21.004 s <<< FAILURE!
> java.lang.AssertionError:
> Expected: a string containing "PLAN=EnumerableInterpreter\n 
> DruidQuery(table=[[foodmart, foodmart]], 
> intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> projects=[[$90, $91]], groups=[{}], aggs=[[COUNT(), SUM($0), SUM($1)]], 
> post_projects=[[||(||(CAST(+($0, $1)):VARCHAR CHARACTER SET \"ISO-8859-1\" 
> COLLATE \"ISO-8859-1$en_US$primary\", '_'), CAST($2):VARCHAR)]])"
> but: was "PLAN=EnumerableInterpreter\n DruidQuery(table=[[foodmart, 
> foodmart]], intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> projects=[[$90, $91]], groups=[{}], aggs=[[COUNT(), SUM($0), SUM($1)]], 
> post_projects=[[||(||(CAST(+($0, $1)):VARCHAR, '_'), CAST($2):VARCHAR)]])\n\n"
> at 
> org.apache.calcite.test.DruidAdapterIT.testCastConcatOverPostAggregates(DruidAdapterIT.java:4362)
> [ERROR] testNotTrueSimpleFilter(org.apache.calcite.test.DruidAdapterIT) Time 
> elapsed: 5.279 s <<< FAILURE!
> java.lang.AssertionError:
> Expected: a string containing "PLAN=EnumerableInterpreter\n 
> DruidQuery(table=[[foodmart, foodmart]], 
> intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> filter=[AND(IS NOT TRUE(=($1, 1020)), IS FALSE(=($1, 1020)))], groups=[{}], 
> aggs=[[COUNT()]])"
> but: was "PLAN=EnumerableInterpreter\n DruidQuery(table=[[foodmart, 
> foodmart]], intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> filter=[AND(IS NOT TRUE(=($1, 1020)), <>($1, 1020))], groups=[{}], 
> aggs=[[COUNT()]])\n\n"
> at 
> org.apache.calcite.test.DruidAdapterIT.testNotTrueSimpleFilter(DruidAdapterIT.java:4024)
> [ERROR] testBooleanFilterExpressions(org.apache.calcite.test.DruidAdapterIT) 
> Time elapsed: 0.064 s <<< FAILURE!
> java.lang.AssertionError:
> Expected: a string containing "PLAN=EnumerableInterpreter\n 
> DruidQuery(table=[[foodmart, foodmart]], 
> intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], filter=[IS 
> TRUE(CAST(<>($1, '1')):BOOLEAN)], groups=[{}], aggs=[[COUNT()]])"
> but: was "PLAN=EnumerableInterpreter\n DruidQuery(table=[[foodmart, 
> foodmart]], intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> filter=[<>($1, '1')], groups=[{}], aggs=[[COUNT()]])\n\n"
> at 
> org.apache.calcite.test.DruidAdapterIT.testBooleanFilterExpressions(DruidAdapterIT.java:3810)
> [ERROR] 
> testFilterClauseNotFactoredOut1(org.apache.calcite.test.DruidAdapterIT) Time 
> elapsed: 0.01 s <<< ERROR!
> java.sql.SQLException: Error while executing SQL "select sum("store_sales") 
> filter (where "store_state" = 'CA'), sum("store_cost") from "foodmart"": 
> Error while applying rule DruidAggregateProjectRule, args 
> [rel#99096:LogicalAggregate.NONE.[](input=RelSubset#99095,group={},EXPR$0=SUM($0)
>  FILTER $1,EXPR$1=SUM($2)), 
> rel#99092:LogicalProject.NONE.[](input=RelSubset#99091,store_sales=$90,$f1=IS 
> TRUE(=($63, 'CA')),store_cost=$91), 
> rel#99061:DruidQuery.BINDABLE.[](table=[foodmart, 
> foodmart],intervals=[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z])]
> at 
> org.apache.calcite.test.DruidAdapterIT.testFilterClauseNotFactoredOut1(DruidAdapterIT.java:2530)
> Caused by: java.lang.RuntimeException: Error while applying rule 
> DruidAggregateProjectRule, args 
> [rel#99096:LogicalAggregate.NONE.[](input=RelSubset#99095,group={},EXPR$0=SUM($0)
>  FILTER $1,EXPR$1=SUM($2)), 
> rel#99092:LogicalProject.NONE.[](input=RelSubset#99091,store_sales=$90,$f1=IS 
> TRUE(=($63, 'CA')),store_cost=$91), 
> rel#99061:DruidQuery.BINDABLE.[](table=[foodmart, 
> foodmart],intervals=[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z])]
> at 
> org.apache.calcite.test.DruidAdapterIT.testFilterClauseNotFactoredOut1(DruidAdapterIT.java:2530)
> Caused by: java.lang.IndexOutOfBoundsException: index (-1) must not be 
> negative
> at 
> org.apache.calcite.test.DruidAdapterIT.testFilterClauseNotFactoredOut1(DruidAdapterIT.java:2530)
> [ERROR] 
> testFilterClauseNotFactoredOut2(org.apache.calcite.test.DruidAdapterIT) Time 
> elapsed: 0.024 s <<< ERROR!
> java.sql.SQLException: Error while executing SQL "select sum("store_sales") 
> filter (where "store_state" = 'CA'), sum("store_cost") from "foodmart" where 
> "the_year" >= 1997": Error while applying rule DruidAggregateProjectRule, 
> args 
> [rel#99282:BindableAggregate.BINDABLE.[](input=RelSubset#99261,group={},EXPR$0=SUM($0)
>  FILTER $1,EXPR$1=SUM($2)), 
> rel#99281:BindableProject.BINDABLE.[](input=RelSubset#99279,store_sales=$90,$f1=IS
>  TRUE(=($63, 'CA')),store_cost=$91), 
> rel#99298:DruidQuery.BINDABLE.[](table=[foodmart, 
> foodmart],intervals=[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z],filter=>=(CAST($83):BIGINT,
>  1997))]
> at 
> org.apache.calcite.test.DruidAdapterIT.testFilterClauseNotFactoredOut2(DruidAdapterIT.java:2550)
> Caused by: java.lang.RuntimeException: Error while applying rule 
> DruidAggregateProjectRule, args 
> [rel#99282:BindableAggregate.BINDABLE.[](input=RelSubset#99261,group={},EXPR$0=SUM($0)
>  FILTER $1,EXPR$1=SUM($2)), 
> rel#99281:BindableProject.BINDABLE.[](input=RelSubset#99279,store_sales=$90,$f1=IS
>  TRUE(=($63, 'CA')),store_cost=$91), 
> rel#99298:DruidQuery.BINDABLE.[](table=[foodmart, 
> foodmart],intervals=[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z],filter=>=(CAST($83):BIGINT,
>  1997))]
> at 
> org.apache.calcite.test.DruidAdapterIT.testFilterClauseNotFactoredOut2(DruidAdapterIT.java:2550)
> Caused by: java.lang.IndexOutOfBoundsException: index (-1) must not be 
> negative
> at 
> org.apache.calcite.test.DruidAdapterIT.testFilterClauseNotFactoredOut2(DruidAdapterIT.java:2550)
> [ERROR] 
> testExtractFilterWorkWithPostAggregationsWithConstant(org.apache.calcite.test.DruidAdapterIT)
>  Time elapsed: 16.591 s <<< FAILURE!
> java.lang.AssertionError:
> Expected: a string containing "PLAN=EnumerableInterpreter\n 
> DruidQuery(table=[[foodmart, foodmart]], 
> intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> filter=[AND(=($2, 'Bird Call'), OR(=(EXTRACT(FLAG(WEEK), $0), 10), 
> =(EXTRACT(FLAG(WEEK), $0), 11)))], projects=[[$0, $2, $63, $90, $91]], 
> groups=[{2}], aggs=[[SUM($3), SUM($4)]], post_projects=[[$0, 'Bird Call', 
> -($1, $2)]])"
> but: was "PLAN=EnumerableInterpreter\n DruidQuery(table=[[foodmart, 
> foodmart]], intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> filter=[AND(=($2, 'Bird Call'), OR(=(EXTRACT(FLAG(WEEK), $0), 10), 
> =(EXTRACT(FLAG(WEEK), $0), 11)))], projects=[[$63, $90, $91]], groups=[{0}], 
> aggs=[[SUM($1), SUM($2)]], post_projects=[[$0, 'Bird Call', -($1, $2)]])\n\n"
> at 
> org.apache.calcite.test.DruidAdapterIT.testExtractFilterWorkWithPostAggregationsWithConstant(DruidAdapterIT.java:2166)
> [ERROR] 
> testDuplicateReferenceOnPostAggregation(org.apache.calcite.test.DruidAdapterIT)
>  Time elapsed: 9.426 s <<< FAILURE!
> java.lang.AssertionError:
> Expected: a string containing "PLAN=EnumerableInterpreter\n 
> DruidQuery(table=[[foodmart, foodmart]], 
> intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> groups=[{63}], aggs=[[SUM($90), SUM($91)]], post_projects=[[$0, +($1, 100), 
> -(+($1, 100), $2)]], sort0=[1], dir0=[DESC]"
> but: was "PLAN=EnumerableInterpreter\n DruidQuery(table=[[foodmart, 
> foodmart]], intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> projects=[[$63, $90, $91]], groups=[{0}], aggs=[[SUM($1), SUM($2)]], 
> post_projects=[[$0, +($1, 100), -(+($1, 100), $2)]], sort0=[1], 
> dir0=[DESC])\n\n"
> at 
> org.apache.calcite.test.DruidAdapterIT.testDuplicateReferenceOnPostAggregation(DruidAdapterIT.java:2222)
> [ERROR] 
> testFilterClauseAlwaysTrueWithAggGone1(org.apache.calcite.test.DruidAdapterIT)
>  Time elapsed: 0.007 s <<< ERROR!
> java.sql.SQLException: Error while executing SQL "select sum("store_sales") 
> filter (where 1 = 1), sum("store_cost") from "foodmart"": Error while 
> applying rule DruidAggregateProjectRule, args 
> [rel#135366:LogicalAggregate.NONE.[](input=RelSubset#135364,group={},EXPR$0=SUM($0)
>  FILTER $1,EXPR$1=SUM($2)), 
> rel#135362:LogicalProject.NONE.[](input=RelSubset#135361,store_sales=$90,$f1=true,store_cost=$91),
>  rel#135302:DruidQuery.BINDABLE.[](table=[foodmart, 
> foodmart],intervals=[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z])]
> at 
> org.apache.calcite.test.DruidAdapterIT.testFilterClauseAlwaysTrueWithAggGone1(DruidAdapterIT.java:2406)
> Caused by: java.lang.RuntimeException: Error while applying rule 
> DruidAggregateProjectRule, args 
> [rel#135366:LogicalAggregate.NONE.[](input=RelSubset#135364,group={},EXPR$0=SUM($0)
>  FILTER $1,EXPR$1=SUM($2)), 
> rel#135362:LogicalProject.NONE.[](input=RelSubset#135361,store_sales=$90,$f1=true,store_cost=$91),
>  rel#135302:DruidQuery.BINDABLE.[](table=[foodmart, 
> foodmart],intervals=[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z])]
> at 
> org.apache.calcite.test.DruidAdapterIT.testFilterClauseAlwaysTrueWithAggGone1(DruidAdapterIT.java:2406)
> Caused by: java.lang.IndexOutOfBoundsException: index (-1) must not be 
> negative
> at 
> org.apache.calcite.test.DruidAdapterIT.testFilterClauseAlwaysTrueWithAggGone1(DruidAdapterIT.java:2406)
> [ERROR] testStackedAggregateFilters(org.apache.calcite.test.DruidAdapterIT) 
> Time elapsed: 0.006 s <<< ERROR!
> java.sql.SQLException: Error while executing SQL "SELECT COUNT("product_id") 
> filter (WHERE "state_province" = 'CA' OR "store_sales" > 100 AND "product_id" 
> <> '100'), count(*) FROM "foodmart"": Error while applying rule 
> DruidAggregateProjectRule, args 
> [rel#161136:LogicalAggregate.NONE.[](input=RelSubset#161134,group={},EXPR$0=COUNT($0)
>  FILTER $1,EXPR$1=COUNT()), 
> rel#161133:LogicalProject.NONE.[](input=RelSubset#161129,product_id=$1,$f1=IS 
> TRUE(OR(=($30, 'CA'), AND(>($90, 100), <>($1, '100'))))), 
> rel#161081:DruidQuery.BINDABLE.[](table=[foodmart, 
> foodmart],intervals=[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z])]
> at 
> org.apache.calcite.test.DruidAdapterIT.testStackedAggregateFilters(DruidAdapterIT.java:4223)
> Caused by: java.lang.RuntimeException: Error while applying rule 
> DruidAggregateProjectRule, args 
> [rel#161136:LogicalAggregate.NONE.[](input=RelSubset#161134,group={},EXPR$0=COUNT($0)
>  FILTER $1,EXPR$1=COUNT()), 
> rel#161133:LogicalProject.NONE.[](input=RelSubset#161129,product_id=$1,$f1=IS 
> TRUE(OR(=($30, 'CA'), AND(>($90, 100), <>($1, '100'))))), 
> rel#161081:DruidQuery.BINDABLE.[](table=[foodmart, 
> foodmart],intervals=[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z])]
> at 
> org.apache.calcite.test.DruidAdapterIT.testStackedAggregateFilters(DruidAdapterIT.java:4223)
> Caused by: java.lang.IndexOutOfBoundsException: index (-1) must not be 
> negative
> at 
> org.apache.calcite.test.DruidAdapterIT.testStackedAggregateFilters(DruidAdapterIT.java:4223)
> [ERROR] 
> testCountDistinctOnComplexColumn(org.apache.calcite.test.DruidAdapterIT) Time 
> elapsed: 21.587 s <<< ERROR!
> java.sql.SQLException: Error while executing SQL "select sum("store_sales"), 
> count(distinct "customer_id") filter (where "store_state" = 'CA') from 
> "foodmart" where "the_month" = 'October'": Error while applying rule 
> DruidAggregateProjectRule, args 
> [rel#249987:LogicalAggregate.NONE.[](input=RelSubset#249986,group={},EXPR$0=SUM($0),EXPR$1=COUNT(DISTINCT
>  $1) FILTER $2), 
> rel#250153:LogicalProject.NONE.[](input=RelSubset#250074,store_sales=$90,customer_id=$20,$f2=IS
>  TRUE(=($63, 'CA'))), rel#250130:DruidQuery.BINDABLE.[](table=[foodmart, 
> foodmart],intervals=[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z],filter==($82,
>  'October'))]
> at 
> org.apache.calcite.test.DruidAdapterIT.testCountDistinctOnComplexColumn(DruidAdapterIT.java:2992)
> Caused by: java.lang.RuntimeException: Error while applying rule 
> DruidAggregateProjectRule, args 
> [rel#249987:LogicalAggregate.NONE.[](input=RelSubset#249986,group={},EXPR$0=SUM($0),EXPR$1=COUNT(DISTINCT
>  $1) FILTER $2), 
> rel#250153:LogicalProject.NONE.[](input=RelSubset#250074,store_sales=$90,customer_id=$20,$f2=IS
>  TRUE(=($63, 'CA'))), rel#250130:DruidQuery.BINDABLE.[](table=[foodmart, 
> foodmart],intervals=[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z],filter==($82,
>  'October'))]
> at 
> org.apache.calcite.test.DruidAdapterIT.testCountDistinctOnComplexColumn(DruidAdapterIT.java:2992)
> Caused by: java.lang.IndexOutOfBoundsException: index (-1) must not be 
> negative
> at 
> org.apache.calcite.test.DruidAdapterIT.testCountDistinctOnComplexColumn(DruidAdapterIT.java:2992)
> [ERROR] 
> testDivideByZeroDoubleTypeNegInfinity(org.apache.calcite.test.DruidAdapterIT) 
> Time elapsed: 10.234 s <<< FAILURE!
> java.lang.AssertionError:
> Expected: a string containing "PLAN=EnumerableInterpreter\n 
> DruidQuery(table=[[foodmart, foodmart]], 
> intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> projects=[[$63, $91]], groups=[{0}], aggs=[[SUM($1)]], post_projects=[[$0, 
> /(*(-1.0, $1), 0)]], sort0=[1], dir0=[DESC])"
> but: was "PLAN=EnumerableInterpreter\n DruidQuery(table=[[foodmart, 
> foodmart]], intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> projects=[[$63, $91]], groups=[{0}], aggs=[[SUM($1)]], post_projects=[[$0, 
> /(*(-1.0:DECIMAL(2, 1), $1), 0)]], sort0=[1], dir0=[DESC])\n\n"
> at 
> org.apache.calcite.test.DruidAdapterIT.testDivideByZeroDoubleTypeNegInfinity(DruidAdapterIT.java:2255)
> [ERROR] testGroupByAvgSumCount(org.apache.calcite.test.DruidAdapterIT) Time 
> elapsed: 8.489 s <<< FAILURE!
> java.lang.AssertionError:
> Expected: a string containing "PLAN=EnumerableInterpreter\n 
> BindableProject(state_province=[$0], A=[CAST(/(CASE(=($2, 0), null, $1), 
> $2)):BIGINT], S=[CASE(=($2, 0), null, $1)], C=[$3], C0=[$4])\n 
> DruidQuery(table=[[foodmart, foodmart]], 
> intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> projects=[[$30, $89, $71]], groups=[{0}], aggs=[[$SUM0($1), COUNT($1), 
> COUNT($2), COUNT()]], sort0=[0], dir0=[ASC])"
> but: was "PLAN=EnumerableInterpreter\n BindableProject(state_province=[$0], 
> A=[/(CASE(=($2, 0), null:BIGINT, $1), $2)], S=[CASE(=($2, 0), null:BIGINT, 
> $1)], C=[$3], C0=[$4])\n DruidQuery(table=[[foodmart, foodmart]], 
> intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> projects=[[$30, $89, $71]], groups=[{0}], aggs=[[$SUM0($1), COUNT($1), 
> COUNT($2), COUNT()]], sort0=[0], dir0=[ASC])\n\n"
> at 
> org.apache.calcite.test.DruidAdapterIT.testGroupByAvgSumCount(DruidAdapterIT.java:1026)
> [ERROR] 
> testInterleaveBetweenAggregateAndGroupOrderByOnMetrics(org.apache.calcite.test.DruidAdapterIT)
>  Time elapsed: 13.798 s <<< FAILURE!
> java.lang.AssertionError:
> Expected: a string containing "PLAN=EnumerableInterpreter\n 
> DruidQuery(table=[[foodmart, foodmart]], 
> intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> projects=[[$63, $2, $90, $91]], groups=[{0, 1}], aggs=[[SUM($2), SUM($3)]], 
> post_projects=[[$0, $1, -($2, $3)]], sort0=[2], dir0=[ASC], fetch=[5])"
> but: was "PLAN=EnumerableInterpreter\n DruidQuery(table=[[foodmart, 
> foodmart]], intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> groups=[{2, 63}], aggs=[[SUM($90), SUM($91)]], post_projects=[[$1, $0, -($2, 
> $3)]], sort0=[2], dir0=[ASC], fetch=[5])\n\n"
> at 
> org.apache.calcite.test.DruidAdapterIT.testInterleaveBetweenAggregateAndGroupOrderByOnMetrics(DruidAdapterIT.java:2312)
> [ERROR] 
> testOuterFilterRemainsWithAlwaysTrueClause(org.apache.calcite.test.DruidAdapterIT)
>  Time elapsed: 0.009 s <<< ERROR!
> java.sql.SQLException: Error while executing SQL "select sum("store_sales") 
> filter (where 1 = 1), sum("store_cost") from "foodmart" where "store_city" = 
> 'Seattle'": Error while applying rule DruidAggregateProjectRule, args 
> [rel#233781:BindableAggregate.BINDABLE.[](input=RelSubset#233760,group={},EXPR$0=SUM($0)
>  FILTER $1,EXPR$1=SUM($2)), 
> rel#233780:BindableProject.BINDABLE.[](input=RelSubset#233778,store_sales=$90,$f1=true,store_cost=$91),
>  rel#233797:DruidQuery.BINDABLE.[](table=[foodmart, 
> foodmart],intervals=[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z],filter==($62,
>  'Seattle'))]
> at 
> org.apache.calcite.test.DruidAdapterIT.testOuterFilterRemainsWithAlwaysTrueClause(DruidAdapterIT.java:2448)
> Caused by: java.lang.RuntimeException: Error while applying rule 
> DruidAggregateProjectRule, args 
> [rel#233781:BindableAggregate.BINDABLE.[](input=RelSubset#233760,group={},EXPR$0=SUM($0)
>  FILTER $1,EXPR$1=SUM($2)), 
> rel#233780:BindableProject.BINDABLE.[](input=RelSubset#233778,store_sales=$90,$f1=true,store_cost=$91),
>  rel#233797:DruidQuery.BINDABLE.[](table=[foodmart, 
> foodmart],intervals=[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z],filter==($62,
>  'Seattle'))]
> at 
> org.apache.calcite.test.DruidAdapterIT.testOuterFilterRemainsWithAlwaysTrueClause(DruidAdapterIT.java:2448)
> Caused by: java.lang.IndexOutOfBoundsException: index (-1) must not be 
> negative
> at 
> org.apache.calcite.test.DruidAdapterIT.testOuterFilterRemainsWithAlwaysTrueClause(DruidAdapterIT.java:2448)
> [ERROR] testTimeFloorExpressions(org.apache.calcite.test.DruidAdapterIT) Time 
> elapsed: 0.092 s <<< FAILURE!
> java.lang.AssertionError:
> Expected: a string containing "PLAN=EnumerableInterpreter\n 
> DruidQuery(table=[[foodmart, foodmart]], 
> intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> filter=[=(CAST(FLOOR(CAST($0):DATE NOT NULL, FLAG(MONTH))):DATE NOT NULL, 
> 1997-01-01)], projects=[[FLOOR($0, FLAG(DAY))]], groups=[{0}], aggs=[[]], 
> post_projects=[[CAST($0):TIMESTAMP(0) NOT NULL]], sort0=[0], dir0=[ASC], 
> fetch=[3])"
> but: was "PLAN=EnumerableInterpreter\n DruidQuery(table=[[foodmart, 
> foodmart]], intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> filter=[=(FLOOR(CAST($0):DATE NOT NULL, FLAG(MONTH)), 1997-01-01)], 
> projects=[[FLOOR($0, FLAG(DAY))]], groups=[{0}], aggs=[[]], 
> post_projects=[[CAST($0):TIMESTAMP(0) NOT NULL]], sort0=[0], dir0=[ASC], 
> fetch=[3])\n\n"
> at 
> org.apache.calcite.test.DruidAdapterIT.testTimeFloorExpressions(DruidAdapterIT.java:3726)
> [ERROR] 
> testCombinationOfValidAndNotValidFilters(org.apache.calcite.test.DruidAdapterIT)
>  Time elapsed: 5.231 s <<< FAILURE!
> java.lang.AssertionError:
> Expected: a string containing "PLAN=EnumerableInterpreter\n 
> DruidQuery(table=[[foodmart, foodmart]], 
> intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> filter=[AND(<=(/(+(CAST($1):INTEGER, *(1, $90)), -($91, 5)), +(*(FLOOR($90), 
> 25), 2)), IS TRUE(CAST(>($90, 0)):BOOLEAN), LIKE($1, '1%'), >($91, 1), <($0, 
> 1997-01-02 00:00:00), =(EXTRACT(FLAG(MONTH), $0), 1), =(EXTRACT(FLAG(DAY), 
> $0), 1), =(+(/(EXTRACT(FLAG(MONTH), $0), 4), 1), 1))], groups=[{}], 
> aggs=[[COUNT()]])"
> but: was "PLAN=EnumerableInterpreter\n DruidQuery(table=[[foodmart, 
> foodmart]], intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> filter=[AND(<=(/(+(CAST($1):INTEGER, *(1, $90)), -($91, 5)), +(*(FLOOR($90), 
> 25), 2)), >($90, 0), LIKE($1, '1%'), >($91, 1), <($0, 1997-01-02 00:00:00), 
> =(EXTRACT(FLAG(MONTH), $0), 1), =(EXTRACT(FLAG(DAY), $0), 1), 
> =(+(/(EXTRACT(FLAG(MONTH), $0), 4), 1), 1))], groups=[{}], 
> aggs=[[COUNT()]])\n\n"
> at 
> org.apache.calcite.test.DruidAdapterIT.testCombinationOfValidAndNotValidFilters(DruidAdapterIT.java:3860)
> [ERROR] 
> testTableQueryExtractYearQuarter(org.apache.calcite.test.DruidAdapterIT) Time 
> elapsed: 9.539 s <<< FAILURE!
> java.lang.AssertionError:
> Expected: a string containing "BindableProject(QR_TIMESTAMP_OK=[$0], 
> SUM_STORE_SALES=[$2], YR_TIMESTAMP_OK=[$1])\n DruidQuery(table=[[foodmart, 
> foodmart]], intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> projects=[[CAST(+(/(-(EXTRACT(FLAG(MONTH), $0), 1), 3), 1)):BIGINT NOT NULL, 
> EXTRACT(FLAG(YEAR), $0), $90]], groups=[{0, 1}], aggs=[[SUM($2)]], fetch=[1])"
> but: was "PLAN=EnumerableInterpreter\n BindableProject(QR_TIMESTAMP_OK=[$0], 
> SUM_STORE_SALES=[$2], YR_TIMESTAMP_OK=[$1])\n DruidQuery(table=[[foodmart, 
> foodmart]], intervals=[[1900-01-09T00:00:00.000Z/2992-01-10T00:00:00.000Z]], 
> projects=[[+(/(-(EXTRACT(FLAG(MONTH), $0), 1), 3), 1), EXTRACT(FLAG(YEAR), 
> $0), $90]], groups=[{0, 1}], aggs=[[SUM($2)]], fetch=[1])\n\n"
> at 
> org.apache.calcite.test.DruidAdapterIT.testTableQueryExtractYearQuarter(DruidAdapterIT.java:4268)
> ...
> [ERROR] Tests run: 234, Failures: 16, Errors: 6, Skipped: 0
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to