Exemple #1
0
        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;
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }