<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -127,7 +127,7 @@ module WillPaginate
       # 
       def paginate_by_sql(sql, options)
         WillPaginate::Collection.create(*wp_parse_options(options)) do |pager|
-          query = sanitize_sql(sql)
+          query = sanitize_sql(sql.dup)
           original_query = query.dup
           # add limit, offset
           add_limit! query, :offset =&gt; pager.offset, :limit =&gt; pager.per_page</diff>
      <filename>lib/will_paginate/finder.rb</filename>
    </modified>
    <modified>
      <diff>@@ -397,6 +397,15 @@ class FinderTest &lt; ActiveRecordTestCase
       Developer.paginate(options)
       assert_equal options, options_before
     end
+    
+    def test_paginate_by_sql_doesnt_change_original_query
+      query = 'SQL QUERY'
+      original_query = query.dup
+      Developer.expects(:find_by_sql).returns([])
+      
+      Developer.paginate_by_sql query, :page =&gt; 1
+      assert_equal original_query, query
+    end
 
     def test_paginated_each
       collection = stub('collection', :size =&gt; 5, :empty? =&gt; false, :per_page =&gt; 5)</diff>
      <filename>test/finder_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>48d409a2f4d1ff11021aab217791b818703a8c59</id>
    </parent>
  </parents>
  <author>
    <name>Mislav Marohni&#263;</name>
    <email>mislav.marohnic@gmail.com</email>
  </author>
  <url>http://github.com/mislav/will_paginate/commit/f54bc393f184a49ad4ba7d44b304719cf2fc9ba2</url>
  <id>f54bc393f184a49ad4ba7d44b304719cf2fc9ba2</id>
  <committed-date>2008-08-27T14:38:55-07:00</committed-date>
  <authored-date>2008-08-27T14:38:55-07:00</authored-date>
  <message>Ensure that paginate_by_sql doesn't change the original SQL query. Closes #235</message>
  <tree>d57c3aae57f3218a06b3860f9922ed67ba08255f</tree>
  <committer>
    <name>Mislav Marohni&#263;</name>
    <email>mislav.marohnic@gmail.com</email>
  </committer>
</commit>
