David Heinemeier Hansson
ff1db4de5f
Qualify the ids used such that eager loading can avoid ambigious keys
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1163 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-13 18:12:59 +00:00
David Heinemeier Hansson
ad24c6d756
Fixed pagination to work with joins #1034 [scott@sigkill.org]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1159 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-13 05:40:22 +00:00
David Heinemeier Hansson
908e9a17d8
Fixed that Base.silence should restore the old logger level when done, not 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
2005-04-13 05:16:52 +00:00
David Heinemeier Hansson
fdd268138a
Made eager loading work with inheritance hierarchies #1065 [Ryan Carver]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1131 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-10 15:49:49 +00:00
David Heinemeier Hansson
7b37c779d8
Fixed counter_sql when no records exist in database for PostgreSQL (would give error, not 0) #1039 [Caleb Tennis]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1104 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-07 06:29:31 +00:00
David Heinemeier Hansson
9e799e731c
Prefix primary key with table name so it works as part of a joined fetch
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1086 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-04 04:56:23 +00:00
David Heinemeier Hansson
efb55d1cf5
Allow order, conditions, and joins in finds that include associations
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1080 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-03 12:06:23 +00:00
David Heinemeier Hansson
abc895b828
Added new Base.find API and deprecated find_all, find_first. Added preliminary support for eager loading of associations
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1077 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-03 10:52:05 +00:00
David Heinemeier Hansson
aec31cd09f
Fixed Base.silence/benchmark to only log if a logger has been configured #986 [skaes@web.de]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1059 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-02 08:31:26 +00:00
David Heinemeier Hansson
06a6133fff
Added a join parameter as the third argument to Base.find_first and as the 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
2005-04-02 08:29:54 +00:00
David Heinemeier Hansson
e130b9e017
Added a join parameter as the third argument to Base.find_first #426 [skaes@web.de]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1047 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-03-31 14:35:14 +00:00
David Heinemeier Hansson
cfef86c645
Fixed bug in Base#hash method that would treat records with the same string-based id as different [Dave Thomas]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1039 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-03-30 14:25:29 +00:00
David Heinemeier Hansson
55cb8c8f0d
Fixed that Active Record objects with float attribute could not be cloned #808
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1022 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-03-27 13:56:02 +00:00
David Heinemeier Hansson
5cd38ca25d
Added documentation about named bind variables
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1020 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-03-27 12:04:07 +00:00
David Heinemeier Hansson
d09e42cfe4
Fixed that AR exists?() would explode on postgresql if the passed id did not match the PK type #900 [Scott Barron]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@983 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-03-23 00:57:38 +00:00
David Heinemeier Hansson
ee8d110068
Added adapter independent limit clause as a two-element array with the first 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
2005-03-20 21:56:50 +00:00
David Heinemeier Hansson
ce23862800
Added alias_method :to_param, :id to Base, such that Active Record objects 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
2005-03-20 15:45:36 +00:00
David Heinemeier Hansson
dabf906249
Added type conversion before saving a record, so string-based values like "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
2005-03-20 14:25:26 +00:00
David Heinemeier Hansson
2f944123f3
Added Base.exists?(id) that'll return true if an object of the class with the given id exists #854 [stian@grytoyr.net]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@913 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-03-17 14:12:25 +00:00
David Heinemeier Hansson
9982578efb
Doc fix #805
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@900 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-03-14 00:23:34 +00:00
David Heinemeier Hansson
2bfaa05595
Fixed that symbols can be used on attribute assignment, like 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
2005-03-10 14:44:01 +00:00
David Heinemeier Hansson
911614df6e
Added ActiveRecord::Base.colorize_logging to control whether to use colors in logs or not (on by default)
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@860 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-03-06 17:18:34 +00:00
David Heinemeier Hansson
d2fefbe908
Added MultiparameterAssignmentErrors and AttributeAssignmentError exceptions #777 [demetrius]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@853 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-03-06 14:11:26 +00:00
David Heinemeier Hansson
6d566e82b4
Fixed rails_generator to be usable without RubyGems #686 [Cristi BALAN]. Moved all active support dependencies into active support
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@838 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-03-06 12:20:53 +00:00
David Heinemeier Hansson
4eab375805
Finished polishing API docs
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@773 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-02-23 23:51:34 +00:00
David Heinemeier Hansson
e9426d2264
Optimized the SQL used to generate has_and_belongs_to_many queries by listing the join table first #693 [yerejm]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@741 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-02-22 13:58:22 +00:00
David Heinemeier Hansson
06b8936914
Fixed that find_by_* would fail when column names had numbers #670 [demetrius]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@681 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-02-19 11:30:38 +00:00
David Heinemeier Hansson
28edbca477
Fixed that the dynamic finder like find_all_by_something_boolean(false) didn't work #649 [lmarlow@yahoo.com]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@666 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-02-18 17:16:04 +00:00
David Heinemeier Hansson
c00bf5f0c6
Fixed the verbosity of using the AR store
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@639 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-02-17 01:23:41 +00:00
David Heinemeier Hansson
dc3d6eb9b4
Moved Active Support into its own gem
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@624 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-02-15 15:57:44 +00:00
David Heinemeier Hansson
a3298e5efd
Small indent
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@613 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-02-15 00:03:18 +00:00
David Heinemeier Hansson
1aa82b3217
Added keyword-style approach to defining the custom relational bindings #545 [Jamis Buck]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@527 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-02-07 14:26:57 +00:00
David Heinemeier Hansson
098fa94356
Fixed documentation snafus #575 , #576 , #577 , #585
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@525 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-02-07 14:15:53 +00:00
David Heinemeier Hansson
431e21cb45
Fixed Base#clone for use with PostgreSQL #565 [hanson@surgery.wisc.edu]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@519 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-02-07 13:43:44 +00:00
David Heinemeier Hansson
66f44e6cbb
Updated documentation for serialize
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@512 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-25 20:00:20 +00:00
David Heinemeier Hansson
efa81dad51
Added the option of supplying an array of ids and attributes to Base#update, 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
2005-01-25 12:45:01 +00:00
David Heinemeier Hansson
0d2db8a7d1
Added Base.update_collection that can update an array of id/attribute pairs, 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
2005-01-24 14:13:10 +00:00
David Heinemeier Hansson
566a36966b
Added that update_all calls sanitize_sql on its updates argument, so stuff 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
2005-01-24 13:06:12 +00:00
David Heinemeier Hansson
93ec130377
Fixed that the dynamic finders didnt treat nil as a "IS NULL" but rather "= NULL" case #515 [Demetrius]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@488 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-24 13:02:50 +00:00
David Heinemeier Hansson
872ddaf290
Added bind-named arrays for interpolating a group of ids or strings in conditions #528 [bitsweat]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@485 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-24 11:57:22 +00:00
David Heinemeier Hansson
b29c01ea89
Added that has_and_belongs_to_many associations with additional attributes 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
2005-01-24 11:39:23 +00:00
David Heinemeier Hansson
1d61845587
Fixed that records fetched with piggy-back attributes or through rich 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
2005-01-24 11:20:47 +00:00
David Heinemeier Hansson
95454bfb33
Added mass-assignment protection for the inheritance column -- regardless of a custom column is used or not
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@477 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-23 17:24:54 +00:00
David Heinemeier Hansson
97849debf3
Fixed that association proxies would fail === tests like PremiumSubscription === @account.subscription
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@476 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-23 15:19:33 +00:00
David Heinemeier Hansson
b40d3c9e62
Replaced === checks with is_a? checks #502 , #82 [Marcel Molina]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@466 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-20 14:40:11 +00:00
David Heinemeier Hansson
1f7e72ff51
Made human_attribute_name(attribute_key_name) use Inflector.humanize
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@451 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-17 19:58:02 +00:00
David Heinemeier Hansson
823554eafe
Added support for associating unsaved objects #402 [Tim Bates]
...
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
2005-01-15 17:45:16 +00:00
David Heinemeier Hansson
4cee51e1cc
Refactored ActiveRecord::Base#clone to use Base#attributes #463 [atyp]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@401 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-13 13:56:00 +00:00
David Heinemeier Hansson
b067bf7884
Added Base#attributes that returns a hash of all the attributes with their 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
2005-01-11 00:45:26 +00:00
David Heinemeier Hansson
3ff5c5805f
Added Base#reload that reloads the attributes of an object from the database #422 [Andreas Schwarz]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@376 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-10 23:49:57 +00:00