public override SqlObject VisitOrder_by_item([NotNull] sqlParser.Order_by_itemContext context)
        {
            Contract.Requires(context != null);

            SqlScalarExpression expression = (SqlScalarExpression)this.Visit(context.scalar_expression());
            bool isDescending = false;

            if (context.sort_order() != null)
            {
                if (context.sort_order().K_ASC() != null)
                {
                    isDescending = false;
                }
                else if (context.sort_order().K_DESC() != null)
                {
                    isDescending = true;
                }
                else
                {
                    throw new ArgumentOutOfRangeException($"Unknown sort order : {context.sort_order()}.");
                }
            }

            return(SqlOrderByItem.Create(expression, isDescending));
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Visit a parse tree produced by <see cref="sqlParser.order_by_item"/>.
 /// <para>
 /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/>
 /// on <paramref name="context"/>.
 /// </para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 /// <return>The visitor result.</return>
 public virtual Result VisitOrder_by_item([NotNull] sqlParser.Order_by_itemContext context)
 {
     return(VisitChildren(context));
 }
Ejemplo n.º 3
0
 public override SqlObject VisitOrder_by_item([NotNull] sqlParser.Order_by_itemContext context)
 {
     throw new NotSupportedException();
 }
 /// <summary>
 /// Exit a parse tree produced by <see cref="sqlParser.order_by_item"/>.
 /// <para>The default implementation does nothing.</para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 public virtual void ExitOrder_by_item([NotNull] sqlParser.Order_by_itemContext context)
 {
 }