Tabnine Logo
ProjectRemoveRule
Code IndexAdd Tabnine to your IDE (free)

How to use
ProjectRemoveRule
in
org.apache.calcite.rel.rules

Best Java code snippets using org.apache.calcite.rel.rules.ProjectRemoveRule (Showing top 18 results out of 315)

origin: apache/drill

    project.getRowType());
if (ProjectRemoveRule.isTrivial(newProj) &&
origin: Qihoo360/Quicksql

/**
 * Creates a ProjectRemoveRule.
 *
 * @param relBuilderFactory Builder for relational expressions
 */
public ProjectRemoveRule(RelBuilderFactory relBuilderFactory) {
 // Create a specialized operand to detect non-matches early. This keeps
 // the rule queue short.
 super(operandJ(Project.class, null, ProjectRemoveRule::isTrivial, any()),
   relBuilderFactory, null);
}
origin: Qihoo360/Quicksql

/**
 * Returns the child of a project if the project is trivial, otherwise
 * the project itself.
 */
public static RelNode strip(Project project) {
 return isTrivial(project) ? project.getInput() : project;
}
origin: org.apache.calcite/calcite-core

/**
 * Creates a ProjectRemoveRule.
 *
 * @param relBuilderFactory Builder for relational expressions
 */
public ProjectRemoveRule(RelBuilderFactory relBuilderFactory) {
 // Create a specialized operand to detect non-matches early. This keeps
 // the rule queue short.
 super(operandJ(Project.class, null, ProjectRemoveRule::isTrivial, any()),
   relBuilderFactory, null);
}
origin: org.apache.calcite/calcite-core

/**
 * Returns the child of a project if the project is trivial, otherwise
 * the project itself.
 */
public static RelNode strip(Project project) {
 return isTrivial(project) ? project.getInput() : project;
}
origin: org.apache.drill.exec/drill-java-exec

public static boolean isTrivialProject(Project project, boolean useNamesInIdentityProjCalc) {
 if (!useNamesInIdentityProjCalc) {
  return ProjectRemoveRule.isTrivial(project);
 }  else {
  return containIdentity(project.getProjects(), project.getRowType(), project.getInput().getRowType());
 }
}
origin: dremio/dremio-oss

public static boolean isTrivialProject(Project project, boolean useNamesInIdentityProjCalc) {
 if (!useNamesInIdentityProjCalc) {
  return ProjectRemoveRule.isTrivial(project);
 }  else {
  return containIdentity(project.getProjects(), project.getRowType(), project.getInput().getRowType());
 }
}
origin: dremio/dremio-oss

        proj.getRowType());
if (ProjectRemoveRule.isTrivial(newProj)) {
 call.transformTo(newScan);
} else {
origin: Qihoo360/Quicksql

public void onMatch(RelOptRuleCall call) {
 Project project = call.rel(0);
 assert isTrivial(project);
 RelNode stripped = project.getInput();
 if (stripped instanceof Project) {
  // Rename columns of child projection if desired field names are given.
  Project childProject = (Project) stripped;
  stripped = childProject.copy(childProject.getTraitSet(),
    childProject.getInput(), childProject.getProjects(),
    project.getRowType());
 }
 RelNode child = call.getPlanner().register(stripped, project);
 call.transformTo(child);
}
origin: org.apache.calcite/calcite-core

public void onMatch(RelOptRuleCall call) {
 Project project = call.rel(0);
 assert isTrivial(project);
 RelNode stripped = project.getInput();
 if (stripped instanceof Project) {
  // Rename columns of child projection if desired field names are given.
  Project childProject = (Project) stripped;
  stripped = childProject.copy(childProject.getTraitSet(),
    childProject.getInput(), childProject.getProjects(),
    project.getRowType());
 }
 RelNode child = call.getPlanner().register(stripped, project);
 call.transformTo(child);
}
origin: dremio/dremio-oss

if (ProjectRemoveRule.isTrivial(newProj)) {
 return (Prel) child;
} else {
origin: dremio/dremio-oss

@Override
public void onMatch(RelOptRuleCall call) {
 final Project proj = call.rel(0);
 final ScanCrel scan = call.rel(1);
 ProjectPushInfo columnInfo = PrelUtil.getColumns(scan.getRowType(), proj.getProjects());
 // get TableBase, either wrapped in RelOptTable, or TranslatableTable. TableBase table = scan.getTable().unwrap(TableBase.class);
 if (columnInfo == null || columnInfo.isStarQuery()) {
  return;
 }
 ScanCrel newScan = scan.cloneWithProject(columnInfo.columns);
 List<RexNode> newProjects = Lists.newArrayList();
 for (RexNode n : proj.getChildExps()) {
  newProjects.add(n.accept(columnInfo.getInputRewriter()));
 }
 final RelBuilder relBuilder = relBuilderFactory.create(proj.getCluster(), null);
 relBuilder.push(newScan);
 relBuilder.project(newProjects, proj.getRowType().getFieldNames());
 final RelNode newProj = relBuilder.build();
 if (newProj instanceof Project
   && ProjectRemoveRule.isTrivial((Project) newProj)
   && newScan.getRowType().getFullTypeString().equals(newProj.getRowType().getFullTypeString())) {
   call.transformTo(newScan);
 } else {
  if(newScan.getProjectedColumns().equals(scan.getProjectedColumns())) {
   // no point in doing a pushdown that doesn't change anything.
   return;
  }
  call.transformTo(newProj);
 }
}
origin: org.apache.drill.exec/drill-java-exec

  projectRel.getRowType());
if (ProjectRemoveRule.isTrivial(newProject)) {
 call.transformTo(newScan);
} else {
origin: org.apache.drill.exec/drill-java-exec

if (ProjectRemoveRule.isTrivial(newProj)) {
 return (Prel) child;
} else {
origin: Qihoo360/Quicksql

  project.getRowType());
if (ProjectRemoveRule.isTrivial(newTopProj)) {
 call.transformTo(newLogicalWindow);
} else {
origin: org.apache.calcite/calcite-core

  project.getRowType());
if (ProjectRemoveRule.isTrivial(newTopProj)) {
 call.transformTo(newLogicalWindow);
} else {
origin: org.apache.drill.exec/drill-java-exec

    project.getRowType());
if (ProjectRemoveRule.isTrivial(newProject)) {
 call.transformTo(newScan);
} else {
origin: org.apache.drill.contrib/drill-format-mapr

    project.getRowType());
if (ProjectRemoveRule.isTrivial(newProj) &&
org.apache.calcite.rel.rulesProjectRemoveRule

Javadoc

Planner rule that, given a org.apache.calcite.rel.core.Project node that merely returns its input, converts the node into its child.

For example, Project(ArrayReader(a), {$input0}) becomes ArrayReader(a).

Most used methods

  • isTrivial
  • any
  • operandJ

Popular in Java

  • Making http post requests using okhttp
  • getResourceAsStream (ClassLoader)
  • compareTo (BigDecimal)
  • scheduleAtFixedRate (Timer)
  • SimpleDateFormat (java.text)
    Formats and parses dates in a locale-sensitive manner. Formatting turns a Date into a String, and pa
  • List (java.util)
    An ordered collection (also known as a sequence). The user of this interface has precise control ove
  • JCheckBox (javax.swing)
  • JTextField (javax.swing)
  • FileUtils (org.apache.commons.io)
    General file manipulation utilities. Facilities are provided in the following areas: * writing to a
  • Logger (org.apache.log4j)
    This is the central class in the log4j package. Most logging operations, except configuration, are d
  • Top plugins for WebStorm
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

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