public Double getMaxRowCount(Intersect rel, RelMetadataQuery mq) { // max row count is the smallest of the inputs Double rowCount = null; for (RelNode input : rel.getInputs()) { Double partialRowCount = mq.getMaxRowCount(input); if (rowCount == null || partialRowCount != null && partialRowCount < rowCount) { rowCount = partialRowCount; } } return rowCount; }
public Double getRowCount(Intersect rel, RelMetadataQuery mq) { Double rowCount = null; for (RelNode input : rel.getInputs()) { Double partialRowCount = mq.getRowCount(input); if (rowCount == null || partialRowCount != null && partialRowCount < rowCount) { rowCount = partialRowCount; } } return rowCount; }
public Double getMaxRowCount(Intersect rel, RelMetadataQuery mq) { // max row count is the smallest of the inputs Double rowCount = null; for (RelNode input : rel.getInputs()) { Double partialRowCount = mq.getMaxRowCount(input); if (rowCount == null || partialRowCount != null && partialRowCount < rowCount) { rowCount = partialRowCount; } } return rowCount; }
public Double getRowCount(Intersect rel, RelMetadataQuery mq) { Double rowCount = null; for (RelNode input : rel.getInputs()) { Double partialRowCount = mq.getRowCount(input); if (rowCount == null || partialRowCount != null && partialRowCount < rowCount) { rowCount = partialRowCount; } } return rowCount; }
public Boolean areColumnsUnique(Intersect rel, RelMetadataQuery mq, ImmutableBitSet columns, boolean ignoreNulls) { if (areColumnsUnique((SetOp) rel, mq, columns, ignoreNulls)) { return true; } for (RelNode input : rel.getInputs()) { Boolean b = mq.areColumnsUnique(input, columns, ignoreNulls); if (b != null && b) { return true; } } return false; }
public Boolean areColumnsUnique(Intersect rel, RelMetadataQuery mq, ImmutableBitSet columns, boolean ignoreNulls) { if (areColumnsUnique((SetOp) rel, mq, columns, ignoreNulls)) { return true; } for (RelNode input : rel.getInputs()) { Boolean b = mq.areColumnsUnique(input, columns, ignoreNulls); if (b != null && b) { return true; } } return false; }
public RelNode convert(RelNode rel) { final Intersect intersect = (Intersect) rel; if (intersect.all) { return null; // INTERSECT ALL not implemented } final RelTraitSet traitSet = intersect.getTraitSet().replace(out); return new JdbcIntersect(rel.getCluster(), traitSet, convertList(intersect.getInputs(), out), false); } }
public RelNode convert(RelNode rel) { final Intersect intersect = (Intersect) rel; if (intersect.all) { return null; // INTERSECT ALL not implemented } final RelTraitSet traitSet = intersect.getTraitSet().replace(out); return new JdbcIntersect(rel.getCluster(), traitSet, convertList(intersect.getInputs(), out), false); } }
final List<MutableRel> inputs = toMutables(intersect.getInputs()); return MutableIntersect.of(intersect.getRowType(), inputs, intersect.all);
final List<MutableRel> inputs = toMutables(intersect.getInputs()); return MutableIntersect.of(intersect.getRowType(), inputs, intersect.all);