congrats Icon
New! Tabnine Pro 14-day free trial
Start a free trial
Tabnine Logo
ChainedRelMetadataProvider
Code IndexAdd Tabnine to your IDE (free)

How to use
ChainedRelMetadataProvider
in
org.apache.calcite.rel.metadata

Best Java code snippets using org.apache.calcite.rel.metadata.ChainedRelMetadataProvider (Showing top 20 results out of 315)

origin: apache/hive

public RelMetadataProvider getMetadataProvider() {
 return ChainedRelMetadataProvider.of(
       ImmutableList.of(
         ReflectiveRelMetadataProvider.reflectiveSource(this,
           BuiltInMethod.NON_CUMULATIVE_COST.method),
         RelMdPercentageOriginalRows.SOURCE));
}
origin: org.apache.calcite/calcite-core

/** Creates a chain. */
public static RelMetadataProvider of(List<RelMetadataProvider> list) {
 return new ChainedRelMetadataProvider(ImmutableList.copyOf(list));
}
origin: Qihoo360/Quicksql

/** Creates a chain. */
public static RelMetadataProvider of(List<RelMetadataProvider> list) {
 return new ChainedRelMetadataProvider(ImmutableList.copyOf(list));
}
origin: apache/drill

public RelMetadataProvider getMetadataProvider() {
 return ChainedRelMetadataProvider.of(
       ImmutableList.of(
         ReflectiveRelMetadataProvider.reflectiveSource(this,
           BuiltInMethod.NON_CUMULATIVE_COST.method),
         RelMdPercentageOriginalRows.SOURCE));
}
origin: apache/hive

public RelMetadataProvider getMetadataProvider() {
 // Create cost metadata provider
 final HiveCostModel cm;
 if (HiveConf.getVar(this.hiveConf, HiveConf.ConfVars.HIVE_EXECUTION_ENGINE).equals("tez")
     && HiveConf.getBoolVar(this.hiveConf, HiveConf.ConfVars.HIVE_CBO_EXTENDED_COST_MODEL)) {
  cm = HiveOnTezCostModel.getCostModel(hiveConf);
 } else {
  cm = HiveDefaultCostModel.getCostModel();
 }
 // Get max split size for HiveRelMdParallelism
 final Double maxSplitSize = (double) HiveConf.getLongVar(
     this.hiveConf,
     HiveConf.ConfVars.MAPREDMAXSPLITSIZE);
 // Return MD provider
 return ChainedRelMetadataProvider.of(ImmutableList
     .of(
         HiveRelMdDistinctRowCount.SOURCE,
         new HiveRelMdCost(cm).getMetadataProvider(),
         HiveRelMdSelectivity.SOURCE,
         HiveRelMdRowCount.SOURCE,
         HiveRelMdUniqueKeys.SOURCE,
         HiveRelMdColumnUniqueness.SOURCE,
         HiveRelMdSize.SOURCE,
         HiveRelMdMemory.SOURCE,
         new HiveRelMdParallelism(maxSplitSize).getMetadataProvider(),
         HiveRelMdDistribution.SOURCE,
         HiveRelMdCollation.SOURCE,
         HiveRelMdPredicates.SOURCE,
         DefaultRelMetadataProvider.INSTANCE));
}
origin: apache/drill

public RelMetadataProvider getMetadataProvider() {
 // Create cost metadata provider
 final HiveCostModel cm;
 if (HiveConf.getVar(this.hiveConf, HiveConf.ConfVars.HIVE_EXECUTION_ENGINE).equals("tez")
     && HiveConf.getBoolVar(this.hiveConf, HiveConf.ConfVars.HIVE_CBO_EXTENDED_COST_MODEL)) {
  cm = HiveOnTezCostModel.getCostModel(hiveConf);
 } else {
  cm = HiveDefaultCostModel.getCostModel();
 }
 // Get max split size for HiveRelMdParallelism
 final Double maxSplitSize = (double) HiveConf.getLongVar(
     this.hiveConf,
     HiveConf.ConfVars.MAPREDMAXSPLITSIZE);
 // Return MD provider
 return ChainedRelMetadataProvider.of(ImmutableList
     .of(
         HiveRelMdDistinctRowCount.SOURCE,
         new HiveRelMdCost(cm).getMetadataProvider(),
         HiveRelMdSelectivity.SOURCE,
         HiveRelMdRowCount.SOURCE,
         HiveRelMdUniqueKeys.SOURCE,
         HiveRelMdSize.SOURCE,
         HiveRelMdMemory.SOURCE,
         new HiveRelMdParallelism(maxSplitSize).getMetadataProvider(),
         HiveRelMdDistribution.SOURCE,
         HiveRelMdCollation.SOURCE,
         HiveRelMdPredicates.SOURCE,
         DefaultRelMetadataProvider.INSTANCE));
}
origin: apache/hive

RelMetadataProvider chainedProvider = ChainedRelMetadataProvider.of(list);
optCluster.setMetadataProvider(new CachingRelMetadataProvider(chainedProvider, hepPlanner));
origin: apache/drill

