public void AddAllTableJoinRows(List <RawTableJoinRow> joinRowList, string name, SqlQualifiedJoinTableExpression joinExpression) { var newTableRows = new List <RawTableJoinRow>( ); var filter = HelperConditional.GetRowFilter(joinExpression.OnClause.Expression, this); foreach (var currentRawRows in RawRowList) { var currentRowCount = newTableRows.Count; foreach (var row in joinRowList) { var newRows = new RawTableJoinRow(currentRawRows) { row.First() }; if (filter.IsValid(newRows)) { newTableRows.Add(newRows); } } if (currentRowCount == newTableRows.Count && joinExpression.JoinOperator == SqlJoinOperatorType.LeftOuterJoin) { newTableRows.Add(currentRawRows); } } RawRowList = newTableRows; }
public List <RawTableJoinRow> GetAllTableRows(Table table, string name) { var rawRowList = new List <RawTableJoinRow>( ); if (TableAliasList.ContainsKey(name) == false) { TableAliasList.Add(name, table); } foreach (var row in table.Rows) { var tableRow = new RawTableRow { Name = name, Table = table, Row = row }; var rows = new RawTableJoinRow( ) { tableRow }; rawRowList.Add(rows); } return(rawRowList); }
private List <RawTableJoinRow> ResultBatch2RowList(Table table, MemoryDbDataReader.ResultBatch batch, SqlIdentifierCollection columnList = null) { var rowList = new List <RawTableJoinRow>( ); foreach (var row in batch.ResultRows) { var tableRow = new RawTableRow { Name = table.FullName, Table = table, Row = row }; var rows = new RawTableJoinRow( ) { tableRow }; rowList.Add(rows); } return(rowList); }