You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Aman Sinha (JIRA)" <ji...@apache.org> on 2015/02/19 00:34:15 UTC

[jira] [Commented] (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:comment-tabpanel&focusedCommentId=14326739#comment-14326739 ] 

Aman Sinha commented on DRILL-2269:
-----------------------------------

+1 on the patch.  Could you a manual verification using a hive function in a filter condition ?  

> 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
>            Reporter: Jinfeng Ni
>            Assignee: Jinfeng Ni
>         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)