/// <summary> /// Returns an operation between two SELECT clauses (UNION, UNION ALL, etc.) /// </summary> /// <param name="selectOperator"></param> /// <param name="selectA"></param> /// <param name="selectB"></param> /// <returns></returns> public virtual SqlStatement GetLiteral(SelectOperatorType selectOperator, SqlStatement selectA, SqlStatement selectB) { switch (selectOperator) { case SelectOperatorType.Union: return GetLiteralUnion(selectA, selectB); case SelectOperatorType.UnionAll: return GetLiteralUnionAll(selectA, selectB); case SelectOperatorType.Intersection: return GetLiteralIntersect(selectA, selectB); case SelectOperatorType.Exception: return GetLiteralExcept(selectA, selectB); default: throw new ArgumentOutOfRangeException(selectOperator.ToString()); } }