public sealed override void VisitBefore(SubQueryExp expr) { if (!expr.IsUsedInResultColumn()) { ++_queryExprNestLevel; } else { _subQueryStack.Push(SubQueryType.InResults); } }
public sealed override void VisitAfter(SubQueryExp expr) { if (!expr.IsUsedInResultColumn()) { --_queryExprNestLevel; } else { // SELECT句サブクエリの目印をつける _stack.Peek().IsSubQueryInResults = true; _subQueryStack.Pop(); } }
public override void VisitAfter(SubQueryExp expr) { if (expr.IsUsedInResultColumn()) { // SELECT句サブクエリの場合 if (this.IsNotInMainResultsSource()) { return; } _scopeStack.Pop(); } else { --_queryExprNestLevel; } }
public override void VisitBefore(SubQueryExp expr) { if (expr.IsUsedInResultColumn()) { // SELECT句サブクエリの場合 if (this.IsNotInMainResultsSource()) { return; } _scopeStack.Push(new Scope(FromOrResult.ResultQuery, false)); } else { ++_queryExprNestLevel; } }