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

  • Making http post requests using okhttp
  • getApplicationContext (Context)
  • getExternalFilesDir (Context)
  • addToBackStack (FragmentTransaction)
  • InetAddress (java.net)
    An Internet Protocol (IP) address. This can be either an IPv4 address or an IPv6 address, and in pra
  • Date (java.sql)
    A class which can consume and produce dates in SQL Date format. Dates are represented in SQL as yyyy
  • DateFormat (java.text)
    Formats or parses dates and times.This class provides factories for obtaining instances configured f
  • Set (java.util)
    A Set is a data structure which does not allow duplicate elements.
  • Modifier (javassist)
    The Modifier class provides static methods and constants to decode class and member access modifiers
  • SSLHandshakeException (javax.net.ssl)
    The exception that is thrown when a handshake could not be completed successfully.
  • 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