[ 
https://issues.apache.org/jira/browse/CALCITE-3499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rui Wang closed CALCITE-3499.
-----------------------------
    Fix Version/s: 1.22.0
       Resolution: Fixed

> EnumerableTableFunctionScanRule doesn't convert its inputs to 
> Enumerable.CONVENTION
> -----------------------------------------------------------------------------------
>
>                 Key: CALCITE-3499
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3499
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>            Reporter: Rui Wang
>            Assignee: Rui Wang
>            Priority: Major
>             Fix For: 1.22.0
>
>
> The fix is trival: use convertList to convert inputs to Enumerable.CONVENTION.
> > Graphviz:
> > digraph G {
> >     root [style=filled,label="Root"];
> >     subgraph cluster0{
> >             label="Set 0 RecordType(TIMESTAMP(0) ROWTIME, INTEGER ID, 
> > VARCHAR(10) PRODUCT, INTEGER UNITS)";
> >             rel2 [label="rel#2:LogicalTableScan\ntable=[ORINOCO, 
> > ORDERS]\nrows=100.0, cost={inf}",shape=box]
> >             rel15 
> > [label="rel#15:LogicalProject\ninput=RelSubset#14,ROWTIME=$0,ID=$1,PRODUCT=$2,UNITS=$3\nrows=100.0,
> >  cost={inf}",shape=box]
> >             rel30 
> > [label="rel#30:EnumerableProject\ninput=RelSubset#29,ROWTIME=$0,ID=$1,PRODUCT=$2,UNITS=$3\nrows=100.0,
> >  cost={151.0 rows, 451.01 cpu, 0.0 io}",shape=box]
> >             rel32 [label="rel#32:BindableTableScan\ntable=[ORINOCO, 
> > ORDERS]\nrows=100.0, cost={1.0 rows, 1.01 cpu, 0.0 
> > io}",color=blue,shape=box]
> >             rel34 [label="rel#34:EnumerableTableScan\ntable=[ORINOCO, 
> > ORDERS]\nrows=100.0, cost={100.0 rows, 101.0 cpu, 0.0 io}",shape=box]
> >             rel35 
> > [label="rel#35:EnumerableInterpreter\ninput=RelSubset#33\nrows=100.0, 
> > cost={51.0 rows, 51.01 cpu, 0.0 io}",color=blue,shape=box]
> >             subset14 [label="rel#14:Subset#0.NONE.[0]"]
> >             subset29 [label="rel#29:Subset#0.ENUMERABLE.[0]"]
> >             subset33 [label="rel#33:Subset#0.BINDABLE.[0]"]
> >     }
> >     subgraph cluster2{
> >             label="Set 2 RecordType(TIMESTAMP(0) ROWTIME, INTEGER ID, 
> > VARCHAR(10) PRODUCT, INTEGER UNITS, TIMESTAMP(0) wstart, TIMESTAMP(0) 
> > wend)";
> >             rel17 
> > [label="rel#17:LogicalTableFunctionScan\ninput#0=RelSubset#14,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)\nrows=100.0, cost={inf}",shape=box]
> >             rel19 
> > [label="rel#19:LogicalProject\ninput=RelSubset#18,ROWTIME=$0,ID=$1,PRODUCT=$2,UNITS=$3,wstart=$4,wend=$5\nrows=100.0,
> >  cost={inf}",shape=box]
> >             rel25 
> > [label="rel#25:AbstractConverter\ninput=RelSubset#18,convention=ENUMERABLE,sort=[]\nrows=100.0,
> >  cost={inf}",shape=box]
> >             rel27 
> > [label="rel#27:EnumerableProject\ninput=RelSubset#26,ROWTIME=$0,ID=$1,PRODUCT=$2,UNITS=$3,wstart=$4,wend=$5\nrows=100.0,
> >  cost={inf}",shape=box]
> >             rel28 
> > [label="rel#28:EnumerableTableFunctionScan\ninput#0=RelSubset#14,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)\nrows=100.0, cost={inf}",shape=box]
> >             subset18 [label="rel#18:Subset#2.NONE.[]"]
> >             subset26 [label="rel#26:Subset#2.ENUMERABLE.[]"]
> >     }
> >     root -> subset26;
> >     subset14 -> rel2;
> >     subset14 -> rel15; rel15 -> subset14;
> >     subset29 -> rel30; rel30 -> subset29;
> >     subset33 -> rel32[color=blue];
> >     subset29 -> rel34;
> >     subset29 -> rel35[color=blue]; rel35 -> subset33[color=blue];
> >     subset18 -> rel17; rel17 -> subset14;
> >     subset18 -> rel19; rel19 -> subset18;
> >     subset26 -> rel25; rel25 -> subset18;
> >     subset26 -> rel27; rel27 -> subset26;
> >     subset26 -> rel28; rel28 -> subset14;
> > }



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to