Title: [501] trunk/activerecord-jdbc/lib/jdbc_adapter: Limit and offset had an off-by-one error for Derby.
Revision
501
Author
olabini
Date
2007-04-25 13:14:07 -0400 (Wed, 25 Apr 2007)

Log Message

Limit and offset had an off-by-one error for Derby. Bad Olajake package && jem install -y pkg/ActiveRecord-JDBC-0.2.4.gem --no-rdoc --no-ri

Modified Paths

Diff

Modified: trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_derby.rb (500 => 501)


--- trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_derby.rb	2007-04-25 10:28:09 UTC (rev 500)
+++ trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_derby.rb	2007-04-25 17:14:07 UTC (rev 501)
@@ -82,9 +82,13 @@
     def execute(sql, name = nil)
       log_no_bench(sql, name) do
         if sql.strip =~ /^(select|show)/i
-          @limit ||= -1
           @offset ||= 0
-          @connection.execute_query(sql)[EMAIL PROTECTED](@[EMAIL PROTECTED])]
+          if [EMAIL PROTECTED] || @limit == -1
+            range = @offset..-1
+          else
+            range = @offset...(@[EMAIL PROTECTED])
+          end
+          @connection.execute_query(sql)[range]
         else
           @connection.execute_update(sql)
         end

Modified: trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_mimer.rb (500 => 501)


--- trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_mimer.rb	2007-04-25 10:28:09 UTC (rev 500)
+++ trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_mimer.rb	2007-04-25 17:14:07 UTC (rev 501)
@@ -91,9 +91,13 @@
     end
     
     def select_all(sql, name = nil)
-      @limit ||= -1
       @offset ||= 0
-      select(sql, name)[EMAIL PROTECTED](@[EMAIL PROTECTED])]
+      if [EMAIL PROTECTED] || @limit == -1
+        range = @offset..-1
+      else
+        range = @offset...(@[EMAIL PROTECTED])
+      end
+      select(sql, name)[range]
     ensure
       @limit = @offset = nil
     end
@@ -108,9 +112,13 @@
     def execute(sql, name = nil)
       log_no_bench(sql, name) do
         if sql =~ /^select/i
-          @limit ||= -1
           @offset ||= 0
-          @connection.execute_query(sql)[EMAIL PROTECTED](@[EMAIL PROTECTED])]
+          if [EMAIL PROTECTED] || @limit == -1
+            range = @offset..-1
+          else
+            range = @offset...(@[EMAIL PROTECTED])
+          end
+          @connection.execute_query(sql)[range]
         else
           @connection.execute_update(sql)
         end
_______________________________________________
Jruby-extras-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/jruby-extras-devel

Reply via email to