if (this.children.size() > 1 && needSwapOperator()) { this.operator = SWAP_OP_MAP.get(this.operator); TupleFilter last = this.children.remove(this.children.size() - 1);
@Override public void addChild(TupleFilter child) { super.addChild(child); if (child instanceof ColumnTupleFilter) { ColumnTupleFilter columnFilter = (ColumnTupleFilter) child; if (this.column != null) { throw new IllegalStateException("Duplicate columns! old is " + column.getName() + " and new is " + columnFilter.getColumn().getName()); } this.column = columnFilter.getColumn(); // if value is before column, we need to reverse the operator. e.g. "1 >= c1" => "c1 <= 1" if (!this.conditionValues.isEmpty() && needSwapOperator()) { this.operator = SWAP_OP_MAP.get(this.operator); } } else if (child instanceof ConstantTupleFilter) { this.conditionValues.addAll(child.getValues()); this.firstCondValue = this.conditionValues.iterator().next(); } else if (child instanceof DynamicTupleFilter) { DynamicTupleFilter dynamicFilter = (DynamicTupleFilter) child; this.dynamicVariables.put(dynamicFilter.getVariableName(), null); } //TODO // else if (child instanceof ExtractTupleFilter) { // } else if (child instanceof CaseTupleFilter) { // } }
if (this.children.size() > 1 && needSwapOperator()) { this.operator = SWAP_OP_MAP.get(this.operator); TupleFilter last = this.children.remove(this.children.size() - 1);
@Override public void addChild(TupleFilter child) { super.addChild(child); if (child instanceof ColumnTupleFilter) { ColumnTupleFilter columnFilter = (ColumnTupleFilter) child; if (this.column != null) { throw new IllegalStateException("Duplicate columns! old is " + column.getName() + " and new is " + columnFilter.getColumn().getName()); } this.column = columnFilter.getColumn(); // if value is before column, we need to reverse the operator. e.g. "1 >= c1" => "c1 <= 1" if (!this.conditionValues.isEmpty() && needSwapOperator()) { this.operator = SWAP_OP_MAP.get(this.operator); } } else if (child instanceof ConstantTupleFilter) { this.conditionValues.addAll(child.getValues()); if (!this.conditionValues.isEmpty()) { this.firstCondValue = this.conditionValues.iterator().next(); } } else if (child instanceof DynamicTupleFilter) { DynamicTupleFilter dynamicFilter = (DynamicTupleFilter) child; this.dynamicVariables.put(dynamicFilter.getVariableName(), null); } else if (child instanceof FunctionTupleFilter) { this.function = (FunctionTupleFilter)child; } //TODO // else if (child instanceof ExtractTupleFilter) { // } else if (child instanceof CaseTupleFilter) { // } }