aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/base.rb
Commit message (Collapse)AuthorAgeFilesLines
* Qualify the ids used such that eager loading can avoid ambigious keysDavid Heinemeier Hansson2005-04-131-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1163 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed pagination to work with joins #1034 [scott@sigkill.org]David Heinemeier Hansson2005-04-131-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1159 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that Base.silence should restore the old logger level when done, not ↵David Heinemeier Hansson2005-04-131-1/+2
| | | | | | just set it to DEBUG #1084 [yon@milliped.com] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1155 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Made eager loading work with inheritance hierarchies #1065 [Ryan Carver]David Heinemeier Hansson2005-04-101-3/+5
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1131 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed counter_sql when no records exist in database for PostgreSQL (would ↵David Heinemeier Hansson2005-04-071-2/+8
| | | | | | give error, not 0) #1039 [Caleb Tennis] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1104 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Prefix primary key with table name so it works as part of a joined fetchDavid Heinemeier Hansson2005-04-041-2/+2
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1086 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Allow order, conditions, and joins in finds that include associationsDavid Heinemeier Hansson2005-04-031-2/+5
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1080 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added new Base.find API and deprecated find_all, find_first. Added ↵David Heinemeier Hansson2005-04-031-72/+49
| | | | | | preliminary support for eager loading of associations git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1077 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed Base.silence/benchmark to only log if a logger has been configured ↵David Heinemeier Hansson2005-04-021-3/+3
| | | | | | #986 [skaes@web.de] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1059 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added a join parameter as the third argument to Base.find_first and as the ↵David Heinemeier Hansson2005-04-021-2/+4
| | | | | | second to Base.count #426, #988 [skaes@web.de] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1058 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added a join parameter as the third argument to Base.find_first #426 ↵David Heinemeier Hansson2005-03-311-2/+2
| | | | | | [skaes@web.de] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1047 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed bug in Base#hash method that would treat records with the same ↵David Heinemeier Hansson2005-03-301-1/+1
| | | | | | string-based id as different [Dave Thomas] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1039 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that Active Record objects with float attribute could not be cloned #808David Heinemeier Hansson2005-03-271-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1022 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added documentation about named bind variablesDavid Heinemeier Hansson2005-03-271-0/+10
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1020 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that AR exists?() would explode on postgresql if the passed id did not ↵David Heinemeier Hansson2005-03-231-1/+1
| | | | | | match the PK type #900 [Scott Barron] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@983 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added adapter independent limit clause as a two-element array with the first ↵David Heinemeier Hansson2005-03-201-3/+5
| | | | | | being the limit, the second being the offset #795 [Sam Stephenson] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@944 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added alias_method :to_param, :id to Base, such that Active Record objects ↵David Heinemeier Hansson2005-03-201-0/+3
| | | | | | to be used as URL parameters in Action Pack automatically #812 [Nicholas Seckar/Sam Stephenson] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@936 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added type conversion before saving a record, so string-based values like ↵David Heinemeier Hansson2005-03-201-1/+1
| | | | | | "10.0" arent left for the database to convert #820 [dave@cherryville.org] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@928 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added Base.exists?(id) that'll return true if an object of the class with ↵David Heinemeier Hansson2005-03-171-0/+7
| | | | | | the given id exists #854 [stian@grytoyr.net] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@913 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Doc fix #805David Heinemeier Hansson2005-03-141-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@900 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that symbols can be used on attribute assignment, like ↵David Heinemeier Hansson2005-03-101-0/+1
| | | | | | page.emails.create(:subject => data.subject, :body => data.body) git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@886 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added ActiveRecord::Base.colorize_logging to control whether to use colors ↵David Heinemeier Hansson2005-03-061-0/+6
| | | | | | in logs or not (on by default) git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@860 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added MultiparameterAssignmentErrors and AttributeAssignmentError exceptions ↵David Heinemeier Hansson2005-03-061-2/+30
| | | | | | #777 [demetrius] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@853 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed rails_generator to be usable without RubyGems #686 [Cristi BALAN]. ↵David Heinemeier Hansson2005-03-061-3/+0
| | | | | | Moved all active support dependencies into active support git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@838 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Finished polishing API docsDavid Heinemeier Hansson2005-02-231-52/+50
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@773 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Optimized the SQL used to generate has_and_belongs_to_many queries by ↵David Heinemeier Hansson2005-02-221-1/+1
| | | | | | listing the join table first #693 [yerejm] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@741 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that find_by_* would fail when column names had numbers #670 [demetrius]David Heinemeier Hansson2005-02-191-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@681 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that the dynamic finder like find_all_by_something_boolean(false) ↵David Heinemeier Hansson2005-02-181-1/+1
| | | | | | didn't work #649 [lmarlow@yahoo.com] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@666 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed the verbosity of using the AR storeDavid Heinemeier Hansson2005-02-171-2/+9
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@639 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Moved Active Support into its own gemDavid Heinemeier Hansson2005-02-151-3/+3
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@624 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Small indentDavid Heinemeier Hansson2005-02-151-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@613 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added keyword-style approach to defining the custom relational bindings #545 ↵David Heinemeier Hansson2005-02-071-1/+70
| | | | | | [Jamis Buck] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@527 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed documentation snafus #575, #576, #577, #585David Heinemeier Hansson2005-02-071-9/+9
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@525 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed Base#clone for use with PostgreSQL #565 [hanson@surgery.wisc.edu]David Heinemeier Hansson2005-02-071-4/+4
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@519 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Updated documentation for serializeDavid Heinemeier Hansson2005-01-251-4/+3
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@512 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added the option of supplying an array of ids and attributes to Base#update, ↵David Heinemeier Hansson2005-01-251-51/+20
| | | | | | so that multiple records can be updated at once (inspired by #526/Duane Johnson). Added the option of supplying an array of attributes to Base#create, so that multiple records can be created at once. Added that Base#delete and Base#destroy both can take an array of ids to delete/destroy #336. Added that has_many association build and create methods can take arrays of record data like Base#create and Base#build to build/create multiple records at once. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@504 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added Base.update_collection that can update an array of id/attribute pairs, ↵David Heinemeier Hansson2005-01-241-1/+42
| | | | | | such as the ones produced by the recent added support for automatic id-based indexing for lists of items #526 [Duane Johnson] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@496 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added that update_all calls sanitize_sql on its updates argument, so stuff ↵David Heinemeier Hansson2005-01-241-1/+1
| | | | | | like MyRecord.update_all(['time = ?', Time.now]) works #519 [notahat] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@489 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that the dynamic finders didnt treat nil as a "IS NULL" but rather "= ↵David Heinemeier Hansson2005-01-241-1/+3
| | | | | | NULL" case #515 [Demetrius] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@488 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added bind-named arrays for interpolating a group of ids or strings in ↵David Heinemeier Hansson2005-01-241-3/+12
| | | | | | conditions #528 [bitsweat] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@485 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added that has_and_belongs_to_many associations with additional attributes ↵David Heinemeier Hansson2005-01-241-5/+7
| | | | | | also can be created between unsaved objects and only committed to the database when Base#save is called on the associator #524 [Eric Anderson] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@484 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that records fetched with piggy-back attributes or through rich ↵David Heinemeier Hansson2005-01-241-1/+2
| | | | | | has_and_belongs_to_many associations couldn't be saved due to the extra attributes not part of the table #522 [Eric Anderson] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@483 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added mass-assignment protection for the inheritance column -- regardless of ↵David Heinemeier Hansson2005-01-231-3/+8
| | | | | | a custom column is used or not git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@477 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that association proxies would fail === tests like PremiumSubscription ↵David Heinemeier Hansson2005-01-231-0/+5
| | | | | | === @account.subscription git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@476 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Replaced === checks with is_a? checks #502, #82 [Marcel Molina]David Heinemeier Hansson2005-01-201-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@466 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Made human_attribute_name(attribute_key_name) use Inflector.humanizeDavid Heinemeier Hansson2005-01-171-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@451 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added support for associating unsaved objects #402 [Tim Bates]David Heinemeier Hansson2005-01-151-3/+3
| | | | | | | | | Added replace to associations, so you can do project.manager.replace(new_manager) or project.milestones.replace(new_milestones) #402 [Tim Bates] Added build and create methods to has_one and belongs_to associations, so you can now do project.manager.build(attributes) #402 [Tim Bates] Fixed that Base#== wouldn't work for multiple references to the same unsaved object #402 [Tim Bates] Added that if a before_* callback returns false, all the later callbacks and the associated action are cancelled. If an after_* callback returns false, all the later callbacks are cancelled. Callbacks are generally run in the order they are defined, with the exception of callbacks defined as methods on the model, which are called last. #402 [Tim Bates] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@417 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Refactored ActiveRecord::Base#clone to use Base#attributes #463 [atyp]David Heinemeier Hansson2005-01-131-11/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@401 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added Base#attributes that returns a hash of all the attributes with their ↵David Heinemeier Hansson2005-01-111-0/+12
| | | | | | names as keys and clones of their objects as values #433 [atyp.de] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@386 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added Base#reload that reloads the attributes of an object from the database ↵David Heinemeier Hansson2005-01-101-1/+8
| | | | | | #422 [Andreas Schwarz] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@376 5ecf4fe2-1ee6-0310-87b1-e25e094e27de