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]
