Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.18.0
Description
Output below from running:
mvn clean verify -Pit -DfailIfNoTests=false -Dtest=DoesNotExist -Dit.test=DruidAdapterIT
...
[ERROR] Tests run: 234, Failures: 10, Errors: 6, Skipped: 0
[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
Attachments
Issue Links
- blocks
-
CALCITE-2911 Release Calcite 1.19.0
- Closed
- incorporates
-
CALCITE-2933 In Druid adapter, expression like "cast(cast(\"timestamp\" as timestamp) as varchar)" returns as epoch millisecond
- Closed
- is related to
-
CALCITE-2469 RexSimplify should optimize '(NOT x) IS NULL' to 'x IS NULL'
- Closed
-
CALCITE-2224 WITHIN GROUP clause for aggregate functions
- Closed
-
CALCITE-2454 Avoid treating Project(x=1) and Project(x=1) equal in case the type of 1 is int in the first rel and long in the second one
- Closed
-
CALCITE-2838 Simplification: Remove redundant IS TRUE checks
- Closed
-
CALCITE-2590 Remove redundant CAST when operand has exactly the same type as it is casted to
- Closed
-
CALCITE-2695 Simplify casts which are only widening nullability
- Closed
- links to