internal JoinedTables(TableJoinType joinType, FromSource left, FromSource right, SqlBooleanExpression joinCondition) { JoinType = joinType; Left = left; Right = right; JoinCondition = joinCondition; }
public override object VisitTableSource([NotNull] PostgresParser.TableSourceContext context) { var res = new FromSource(); res.FirstTable = (SingleTable)Visit(context.tableSourceItem()); foreach (var joinedTable in context.joinPart()) { res.JoinedTables.Add((JoinedTable)Visit(joinedTable)); } return(res); }
protected virtual void ParseFromSource(FromSource source) { switch (source) { case TableSource table: ParseTableSource(table); return; case JoinedTables join: ParseJoinedTables(join); return; } }
private static FromSource FormSource(IContext context, PlSqlParser.QueryExpressionClauseContext clause) { var tableName = SqlParseName.Object(clause.objectName()); var query = clause.subquery(); var source = new FromSource(); if (tableName != null) { source.TableName = ObjectName.Parse(tableName.ToString()); } else if (!query.IsEmpty) { source.SubQuery = Form(context, query); } if (clause.alias != null && !clause.alias.IsEmpty) { source.Alias = clause.alias.GetText(); } return(source); }
private static FromSource FormSource(PlSqlParser.Dml_table_expression_clauseContext context) { var tableName = Name.Object(context.objectName()); var query = context.subquery(); var source = new FromSource(); if (tableName != null) { source.TableName = tableName.ToString(); } else if (!query.IsEmpty) { source.SubQuery = Form(query); } if (context.alias != null && !context.alias.IsEmpty) { source.Alias = context.alias.GetText(); } return(source); }
public SelectQueryBuilder From(FromSource source) { fromSource = source; return(this); }
internal JoinedTables(FromSource left, FromSource right) : this(TableJoinType.CrossJoin, left, right, null) { }
public FromClause(FromSource fromSource) { Source = fromSource; }
private static FromSource FormSource(PlSqlParser.Dml_table_expression_clauseContext context) { var tableName = Name.Object(context.objectName()); var query = context.subquery(); var source = new FromSource(); if (tableName != null) { source.TableName = tableName.ToString(); } else if (!query.IsEmpty) { source.SubQuery = Form(query); } if (context.alias != null && !context.alias.IsEmpty) { source.Alias = context.alias.GetText(); } return source; }