RelMetadataProvider chainedProvider = ChainedRelMetadataProvider.of(list);
optCluster.setMetadataProvider(new CachingRelMetadataProvider(chainedProvider, hepPlanner));
origin: apache/hive

list.add(mdProvider);
planner.registerMetadataProviders(list);
RelMetadataProvider chainedProvider = ChainedRelMetadataProvider.of(list);
basePlan.getCluster().setMetadataProvider(
  new CachingRelMetadataProvider(chainedProvider, planner));
origin: apache/drill

list.add(mdProvider);
planner.registerMetadataProviders(list);
RelMetadataProvider chainedProvider = ChainedRelMetadataProvider.of(list);
basePlan.getCluster().setMetadataProvider(
  new CachingRelMetadataProvider(chainedProvider, planner));
origin: apache/hive

list.add(mdProvider.getMetadataProvider());
planner.registerMetadataProviders(list);
RelMetadataProvider chainedProvider = ChainedRelMetadataProvider.of(list);
origin: com.facebook.presto.hive/hive-apache

public RelMetadataProvider getMetadataProvider() {
 return ChainedRelMetadataProvider.of(
       ImmutableList.of(
         ReflectiveRelMetadataProvider.reflectiveSource(this,
           BuiltInMethod.NON_CUMULATIVE_COST.method),
         RelMdPercentageOriginalRows.SOURCE));
}
origin: org.apache.kylin/atopcalcite

 public RelNode run(RelOptPlanner planner, RelNode rel,
           RelTraitSet requiredOutputTraits,
           List<RelOptMaterialization> materializations,
           List<RelOptLattice> lattices) {
  final HepPlanner hepPlanner = new HepPlanner(hepProgram,
    null, noDag, null, RelOptCostImpl.FACTORY);
  List<RelMetadataProvider> list = Lists.newArrayList();
  if (metadataProvider != null) {
   list.add(metadataProvider);
  }
  hepPlanner.registerMetadataProviders(list);
  RelMetadataProvider plannerChain =
    ChainedRelMetadataProvider.of(list);
  rel.getCluster().setMetadataProvider(plannerChain);
  hepPlanner.setRoot(rel);
  return hepPlanner.findBestExp();
 }
};
origin: org.apache.calcite/calcite-core

/** Creates a program that executes a {@link HepProgram}. */
public static Program of(final HepProgram hepProgram, final boolean noDag,
  final RelMetadataProvider metadataProvider) {
 return (planner, rel, requiredOutputTraits, materializations, lattices) -> {
  final HepPlanner hepPlanner = new HepPlanner(hepProgram,
    null, noDag, null, RelOptCostImpl.FACTORY);
  List<RelMetadataProvider> list = new ArrayList<>();
  if (metadataProvider != null) {
   list.add(metadataProvider);
  }
  hepPlanner.registerMetadataProviders(list);
  RelMetadataProvider plannerChain =
    ChainedRelMetadataProvider.of(list);
  rel.getCluster().setMetadataProvider(plannerChain);
  hepPlanner.setRoot(rel);
  return hepPlanner.findBestExp();
 };
}
origin: Qihoo360/Quicksql

/** Creates a program that executes a {@link HepProgram}. */
public static Program of(final HepProgram hepProgram, final boolean noDag,
  final RelMetadataProvider metadataProvider) {
 return (planner, rel, requiredOutputTraits, materializations, lattices) -> {
  final HepPlanner hepPlanner = new HepPlanner(hepProgram,
    null, noDag, null, RelOptCostImpl.FACTORY);
  List<RelMetadataProvider> list = new ArrayList<>();
  if (metadataProvider != null) {
   list.add(metadataProvider);
  }
  hepPlanner.registerMetadataProviders(list);
  RelMetadataProvider plannerChain =
    ChainedRelMetadataProvider.of(list);
  rel.getCluster().setMetadataProvider(plannerChain);
  hepPlanner.setRoot(rel);
  return hepPlanner.findBestExp();
 };
}
origin: org.apache.calcite/calcite-core

@Test public void testBrokenCustomProvider() {
 final List<String> buf = new ArrayList<>();
 ColTypeImpl.THREAD_LIST.set(buf);
 final String sql = "select deptno, count(*) from emp where deptno > 10 "
   + "group by deptno having count(*) = 0";
 final RelRoot root = tester
   .withClusterFactory(cluster -> {
    cluster.setMetadataProvider(
      ChainedRelMetadataProvider.of(
        ImmutableList.of(BrokenColTypeImpl.SOURCE,
          cluster.getMetadataProvider())));
    return cluster;
   })
   .convertSqlToRel(sql);
 final RelNode rel = root.rel;
 assertThat(rel, instanceOf(LogicalFilter.class));
 final MyRelMetadataQuery mq = new MyRelMetadataQuery();
 try {
  assertThat(colType(mq, rel, 0), equalTo("DEPTNO-rel"));
  fail("expected error");
 } catch (IllegalArgumentException e) {
  final String value = "No handler for method [public abstract java.lang.String "
    + "org.apache.calcite.test.RelMetadataTest$ColType.getColType(int)] "
    + "applied to argument of type [interface org.apache.calcite.rel.RelNode]; "
    + "we recommend you create a catch-all (RelNode) handler";
  assertThat(e.getMessage(), is(value));
 }
}
origin: com.facebook.presto.hive/hive-apache

