harmeeksinghbedi commented on issue #25981:
URL: https://github.com/apache/beam/issues/25981#issuecomment-1483968743

   Here is the wrong example of the class being generated by Janino. 
   
   -----> Class generated 
   **public final class GeneratedMetadata_NonCumulativeCostHandler implements 
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.metadata.BuiltInMetadata.NonCumulativeCost.Handler**
   {
     public final 
org.apache.beam.sdk.extensions.sql.impl.CalciteQueryPlanner$NonCumulativeCostImpl
 provider0;
     public final 
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.metadata.RelMdPercentageOriginalRows$RelMdNonCumulativeCost
 provider1;
     public GeneratedMetadata_NonCumulativeCostHandler(
         
org.apache.beam.sdk.extensions.sql.impl.CalciteQueryPlanner$NonCumulativeCostImpl
 provider0,
         
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.metadata.RelMdPercentageOriginalRows$RelMdNonCumulativeCost
 provider1) {
       this.provider0 = provider0;
       this.provider1 = provider1;
     }
     public 
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.metadata.MetadataDef
 getDef() {
       return provider0.getDef();
     }
   
     private final Object methodKey0 = new 
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.metadata.janino.DescriptiveCacheKey("public
 abstract 
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptCost 
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.metadata.BuiltInMetadata$NonCumulativeCost$Handler.getNonCumulativeCost(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode,org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.metadata.RelMetadataQuery)");
     public 
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptCost 
getNonCumulativeCost(
         org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode 
r,
         
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.metadata.RelMetadataQuery
 mq) {
       while (r instanceof 
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.metadata.DelegatingMetadataRel)
 {
         r = 
((org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.metadata.DelegatingMetadataRel)
 r).getMetadataDelegateRel();
       }
       final java.util.List key = 
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.runtime.FlatLists.of(methodKey0);
       final Object v = mq.map.get(r, key);
       if (v != null) {
         if (v == 
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.metadata.NullSentinel.ACTIVE)
 {
           throw new 
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.metadata.CyclicMetadataException();
         }  
         if (v == 
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.metadata.NullSentinel.INSTANCE)
 {
           return null;
         }      
         return 
(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptCost) v;
       }
       mq.map.put(r, 
key,org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.metadata.NullSentinel.ACTIVE);
       try {
         final 
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptCost x = 
getNonCumulativeCost_(r, mq);
         mq.map.put(r, key, 
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.metadata.NullSentinel.mask(x));
         return x;
       } catch (java.lang.Exception e) {
         mq.map.row(r).clear();
         throw e;
   


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