コード例 #1
0
        public override void Visit(SqlQualifiedJoinTableExpression codeObject)
        {
            codeObject.Left.Accept(this);

            _stringBuilder
            .AppendIndentedLine()
            .Append($"{codeObject.JoinOperator.GetStringRepresentation()} ");

            codeObject.Right.Accept(this);

            _stringBuilder.Append(" ");

            codeObject.OnClause.Accept(this);
        }
コード例 #2
0
ファイル: RawData.cs プロジェクト: avheerwaarde/SqlMemoryDb
        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 override void Visit(SqlQualifiedJoinTableExpression codeObject)
 {
     Format(codeObject);
 }