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)