<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,6 +1,7 @@
 == 1.5.4 released 2008-10-30
 
 * Removed subclass requirement for adding conditions in Conditions::Base
+* Removed DISTINCT in the select clause, instead called uniq! on the results. PostgreSQL complains about DISTINCT and AR uses uniq! when using :includes, so this is the best option.
 
 == 1.5.3 released 2008-10-30
 </diff>
      <filename>CHANGELOG.rdoc</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,4 @@
 = To Do
 
 1. Perform &quot;more efficient&quot; checks: year_of_created_at = 2008 and month_of_created_at = 8. Should result in a &quot;BETWEEN&quot; statement utilizing the column indexes. Thanks Georg for letting me know about this.
-2. Solve conflicts between scope joins and joins in the search (for old versions of AR). Also solve conflicts between joins and includes.
-3. Add configuration to change the &quot;english&quot; words
-4. Re-add the distinct option
\ No newline at end of file
+2. Solve conflicts between scope joins and joins in the search (for old versions of AR). Also solve conflicts between joins and includes.
\ No newline at end of file</diff>
      <filename>TODO.rdoc</filename>
    </modified>
    <modified>
      <diff>@@ -119,11 +119,6 @@ module Searchlogic #:nodoc:
         find_options
       end
       
-      def select
-        @select ||= &quot;DISTINCT #{klass.connection.quote_table_name(klass.table_name)}.*&quot; if !joins.blank? &amp;&amp; Config.search.remove_duplicates?
-        @select
-      end
-      
       def scope
         @scope ||= {}
       end</diff>
      <filename>lib/searchlogic/search/base.rb</filename>
    </modified>
    <modified>
      <diff>@@ -21,7 +21,9 @@ module Searchlogic
                 args[0] = klass.primary_key if [nil, :all].include?(args[0])
               end
               args &lt;&lt; options
-              klass.#{method}(*args)
+              results = klass.#{method}(*args)
+              results.uniq! if #{SEARCH_METHODS.include?(method)} &amp;&amp; results.is_a?(Array) &amp;&amp; !joins.blank? &amp;&amp; Config.search.remove_duplicates?
+              results
             end
           end
         end_eval</diff>
      <filename>lib/searchlogic/search/searching.rb</filename>
    </modified>
    <modified>
      <diff>@@ -142,7 +142,7 @@ module SearchTests
       search.conditions.users.id_greater_than = 2
       search.page = 3
       search.readonly = true
-      assert_equal_find_options({:joins =&gt; :users, :offset =&gt; 4, :select =&gt; &quot;DISTINCT \&quot;accounts\&quot;.*&quot;, :readonly =&gt; true, :conditions =&gt; [&quot;(\&quot;accounts\&quot;.\&quot;name\&quot; LIKE ?) AND (\&quot;users\&quot;.\&quot;id\&quot; &gt; ?)&quot;, &quot;%Binary%&quot;, 2], :limit =&gt; 2 }, search.sanitize)
+      assert_equal_find_options({:joins =&gt; :users, :offset =&gt; 4, :readonly =&gt; true, :conditions =&gt; [&quot;(\&quot;accounts\&quot;.\&quot;name\&quot; LIKE ?) AND (\&quot;users\&quot;.\&quot;id\&quot; &gt; ?)&quot;, &quot;%Binary%&quot;, 2], :limit =&gt; 2 }, search.sanitize)
     end
 
     def test_scope</diff>
      <filename>test/search_tests/base_test.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>examples/README.rdoc</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>8e0971f4c32c62dd1ea747e3da174d2f5178aa40</id>
    </parent>
  </parents>
  <author>
    <name>binarylogic</name>
    <email>bjohnson@binarylogic.com</email>
  </author>
  <url>http://github.com/binarylogic/searchlogic/commit/ae9147bce4e4cd7a3aa6a2f339eb9da9089bb645</url>
  <id>ae9147bce4e4cd7a3aa6a2f339eb9da9089bb645</id>
  <committed-date>2008-11-13T21:47:38-08:00</committed-date>
  <authored-date>2008-11-13T21:47:38-08:00</authored-date>
  <message>Removed DISTINCT in select, useed uniq! on results instead</message>
  <tree>05868c4b56893de725f86b812e1aaa874187bab3</tree>
  <committer>
    <name>binarylogic</name>
    <email>bjohnson@binarylogic.com</email>
  </committer>
</commit>
