Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-2932

DruidAdapterIT regression after 1.17 release

    XMLWordPrintableJSON

Details

    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

          Activity

            People

              zhztheplayer Hongze Zhang
              krisden Kevin Risden
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m