Author: jgbutler
Date: Wed Apr 28 16:41:34 2010
New Revision: 939007

URL: http://svn.apache.org/viewvc?rev=939007&view=rev
Log:
Add support for DISTINCT in SelectBuilder

Modified:
    
ibatis/java/ibatis-3/trunk/src/main/java/org/apache/ibatis/jdbc/SelectBuilder.java

Modified: 
ibatis/java/ibatis-3/trunk/src/main/java/org/apache/ibatis/jdbc/SelectBuilder.java
URL: 
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/src/main/java/org/apache/ibatis/jdbc/SelectBuilder.java?rev=939007&r1=939006&r2=939007&view=diff
==============================================================================
--- 
ibatis/java/ibatis-3/trunk/src/main/java/org/apache/ibatis/jdbc/SelectBuilder.java
 (original)
+++ 
ibatis/java/ibatis-3/trunk/src/main/java/org/apache/ibatis/jdbc/SelectBuilder.java
 Wed Apr 28 16:41:34 2010
@@ -22,6 +22,10 @@ public class SelectBuilder {
     sql().select.add(columns);
   }
 
+  public static void DISTINCT(boolean distinct) {
+    sql().distinct = distinct;
+  }
+
   public static void FROM(String table) {
     sql().from.add(table);
   }
@@ -75,7 +79,12 @@ public class SelectBuilder {
   public static String SQL() {
     try {
       StringBuilder builder = new StringBuilder();
-      selectClause(builder, "SELECT", sql().select, "", "", ", ");
+      if (sql().distinct) {
+          selectClause(builder, "SELECT DISTINCT", sql().select, "", "", ", ");
+      } else {
+          selectClause(builder, "SELECT", sql().select, "", "", ", ");
+      }
+      
       selectClause(builder, "FROM", sql().from, "", "", ", ");
       selectClause(builder, "JOIN", sql().join, "", "", "JOIN");
       selectClause(builder, "INNER JOIN", sql().innerJoin, "", "", "\nINNER 
JOIN ");
@@ -133,6 +142,7 @@ public class SelectBuilder {
     List<String> groupBy = new ArrayList<String>();
     List<String> orderBy = new ArrayList<String>();
     List<String> lastList = new ArrayList<String>();
+    boolean distinct;
   }
 
 }


Reply via email to