[ https://issues.apache.org/jira/browse/CALCITE-4942?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated CALCITE-4942: ------------------------------------ Labels: pull-request-available (was: ) > Deprecate boilerplate for Rel Metadata > -------------------------------------- > > Key: CALCITE-4942 > URL: https://issues.apache.org/jira/browse/CALCITE-4942 > Project: Calcite > Issue Type: Improvement > Reporter: James Starr > Assignee: James Starr > Priority: Major > Labels: pull-request-available > Time Spent: 10m > Remaining Estimate: 0h > > To define a Rel metadata type you need to create 2 class, 2 methods and a > static variable. However, current implementation of RelMetadata back by > Janino only require the Handler class a single method signature. The current > metadata handler interface also has a generic that provides no type safety > through out code. > Currently to define a rel metadata type: > {code:java} > public class MyMetadata extends Metadata { > MetadataDef DEF = ... > > VALUE myMethod1(); > class Handler extends RelHandler<MyMetadata> { > VALUE myMethod2(RelNode, MetadataQuery) > } > } > {code} > What is actually needed to define a rel metadata type: > {code:java} > class MyMetadataHandler extends RelHandler { > VALUE myMethod(RelNode, MetadataQuery) > } > {code} -- This message was sent by Atlassian Jira (v8.20.1#820001)