You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "Jinfeng Ni (JIRA)" <ji...@apache.org> on 2015/02/25 00:21:04 UTC

[jira] [Resolved] (DRILL-2269) Provide default implementation for getting cost of evaluating an expression in base class of LogicalExpression, in stead of throw Exception

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

Jinfeng Ni resolved DRILL-2269.
-------------------------------
    Resolution: Fixed

Fixed in commit 3c85bd8.

> Provide default implementation for getting cost of evaluating an expression in base class of LogicalExpression, in stead of throw Exception 
> --------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DRILL-2269
>                 URL: https://issues.apache.org/jira/browse/DRILL-2269
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Query Planning & Optimization
>            Reporter: Jinfeng Ni
>            Assignee: Jinfeng Ni
>             Fix For: 0.8.0
>
>         Attachments: 0001-DRILL-2269-Add-default-implementation-for-estimating.patch
>
>
> Today, the abstract class of LogicalExpression will throw Exception for two methods related to estimate the cost of evaluating an expression, in the hope that sub classes will override those two methods. However, if someone forgets to override, compiler and mvn build process will still be successful, yet will hit Exception in execution-time, complaining the sub class does not implement these methods.  As Drill's adding more sub classes of LogicalExpression to the code base, it's more likely for someone to forget to override those two methods, making it error-prone to just throw Exception in the base class.
> In stead, we should provide a default implementation for those two methods in the base class. Certain sub classes will override to change the behavior. 
>   
>  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)