public override object VisitSubquery([NotNull] KoraliumParser.SubqueryContext context) { string alias = null; var aliasNode = context.table_alias(); if (aliasNode != null) { alias = aliasNode.GetText(); } var selectStatement = Visit(context.select_statement()) as SelectStatement; if (selectStatement == null) { throw new SqlParserException("Could not parse select statement"); } return(new Subquery() { Alias = alias, SelectStatement = selectStatement }); }
/// <summary> /// Exit a parse tree produced by <see cref="KoraliumParser.subquery"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitSubquery([NotNull] KoraliumParser.SubqueryContext context) { }
/// <summary> /// Visit a parse tree produced by <see cref="KoraliumParser.subquery"/>. /// <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 VisitSubquery([NotNull] KoraliumParser.SubqueryContext context) { return(VisitChildren(context)); }