[
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)