Somewhat (although not exactly) similarly to the case below, AbstractGroupScan has an 
implementation of GroupScan.clone(List<SchemaPath>), but that implementation 
doesn't do anything other than throw an exception:

   throw new UnsupportedOperationException(String.format("%s does not implement 
clone(columns) method!", this.getClass().getCanonicalName()));

Is there any need for AbstractGroupScan to declare a non-abstract 
clone(List<SchemaPath>)?  Is there any need for it to re-declare 
clone(List<SchemaPath>)at all?  (Does it narrow the contract?)

Daniel

I wrote:
Method org.apache.drill.exec.physical.base.AbstractGroupScan.getScanStats()
has a body that throws a "This must be implemented" exception.

Why isn't getScanStats()simply an abstract method?

(Is there any case in which a subclass doesn't need to implement the
method (i.e., where that method won't ever be called for that subclass)?)


Daniel


--
Daniel Barclay
MapR Technologies

Reply via email to