[ https://issues.apache.org/jira/browse/DRILL-7490?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Arina Ielchiieva updated DRILL-7490: ------------------------------------ Fix Version/s: (was: 1.18.0) 1.17.0 > limit is not pushed to JDBC storage plugin > ------------------------------------------ > > Key: DRILL-7490 > URL: https://issues.apache.org/jira/browse/DRILL-7490 > Project: Apache Drill > Issue Type: Bug > Components: Query Planning & Optimization, Storage - JDBC > Affects Versions: 1.11.0 > Reporter: Vova Vysotskyi > Assignee: Vova Vysotskyi > Priority: Major > Labels: ready-to-commit > Fix For: 1.17.0 > > > The limit is not pushed to JDBC storage plugin. > The following query: > {code:sql} > select person_id from mysql.`drill_mysql_test`.person limit 10 > {code} > Returns plan: > {noformat} > 00-00 Screen > 00-01 Project(person_id=[$0]) > 00-02 SelectionVectorRemover > 00-03 Limit(fetch=[10]) > 00-04 Limit(fetch=[10]) > 00-05 Jdbc(sql=[SELECT `person_id` FROM > `drill_mysql_test`.`person` ]) > {noformat} > This issue happens since incorrect row count is calculated for {{JdbcSort}}. > Drill enforces to use {{RelNode.estimateRowCount(mq)}} for calculating row > count for all inheritants of {{Sort}} rel node (see {{DrillRelMdRowCount}}), > but {{JdbcSort}} doesn't override this method and uses parent one which > returns row count of input. So planner choses {{DrillLimitRel}} since it has > less row count. -- This message was sent by Atlassian Jira (v8.3.4#803005)