jamesstarr commented on pull request #1901:
URL: https://github.com/apache/calcite/pull/1901#issuecomment-802385707


   > > Could we expand the revise call to take a RelMetadataProvider as an 
argument. Then create a static variable using an interface with the revise call 
in RelMetadataQueryBase. This would allow the removal of 
RelMetadataQueryBase.THREAD_PROVIDERS and allow customization by projects on 
how the dispatch is generated without forcing individual implementation into 
calcite main.
   > > Something like this #2367.
   > > I am in the progress of migrating my company internal branch of Calcite 
to use the Janino backed metadata provider. However, there are several 
difficult to work around opinions in the current Janino Metadata Provider we do 
not share.
   > 
   > @jamesstarr Thanks a lot for your feedback. I took a first pass of #2367 , 
and it seems to be able to resolve the problem of metadata regeneration?
   
   Currently, Calcite assumes that all custom rel nodes are registered with the 
JaninoRelMetadataProvider so the handlers do not have to be regenerated.  That 
is the API for calcites metadata.  You want to either add check, or generate 
code at compile time to ensure this is the case.  The above changes allows you 
to do either in your own code base with out having to justify why.  Maybe it 
should be changed in calcite main too, but as this PR is almost a year old, I 
am not sure it worth the effort.


-- 
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.

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


Reply via email to