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]