org.eigenbase.relopt.hep
Class HepRelMetadataProvider

java.lang.Object
  extended by org.eigenbase.relopt.hep.HepRelMetadataProvider
All Implemented Interfaces:
RelMetadataProvider

 class HepRelMetadataProvider
extends Object
implements RelMetadataProvider

HepRelMetadataProvider implements the RelMetadataProvider interface by combining metadata from the rels inside of a HepRelVertex.

Version:
$Id: //open/dev/farrago/src/org/eigenbase/relopt/hep/HepRelMetadataProvider.java#7 $
Author:
John V. Sichi

Constructor Summary
HepRelMetadataProvider()
           
 
Method Summary
 Object getRelMetadata(RelNode rel, String metadataQueryName, Object[] args)
          Retrieves metadata about a relational expression.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HepRelMetadataProvider

HepRelMetadataProvider()
Method Detail

getRelMetadata

public Object getRelMetadata(RelNode rel,
                             String metadataQueryName,
                             Object[] args)
Description copied from interface: RelMetadataProvider
Retrieves metadata about a relational expression.

Specified by:
getRelMetadata in interface RelMetadataProvider
Parameters:
rel - relational expression of interest
metadataQueryName - name of metadata query to invoke
args - arguments to metadata query (expected number and type depend on query name; must have well-defined hashCode/equals for use by caching); null can be used instead of empty array
Returns:
metadata result (actual type depends on query name), or null if the provider cannot answer the given query/rel combination; it is better to return null than to return a possibly incorrect answer