public RelMetadataProvider getMetadataProvider() {
 // Create cost metadata provider
 final HiveCostModel cm;
 if (HiveConf.getVar(this.hiveConf, HiveConf.ConfVars.HIVE_EXECUTION_ENGINE).equals("tez")
     && HiveConf.getBoolVar(this.hiveConf, HiveConf.ConfVars.HIVE_CBO_EXTENDED_COST_MODEL)) {
  cm = HiveOnTezCostModel.getCostModel(hiveConf);
 } else {
  cm = HiveDefaultCostModel.getCostModel();
 }
 // Get max split size for HiveRelMdParallelism
 final Double maxSplitSize = (double) HiveConf.getLongVar(
     this.hiveConf,
     HiveConf.ConfVars.MAPREDMAXSPLITSIZE);
 // Return MD provider
 return ChainedRelMetadataProvider.of(ImmutableList
     .of(
         HiveRelMdDistinctRowCount.SOURCE,
         new HiveRelMdCost(cm).getMetadataProvider(),
         HiveRelMdSelectivity.SOURCE,
         HiveRelMdRowCount.SOURCE,
         HiveRelMdUniqueKeys.SOURCE,
         HiveRelMdSize.SOURCE,
         HiveRelMdMemory.SOURCE,
         new HiveRelMdParallelism(maxSplitSize).getMetadataProvider(),
         HiveRelMdDistribution.SOURCE,
         HiveRelMdCollation.SOURCE,
         new DefaultRelMetadataProvider()));
}
origin: Qihoo360/Quicksql

@Test public void testBrokenCustomProvider() {
 final List<String> buf = new ArrayList<>();
 ColTypeImpl.THREAD_LIST.set(buf);
 final String sql = "select deptno, count(*) from emp where deptno > 10 "
   + "group by deptno having count(*) = 0";
 final RelRoot root = tester
   .withClusterFactory(cluster -> {
    cluster.setMetadataProvider(
      ChainedRelMetadataProvider.of(
        ImmutableList.of(BrokenColTypeImpl.SOURCE,
          cluster.getMetadataProvider())));
    return cluster;
   })
   .convertSqlToRel(sql);
 final RelNode rel = root.rel;
 assertThat(rel, instanceOf(LogicalFilter.class));
 final MyRelMetadataQuery mq = new MyRelMetadataQuery();
 try {
  assertThat(colType(mq, rel, 0), equalTo("DEPTNO-rel"));
  fail("expected error");
 } catch (IllegalArgumentException e) {
  final String value = "No handler for method [public abstract java.lang.String "
    + "org.apache.calcite.test.RelMetadataTest$ColType.getColType(int)] "
    + "applied to argument of type [interface org.apache.calcite.rel.RelNode]; "
    + "we recommend you create a catch-all (RelNode) handler";
  assertThat(e.getMessage(), is(value));
 }
}
origin: Qihoo360/Quicksql

ChainedRelMetadataProvider.of(
  ImmutableList.of(
    ReflectiveRelMetadataProvider.reflectiveSource(
origin: org.apache.calcite/calcite-core

ChainedRelMetadataProvider.of(
  ImmutableList.of(
    ReflectiveRelMetadataProvider.reflectiveSource(
org.apache.calcite.rel.metadataChainedRelMetadataProvider

Javadoc

Implementation of the RelMetadataProviderinterface via the org.apache.calcite.util.Glossary#CHAIN_OF_RESPONSIBILITY_PATTERN.

When a consumer calls the #apply method to ask for a provider for a particular type of RelNode and Metadata, scans the list of underlying providers.

Most used methods

  • of
    Creates a chain.
  • <init>
    Creates a chain.

Popular in Java

  • Finding current android device location
  • getSupportFragmentManager (FragmentActivity)
  • getResourceAsStream (ClassLoader)
  • getSharedPreferences (Context)
  • BufferedWriter (java.io)
    Wraps an existing Writer and buffers the output. Expensive interaction with the underlying reader is
  • IOException (java.io)
    Signals a general, I/O-related error. Error details may be specified when calling the constructor, a
  • Thread (java.lang)
    A thread is a thread of execution in a program. The Java Virtual Machine allows an application to ha
  • Time (java.sql)
    Java representation of an SQL TIME value. Provides utilities to format and parse the time's represen
  • Logger (org.apache.log4j)
    This is the central class in the log4j package. Most logging operations, except configuration, are d
  • Project (org.apache.tools.ant)
    Central representation of an Ant project. This class defines an Ant project with all of its targets,
  • Top 12 Jupyter Notebook Extensions
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimAtomGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyStudentsTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now