aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract_adapter.rb')
-rwxr-xr-xactiverecord/lib/active_record/connection_adapters/abstract_adapter.rb14
1 files changed, 13 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
index 0ed496ea43..bc30a94c97 100755
--- a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
@@ -353,10 +353,22 @@ module ActiveRecord
def structure_dump() end
def add_limit!(sql, limit)
+ if limit.is_a? Array
+ limit, offset = *limit
+ add_limit_with_offset!(sql, limit.to_i, offset.to_i)
+ else
+ add_limit_without_offset!(sql, limit)
+ end
+ end
+
+ def add_limit_with_offset!(sql, limit, offset)
+ sql << " LIMIT #{limit} OFFSET #{offset}"
+ end
+
+ def add_limit_without_offset!(sql, limit)
sql << " LIMIT #{limit}"
end
-
def initialize_schema_information
begin
execute "CREATE TABLE schema_info (version #{native_database_types[:integer][:name]}#{native_database_types[:integer][:limit]})"