Example #1
0
        public override object VisitJoin_right([NotNull] SqlParser.Join_rightContext context)
        {
            var joinTable = new JoinTable();

            if (context.join_operator().K_CROSS() != null)
            {
                joinTable.JoinType = JoinType.Cross;
            }
            else if (context.join_operator().K_INNER() != null)
            {
                joinTable.JoinType = JoinType.Inner;
            }
            else if (context.join_operator().K_LEFT() != null && context.join_operator().K_OUTER() != null)
            {
                joinTable.JoinType = JoinType.LeftOuter;
            }
            else if (context.join_operator().K_LEFT() != null)
            {
                joinTable.JoinType = JoinType.Left;
            }
            else
            {
                joinTable.JoinType = JoinType.Inner;
            }

            joinTable.Table          = (TableName)VisitTable_or_subquery(context.table_or_subquery());
            joinTable.JoinContraints = (IExpression)VisitJoin_constraint(context.join_constraint());

            return(joinTable);
        }
 /// <summary>
 /// Visit a parse tree produced by <see cref="SqlParser.join_right"/>.
 /// <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 VisitJoin_right([NotNull] SqlParser.Join_rightContext context)
 {
     return(VisitChildren(context));
 }