My current guess is it could because of `computeSelfCost` of `EnumerableTableFunctionScan`.
-Rui On Fri, Nov 8, 2019 at 10:04 AM Rui Wang <amaliu...@apache.org> wrote: > Hello community: > > I am stuck an optimizer error while working on Calcite-3272. I am less > familiar with Calcite's optimizer and struggled to debug the following > error message. Is there some hints on what direction I should go? I can > also provide more information if that is helpful. > > > > > java.sql.SQLException: Error while executing SQL "select * FROM > TABLE(TUMBLE(TABLE ORDERS, 'ROWTIME', INTERVAL '1' MINUTE))": There are not > enough rules to produce a node with desired properties: > convention=ENUMERABLE, sort=[]. All the inputs have relevant nodes, however > the cost is still infinite. > > Root: rel#26:Subset#2.ENUMERABLE.[] > > Original rel: > > LogicalProject(ROWTIME=[$0], ID=[$1], PRODUCT=[$2], UNITS=[$3], > wstart=[$4], wend=[$5]): rowcount = 100.0, cumulative cost = > {1.7976931348623157E308 rows, 1.7976931348623157E308 cpu, > 1.7976931348623157E308 io}, id = 12 > > LogicalTableFunctionScan(invocation=[TUMBLE($3, 'ROWTIME', > 60000:INTERVAL MINUTE)], rowType=[RecordType(TIMESTAMP(0) ROWTIME, INTEGER > ID, VARCHAR(10) PRODUCT, INTEGER UNITS, TIMESTAMP(0) wstart, TIMESTAMP(0) > wend)]): rowcount = 100.0, cumulative cost = {1.7976931348623157E308 rows, > 1.7976931348623157E308 cpu, 1.7976931348623157E308 io}, id = 10 > > LogicalProject(ROWTIME=[$0], ID=[$1], PRODUCT=[$2], UNITS=[$3]): > rowcount = 100.0, cumulative cost = {200.0 rows, 501.0 cpu, 0.0 io}, id = 8 > > LogicalTableScan(table=[[ORINOCO, ORDERS]]): rowcount = 100.0, > cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io}, id = 2 > > > > -Rui >