[ 
https://issues.apache.org/jira/browse/CALCITE-4290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17220949#comment-17220949
 ] 

Roman Churganov commented on CALCITE-4290:
------------------------------------------

Thanks for the resources. Using column width in the cost model would not solve 
a problem,  since the cost calculated as nodeCost + childNodesCost, so if I 
will wrap a TableScan in Project to limit column count,  any Project only adds 
more cost to the house.  Correct me if I am wrong.  Actually, we solved a 
problem using additional plan transformation after the physical plan ready, so 
for example we have a query where we need only one column in a subquery (with 
index 3) since a function not supported on the target database: 

{{Plan before transformation:}}
{{    EnumerableProject(EXPR$0=[CHAR_LENGTH($3)])}}
{{        JdbcToEnumerableConverter}}
{{            TableScan(table=[[fias, addrobj]])}}
{{After}}
{{    EnumerableProject(EXPR$0=[CHAR_LENGTH($0)])}}
{{       EnumerableCalc(EXPR#0=[\{inputs}], EXPR#1=[null:VARCHAR]], $0=[$t1], 
$1=[$t1], $2=[$t1], $3=[$t0], $4=[$t1], $5=[$t1])}}
{{           }}{{JdbcToEnumerableConverter}}{{}}
{{               Project(EXPR$0=[$11])}}
{{                   TableScan(table=[[fias, addrobj]])}}

 

 

 

 

 

> Not optimal subqueries due to a "*" in them
> -------------------------------------------
>
>                 Key: CALCITE-4290
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4290
>             Project: Calcite
>          Issue Type: Bug
>          Components: jdbc-adapter
>    Affects Versions: 1.25.0
>            Reporter: Roman Churganov
>            Priority: Major
>
> Run a query  which should be distributed into sub-queries onto multiple 
> schemas through JDBC adapter,  for example 
> select ft.id, ft.c11, tt.c41   from sch1.foo ft   join   sch2.tab tt  on 
> ft.id = tt.id   
> Calcite will make two sub-queries like SELECT * FROM "TAB" ORDER BY "ID"  and 
> SELECT * FROM "FOO" ORDER BY "ID"  which are not optimal due to an excessive 
> columns data requested
>  



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

Reply via email to