The suggested way to set up the RelMetadataProvider is through RelOptCluster#setMetadataProvider [1]. If you want to customize the RelMetadataQuery, take the document in RelMetadataQueryBase [2] for a reference.
[1] https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/plan/RelOptCluster.java#L142 [2] https://github.com/apache/calcite/blob/d2c859098acb3210ac5cad90c5ea28a3317f0386/core/src/main/java/org/apache/calcite/rel/metadata/RelMetadataQueryBase.java#L58 Best, Danny Chan 在 2020年7月21日 +0800 PM4:18,Tal Glanzman <[email protected]>,写道: > thank you it is working great! > > On Tue, Jul 21, 2020 at 12:45 AM Stamatis Zampetakis <[email protected]> > wrote: > > > Hi Taz, > > > > If you are relying on the RelMetadataQuery [1] API then you may need to set > > your provided into THREAD_PROVIDERS in a similar way that it is done in > > RelMetadataTest [2]. > > > > Best, > > Stamatis > > > > [1] > > > > https://github.com/apache/calcite/blob/7a462f2b2f78aa12068b691c1e423ea4c8a825e4/core/src/main/java/org/apache/calcite/rel/metadata/RelMetadataQuery.java#L75 > > [2] > > > > https://github.com/apache/calcite/blob/7a462f2b2f78aa12068b691c1e423ea4c8a825e4/core/src/test/java/org/apache/calcite/test/RelMetadataTest.java#L893 > > > > On Mon, Jul 20, 2020 at 6:15 PM Tal Glanzman <[email protected]> > > wrote: > > > > > hi, > > > > > > I am trying to figure out how to add custom logic for providing metadata > > to > > > nodes inside my adapter with no luck. > > > > > > I have an implementation of my own RelMetadataProvider, as described in > > the > > > docs. > > > > > > After looking around, i still couldn't find a way to use this provider in > > > the planning phase > > > - no property in the jdbc connection string > > > - tried to invoke setMetadataProvider(provider) on the cluster of the > > > initial nodes of the tree > > > > > > drilling a bit, i notice that the provider in use is > > > JaninoRelMetadataProvider with provider=DefaultRelMetadataProvider. > > > > > > Is there a way to do such a thing using the standard execution? > > > > > > any guidance will be much appreciated, thanks! > > > > >
