Dear community

Why should invalidate all of the caches of HANDLERS when adding a new
RelNode class in JaninoRelMetadataProvider.revise() method?

The Codes are below:

package org.apache.calcite.rel.metadata

public class JaninoRelMetadataProvider implements RelMetadataProvider {

synchronized <M extends Metadata, H extends MetadataHandler<M>> H revise(

    Class<? extends RelNode> rClass, MetadataDef<M> def) {
  if (ALL_RELS.add(rClass)) {
    HANDLERS.invalidateAll();
  }
  //noinspection unchecked
  return (H) create(def);
}

}

Reply via email to