jacques-n commented on pull request #2639:
URL: https://github.com/apache/calcite/pull/2639#issuecomment-991139051


   > Have you consider adding a default implementation directly to handler 
interface and deprecating the method?
   
   It seems like your saying to add a default implementation to 
`MetadataHandler.getDef()`. I considered this but it requires the use of 
reflection to retrieve an expected static field on sub-interfaces. To me, this 
perpetuates a kind of brittle runtime binding that I think we should 
avoid/reduce in Calcite.
   
   I didn't consider deprecating the method as I believe it is used in 
ReflectiveRelMetadataProvider and it seems like it would need to be refactored 
to support removal. My main goal was that people implementing handlers didn't 
have to build a bunch of boilerplate.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to