internal virtual void AddOutOperator(LogicalOperator op) { if (_outOperators.Contains(op)) { throw new TranspilerInternalErrorException($"Internal error: operator {op} has already been added"); } _outOperators.Add(op); }
public SelectionOperator(LogicalOperator inOp, IList <SortItem> orderExprs, LimitClause limit) { FilterExpression = null; UnexpandedEntityInequalityConditions = null; SetInOperator(inOp); OrderByExpressions = orderExprs; Limit = limit; }
protected void SetInOperator(LogicalOperator op) { if (InOperators.Count() > 0) { throw new TranspilerInternalErrorException("InOperator is already set"); } op.AddOutOperator(this); AddInOperator(op); }
protected void SetInOperators(LogicalOperator opLeft, LogicalOperator opRight) { if (InOperators.Count() > 0) { throw new TranspilerInternalErrorException("InOperatorLeft or InOperatorRight is already set."); } opLeft.AddOutOperator(this); opRight.AddOutOperator(this); AddInOperator(opLeft); AddInOperator(opRight); }
public ProjectionOperator(LogicalOperator inOp, IDictionary <string, QueryExpression> projectionMap, bool isDistinct) { ProjectionMap = projectionMap; IsDistinct = isDistinct; SetInOperator(inOp); }
public SelectionOperator(LogicalOperator inOp, IEnumerable <(string, string)> entityInequityConds)
public SelectionOperator(LogicalOperator inOp, QueryExpression filterExpr) { FilterExpression = filterExpr; UnexpandedEntityInequalityConditions = null; SetInOperator(inOp); }
public SetOperator(LogicalOperator leftOp, LogicalOperator rightOp, SetOperationType setOpType) { SetOperation = setOpType; SetInOperators(leftOp, rightOp); }
internal override void AddInOperator(LogicalOperator op) { throw new TranspilerInternalErrorException("StartLogicalOperator derived types does not take any InOperator"); }
public JoinOperator(LogicalOperator leftOp, LogicalOperator rightOp, JoinType joinType) { Type = joinType; SetInOperators(leftOp, rightOp); }