コード例 #1
0
        private static void GenerateTextForSqlTable(ITableInfoVisitor visitor, SqlTable sqlTable, ISqlCommandBuilder commandBuilder, bool isFirstTable)
        {
            if (sqlTable.JoinSemantics == JoinSemantics.Left)
            {
                if (isFirstTable)
                {
                    commandBuilder.Append("(SELECT NULL AS [Empty]) AS [Empty]");
                }
                commandBuilder.Append(" OUTER APPLY ");
            }
            else
            {
                if (!isFirstTable)
                {
                    commandBuilder.Append(" CROSS ");
                    if (sqlTable.TableInfo is ResolvedSimpleTableInfo)
                    {
                        commandBuilder.Append("JOIN ");
                    }
                    else
                    {
                        commandBuilder.Append("APPLY ");
                    }
                }
            }

            sqlTable.TableInfo.Accept(visitor);
        }
コード例 #2
0
    private static void GenerateTextForSqlTable (ITableInfoVisitor visitor, SqlTable sqlTable, ISqlCommandBuilder commandBuilder, bool isFirstTable)
    {
      if (sqlTable.JoinSemantics == JoinSemantics.Left)
      {
        if (isFirstTable)
          commandBuilder.Append ("(SELECT NULL AS [Empty]) AS [Empty]");
        commandBuilder.Append (" OUTER APPLY ");
      }
      else
      {
        if (!isFirstTable)
        {
          commandBuilder.Append (" CROSS ");
          if (sqlTable.TableInfo is ResolvedSimpleTableInfo)
            commandBuilder.Append ("JOIN ");
          else
            commandBuilder.Append ("APPLY ");
        }
      }

      sqlTable.TableInfo.Accept (visitor);
    }
コード例 #3
0
 public virtual ITableInfo Accept (ITableInfoVisitor visitor)
 {
   ArgumentUtility.CheckNotNull ("visitor", visitor);
   return visitor.VisitSubStatementTableInfo(this);
 }
コード例 #4
0
        public ITableInfo Accept(ITableInfoVisitor visitor)
        {
            ArgumentUtility.CheckNotNull("visitor", visitor);

            return(visitor.VisitSqlJoinedTable(this));
        }
コード例 #5
0
        public ITableInfo Accept(ITableInfoVisitor visitor)
        {
            ArgumentUtility.CheckNotNull("visitor", visitor);

            return(visitor.VisitUnresolvedGroupReferenceTableInfo(this));
        }
コード例 #6
0
 public virtual ITableInfo Accept(ITableInfoVisitor visitor)
 {
     ArgumentUtility.CheckNotNull("visitor", visitor);
     return(visitor.VisitSimpleTableInfo(this));
 }
コード例 #7
0
    public ITableInfo Accept (ITableInfoVisitor visitor)
    {
      ArgumentUtility.CheckNotNull ("visitor", visitor);

      return visitor.VisitUnresolvedGroupReferenceTableInfo (this);
    }
コード例 #8
0
 public override ITableInfo Accept(ITableInfoVisitor visitor)
 {
     return(visitor.VisitJoinedGroupingTableInfo(this));
 }
コード例 #9
0
 public override ITableInfo Accept (ITableInfoVisitor visitor)
 {
   return visitor.VisitJoinedGroupingTableInfo (this);
 }
コード例 #10
0
    public ITableInfo Accept (ITableInfoVisitor visitor)
    {
      ArgumentUtility.CheckNotNull ("visitor", visitor);

      return visitor.VisitSqlJoinedTable (this);
    }