aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/base.rb
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2004-12-28 16:26:06 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2004-12-28 16:26:06 +0000
commit4cd9c9561adcbb8f3267003bd3b01931e457ed6a (patch)
tree86a57e3589dee20e0c6130ba45ff408e082d24a8 /activerecord/lib/active_record/base.rb
parent37558162664344794cf635bc7e6c976393e0ed17 (diff)
downloadrails-4cd9c9561adcbb8f3267003bd3b01931e457ed6a.tar.gz
rails-4cd9c9561adcbb8f3267003bd3b01931e457ed6a.tar.bz2
rails-4cd9c9561adcbb8f3267003bd3b01931e457ed6a.zip
Added the possibility for adapters to overwrite add_limit! to implement a different limiting scheme than "LIMIT X" used by MySQL, PostgreSQL, and SQLite.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@269 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/lib/active_record/base.rb')
-rwxr-xr-xactiverecord/lib/active_record/base.rb8
1 files changed, 5 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb
index 8a0fab2252..ce10f03789 100755
--- a/activerecord/lib/active_record/base.rb
+++ b/activerecord/lib/active_record/base.rb
@@ -288,8 +288,9 @@ module ActiveRecord #:nodoc:
sql << "#{joins} " if joins
add_conditions!(sql, conditions)
sql << "ORDER BY #{orderings} " unless orderings.nil?
- sql << "LIMIT #{sanitize_conditions(limit)} " unless limit.nil?
-
+
+ connection.add_limit!(sql, sanitize_conditions(limit)) unless limit.nil?
+
find_by_sql(sql)
end
@@ -310,7 +311,8 @@ module ActiveRecord #:nodoc:
sql = "SELECT * FROM #{table_name} "
add_conditions!(sql, conditions)
sql << "ORDER BY #{orderings} " unless orderings.nil?
- sql << "LIMIT 1"
+
+ connection.add_limit!(sql, 1)
record = connection.select_one(sql, "#{name} Load First")
instantiate(record) unless record.nil?