private static void GenerateSqlForJoins (SqlTableBase sqlTable, ISqlCommandBuilder commandBuilder, IJoinInfoVisitor visitor)
 {
   foreach (var joinedTable in sqlTable.JoinedTables)
   {
     GenerateTextForSqlJoinedTable (visitor, joinedTable, commandBuilder);
     GenerateSqlForJoins (joinedTable, commandBuilder, visitor);
   }
 }
    private static void GenerateTextForSqlJoinedTable (IJoinInfoVisitor visitor, SqlJoinedTable joinedTable, ISqlCommandBuilder commandBuilder)
    {
      ArgumentUtility.CheckNotNull ("joinedTable", joinedTable);

      // TODO RMLNQSQL-4: This check can be removed.
      if (joinedTable.JoinSemantics == JoinSemantics.Inner)
        throw new NotSupportedException ("SqlJoinedTables with INNER JoinSemantics are currently not supported. (RMLNQSQL-4)");

      commandBuilder.Append (" LEFT OUTER JOIN ");

      joinedTable.JoinInfo.Accept (visitor);
    }
Example #3
0
        private static void GenerateTextForSqlJoinedTable(IJoinInfoVisitor visitor, SqlJoinedTable joinedTable, ISqlCommandBuilder commandBuilder)
        {
            ArgumentUtility.CheckNotNull("joinedTable", joinedTable);

            // TODO RMLNQSQL-4: This check can be removed.
            if (joinedTable.JoinSemantics == JoinSemantics.Inner)
            {
                throw new NotSupportedException("SqlJoinedTables with INNER JoinSemantics are currently not supported. (RMLNQSQL-4)");
            }

            commandBuilder.Append(" LEFT OUTER JOIN ");

            joinedTable.JoinInfo.Accept(visitor);
        }
 public IJoinInfo Accept (IJoinInfoVisitor visitor)
 {
   ArgumentUtility.CheckNotNull ("visitor", visitor);
   return visitor.VisitUnresolvedCollectionJoinInfo (this);
 }
 public IJoinInfo Accept(IJoinInfoVisitor visitor)
 {
     ArgumentUtility.CheckNotNull("visitor", visitor);
     return(visitor.VisitUnresolvedCollectionJoinInfo(this));
 }
 public virtual IJoinInfo Accept (IJoinInfoVisitor visitor)
 {
   ArgumentUtility.CheckNotNull ("visitor", visitor);
   return visitor.VisitUnresolvedJoinInfo (this);
 }
 public virtual IJoinInfo Accept(IJoinInfoVisitor visitor)
 {
     ArgumentUtility.CheckNotNull("visitor", visitor);
     return(visitor.VisitResolvedJoinInfo(this));
 }
Example #8
0
 private static void GenerateSqlForJoins(SqlTableBase sqlTable, ISqlCommandBuilder commandBuilder, IJoinInfoVisitor visitor)
 {
     foreach (var joinedTable in sqlTable.JoinedTables)
     {
         GenerateTextForSqlJoinedTable(visitor, joinedTable, commandBuilder);
         GenerateSqlForJoins(joinedTable, commandBuilder, visitor);
     }
 }