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

Taras Ledkov reassigned IGNITE-13026:
-------------------------------------

    Assignee: Taras Ledkov

> Calcite integration. Fix metadata for IgniteTable when it has embedded 
> filters.
> -------------------------------------------------------------------------------
>
>                 Key: IGNITE-13026
>                 URL: https://issues.apache.org/jira/browse/IGNITE-13026
>             Project: Ignite
>          Issue Type: Bug
>          Components: sql
>            Reporter: Roman Kondakov
>            Assignee: Taras Ledkov
>            Priority: Major
>
> By default {{RelMdRowCount}} return the actual row count for 
> {{IgniteTables}}. But current implementation of {{IgniteTableScan}} may 
> contain embedded filters and rows that are filtered out by these filters are 
> not taken into account by the metadata subsystem. 
>  For example, table emps contains 1000 rows. Filter name='Vasya' filters out 
> 95% of rows. For now we end up with situation
> {code:java}
> IgniteFilter(name='Vasya') <- estimated cardinality = 50 rows 
>   IgniteTableScan(filters=null) <- estimated cardinality = 1000 rows.
> {code}
> but after merging {{Filter}} into {{Scan}} we get the wrong estimation
> {code:java}
> IgniteTableScan(filters={name='Vasya'}) <- estimated cardinality = 1000 rows. 
> But should be 50 rows.
> {code}
> We need to add a special case in order to compute the actual cardinality 
> returned by {{IgniteTableScan}}



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

Reply via email to