private FindPlan ( ObjectName reference ) : |
||
reference | ObjectName | |
리턴 |
public override void AddToPlanTree() { var op = expression.ExpressionType; var columnName = expression.Left.AsReferenceName(); var queryPlan = expression.Right.AsQueryPlan(); var tablePlan = planner.FindPlan(columnName); var leftPlan = tablePlan.Plan; tablePlan.UpdatePlan(new NonCorrelatedAnyAllNode(leftPlan, queryPlan, new [] { columnName }, op)); }
public override void AddToPlanTree() { var op = expression.ExpressionType; var columnName = expression.Left.AsReferenceName(); var right = expression.Right; bool isAll = false; if (right is SqlQuantifiedExpression) { var quantified = (SqlQuantifiedExpression)right; isAll = quantified.ExpressionType == SqlExpressionType.All; right = quantified.ValueExpression; } var queryPlan = right.AsQueryPlan(); var tablePlan = planner.FindPlan(columnName); var leftPlan = tablePlan.Plan; tablePlan.UpdatePlan(new NonCorrelatedAnyAllNode(leftPlan, queryPlan, new [] { columnName }, op, isAll)); }
public override void AddToPlanTree() { var tablePlan = planner.FindPlan(columnName); tablePlan.UpdatePlan(new SimplePatternSelectNode(tablePlan.Plan, expression)); }