Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package org.qed.Generated.RRuleInstances;

import org.apache.calcite.rel.core.JoinRelType;
import org.qed.RRule;
import org.qed.RelRN;
import org.qed.RexRN;

public record PruneLeftEmptyJoin() implements RRule {
static final RelRN left = RelRN.scan("Left", "Left_Type");
static final RelRN right = RelRN.scan("Right", "Right_Type");

@Override
public RelRN before() {
return left.empty().join(JoinRelType.RIGHT, "pred", right);
}

@Override
public RelRN after() {
return right;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package org.qed.Generated.RRuleInstances;

import org.apache.calcite.rel.core.JoinRelType;
import org.qed.RRule;
import org.qed.RelRN;
import org.qed.RexRN;

public record PruneRightEmptyJoin() implements RRule {
static final RelRN left = RelRN.scan("Left", "Left_Type");
static final RelRN right = RelRN.scan("Right", "Right_Type");
static final RexRN joinCond = left.joinPred("join", right.empty());

@Override
public RelRN before() {
return left.join(JoinRelType.LEFT, "pred", right.empty());
}

@Override
public RelRN after() {
return left;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package org.qed.Generated.RRuleInstances;

import org.qed.RRule;
import org.qed.RelRN;
import org.qed.RexRN;

public record PruneEmptyFilter() implements RRule {
static final RelRN source = RelRN.scan("Source", "Source_Type");
static final RexRN cond = source.pred("filter_cond");

@Override
public RelRN before() {
return source.empty().filter(cond);
}

@Override
public RelRN after() {
return source.empty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package org.qed.Generated.RRuleInstances;

import org.qed.RRule;
import org.qed.RelRN;
import org.qed.RexRN;

public record PruneEmptyIntersect() implements RRule {
static final RelRN a = RelRN.scan("A", "Common_Type");
static final RelRN b = RelRN.scan("B", "Common_Type");

@Override
public RelRN before() {
return a.intersect(false, b.empty());
}

@Override
public RelRN after() {
return a.empty().intersect(false, b.empty());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package org.qed.Generated.RRuleInstances;

import org.qed.RRule;
import org.qed.RelRN;
import org.qed.RexRN;

public record PruneEmptyProject() implements RRule {
static final RelRN source = RelRN.scan("Source", "Source_Type");
static final RexRN proj = source.proj("proj", "Project_Type");

@Override
public RelRN before() {
return source.empty().project(proj);
}

@Override
public RelRN after() {
return source.empty();
}
}