Konstantin Orlov created IGNITE-26943:
-----------------------------------------

             Summary: Sql. NPE when running aggregated query over system view
                 Key: IGNITE-26943
                 URL: https://issues.apache.org/jira/browse/IGNITE-26943
             Project: Ignite
          Issue Type: Bug
          Components: sql ai3
            Reporter: Konstantin Orlov
            Assignee: Konstantin Orlov


Try to run following test:
{code}
    @Test void test() {
        assertQuery("SELECT COUNT(*) FROM system.table_columns WHERE 
schema_name = 'PUBLIC' GROUP BY table_id")
                .returnNothing()
                .check();
    }
{code}

It fails with the exception:
{code}
Caused by: java.lang.NullPointerException: Cannot invoke 
"org.apache.ignite.internal.sql.engine.schema.IgniteDataSource.getRowType(org.apache.calcite.rel.type.RelDataTypeFactory,
 org.apache.calcite.util.ImmutableIntList)" because "tbl" is null
        at 
org.apache.ignite.internal.sql.engine.rel.ProjectableFilterableTableScan.pushUpPredicate(ProjectableFilterableTableScan.java:219)
        at 
org.apache.ignite.internal.sql.engine.metadata.IgniteMdPredicates.getPredicates(IgniteMdPredicates.java:46)
        at 
org.apache.calcite.rel.metadata.janino.GeneratedMetadata_PredicatesHandler.getPredicates_$(Unknown
 Source)
        at 
org.apache.calcite.rel.metadata.janino.GeneratedMetadata_PredicatesHandler.getPredicates(Unknown
 Source)
        at 
org.apache.calcite.rel.metadata.RelMetadataQuery.getPulledUpPredicates(RelMetadataQuery.java:907)
        at 
org.apache.calcite.rel.metadata.RelMdPredicates.getPredicates(RelMdPredicates.java:635)
        at 
org.apache.calcite.rel.metadata.janino.GeneratedMetadata_PredicatesHandler.getPredicates_$(Unknown
 Source)
        at 
org.apache.calcite.rel.metadata.janino.GeneratedMetadata_PredicatesHandler.getPredicates(Unknown
 Source)
        at 
org.apache.calcite.rel.metadata.RelMetadataQuery.getPulledUpPredicates(RelMetadataQuery.java:907)
        at 
org.apache.calcite.rel.metadata.RelMdRowCount.getRowCount(RelMdRowCount.java:199)
        at 
org.apache.calcite.rel.metadata.janino.GeneratedMetadata_RowCountHandler.getRowCount_$(Unknown
 Source)
        at 
org.apache.calcite.rel.metadata.janino.GeneratedMetadata_RowCountHandler.getRowCount(Unknown
 Source)
        at 
org.apache.calcite.rel.metadata.RelMetadataQuery.getRowCount(RelMetadataQuery.java:264)
        at 
org.apache.calcite.rel.core.Aggregate.computeSelfCost(Aggregate.java:364)
        at 
org.apache.ignite.internal.sql.engine.metadata.IgniteMdNonCumulativeCost.getNonCumulativeCost(IgniteMdNonCumulativeCost.java:53)
        at 
org.apache.calcite.rel.metadata.janino.GeneratedMetadata_NonCumulativeCostHandler.getNonCumulativeCost_$(Unknown
 Source)
        at 
org.apache.calcite.rel.metadata.janino.GeneratedMetadata_NonCumulativeCostHandler.getNonCumulativeCost(Unknown
 Source)
        at 
org.apache.calcite.rel.metadata.RelMetadataQuery.getNonCumulativeCost(RelMetadataQuery.java:357)
        at 
org.apache.ignite.internal.sql.engine.metadata.IgniteMdCumulativeCost.nonCumulativeCost(IgniteMdCumulativeCost.java:119)
        at 
org.apache.ignite.internal.sql.engine.metadata.IgniteMdCumulativeCost.getCumulativeCost(IgniteMdCumulativeCost.java:67)
        at 
org.apache.calcite.rel.metadata.janino.GeneratedMetadata_CumulativeCostHandler.getCumulativeCost_$(Unknown
 Source)
        at 
org.apache.calcite.rel.metadata.janino.GeneratedMetadata_CumulativeCostHandler.getCumulativeCost(Unknown
 Source)
        at 
org.apache.calcite.rel.metadata.RelMetadataQuery.getCumulativeCost(RelMetadataQuery.java:339)
        at 
org.apache.ignite.internal.sql.engine.prepare.IgnitePlanner$VolcanoPlannerExt.getCost(IgnitePlanner.java:674)
        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.getCostOrInfinite(VolcanoPlanner.java:718)
        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.propagateCostImprovements(VolcanoPlanner.java:975)
        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.addRelToSet(VolcanoPlanner.java:1426)
        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1386)
        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:600)
        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:615)
        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:97)
        at 
org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:274)
        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1289)
        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:600)
        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:615)
        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.changeTraits(VolcanoPlanner.java:500)
        at 
org.apache.calcite.tools.Programs$RuleSetProgram.run(Programs.java:350)
        at 
org.apache.ignite.internal.sql.engine.prepare.IgnitePlanner.transform(IgnitePlanner.java:406)
        at 
org.apache.ignite.internal.sql.engine.prepare.PlannerHelper.optimize(PlannerHelper.java:210)
{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to