Commit Graph

259 Commits

Author SHA1 Message Date
Rick Olson
c51f9fdc78 revert ActiveRecord equality change. Closes #5596
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4554 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-05 14:22:24 +00:00
David Heinemeier Hansson
784165e03b Fixed a few Oracle issues: Allows Oracle's odd date handling to still work consistently within #to_xml, Passes test that hardcode insert statement by dropping the :id column, Updated RUNNING_UNIT_TESTS with Oracle instructions, Corrects method signature for #exec #5294 [schoenm@earthlink.net]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4552 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-05 02:54:19 +00:00
Nicholas Seckar
66313f77ca Minor tweak to improve performance of ActiveRecord::Base#to_param
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4531 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-03 03:57:31 +00:00
Sam Stephenson
d19e46421c Added find_or_initialize_by_X which works like find_or_create_by_X but doesn't save the newly instantiated record
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4473 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-20 22:48:52 +00:00
Jeremy Kemper
722e0b6a8b r4664@asus: jeremy | 2006-06-19 18:55:36 -0700
Use the #lock method to obtain a row lock on a single record. Simply reloads the record with :lock => true.


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4462 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-20 01:58:36 +00:00
Jeremy Kemper
15aa6e0552 r4644@asus: jeremy | 2006-06-16 14:57:03 -0700
locking
 r4645@asus:  jeremy | 2006-06-17 12:41:30 -0700
 missing reply fixture
 r4646@asus:  jeremy | 2006-06-19 13:05:23 -0700
 Use a per-thread (rather than global) transaction mutex so you may execute concurrent transactions on separate connections.
 r4647@asus:  jeremy | 2006-06-19 13:07:23 -0700
 PostgreSQL: introduce allow_concurrency option which determines whether to use blocking or asynchronous #execute. Adapters with blocking #execute will deadlock Ruby threads. The default value is ActiveRecord::Base.allow_concurrency.
 r4648@asus:  jeremy | 2006-06-19 13:08:40 -0700
 Pass the default allow_concurrency when instantiating new connections.
 r4649@asus:  jeremy | 2006-06-19 13:11:12 -0700
 Break out concurrent transaction tests and run them for PostgreSQLAdapter only (need to fork or system('some_test_script') for the other adapters)
 r4650@asus:  jeremy | 2006-06-19 13:42:48 -0700
 Row locking. Provide a locking clause with the :lock finder option or true for the default "FOR UPDATE".
 r4661@asus:  jeremy | 2006-06-19 15:36:51 -0700
 excise the junk mutex


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4460 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-19 22:48:51 +00:00
Nicholas Seckar
e5fc5aaffe Change AR::Base#to_param to return a String instead of a Fixnum. Closes #5320.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4459 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-19 16:45:34 +00:00
Jamis Buck
f97978ad91 Use explicit delegation instead of method aliasing for AR::Base.to_param -> AR::Base.id. (closes #5299)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4437 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-05 15:41:24 +00:00
David Heinemeier Hansson
2e65e8ccc6 Refactored ActiveRecord::Base.to_xml to become a delegate for XmlSerializer, which restores sanity to the mega method. This refactoring also reinstates the opinions that type="string" is redundant and ugly and nil-differentiation is not a concern of serialization [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4431 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-04 00:33:52 +00:00
David Heinemeier Hansson
c5ec16e583 Added simple hash conditions to find that'll just convert hash to an AND-based condition string (closes #5143) [hcatlin@gmail.com]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4425 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-03 22:15:06 +00:00
David Heinemeier Hansson
01a52dd1ad Fixed that :includes merged from with_scope won't cause the same association to be loaded more than once if repetition occurs in the clauses (closes #5253) [alex@purefiction.net]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4415 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-03 21:11:48 +00:00
Jeremy Kemper
48052d70ec to_xml fixes, features, and speedup. Closes #4989.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4413 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-03 00:01:08 +00:00
Jeremy Kemper
b09d02c9e8 Records and arrays of records are bound as quoted ids.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4391 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-01 01:43:20 +00:00
David Heinemeier Hansson
9fcc0654c3 Fixed that Base.find :all, :conditions => [ "id IN (?)", collection ] would fail if collection was empty [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4390 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-01 00:43:02 +00:00
Marcel Molina
3fec943aca Allow AR::Base#to_xml to include methods too. Closes #4921. [johan@textdrive.com]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4314 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-04-29 23:00:47 +00:00
Marcel Molina
b2c0ddf033 Add support for FrontBase (http://www.frontbase.com/) with a new adapter thanks to the hard work of one Mike Laster. Closes #4093. [mlaster@metavillage.com]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4291 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-04-27 22:39:45 +00:00
Marcel Molina
ca2eb16bf9 Fix syntax error in documentation. Closes #4679. [mislav@nippur.irb.hr]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4281 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-04-26 21:29:10 +00:00
Marcel Molina
91531372f9 Add support for :order option to with_scope. Closes #3887. [eric.daspet@survol.net]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4274 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-04-26 06:37:04 +00:00
David Heinemeier Hansson
b170fd771c Doc fix
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4225 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-04-18 04:37:18 +00:00
David Heinemeier Hansson
8eb73f43e1 Fixed that that multiparameter assignment doesn't work with aggregations (closes #4620) [Lars Pind]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4188 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-04-06 16:16:29 +00:00
Nicholas Seckar
64003677b7 Fix type_name_with_module to handle type names that begin with '::'. Closes #4614.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4187 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-04-06 16:06:38 +00:00
Michael Koziarski
a86e594997 Stop respond_to? from throwing when instances are created 'irregularly' i.e. yaml loads. [zenspider] Closes #4587
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4172 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-04-06 02:45:19 +00:00
Rick Olson
db7fadd730 Changed those private ActiveRecord methods to take optional third argument :auto instead of nil for performance optimizations. (closes #4456) [Stefan]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4141 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-04-03 16:09:47 +00:00
Nicholas Seckar
6c2d167cd9 Abort broken tighter resolution suppression. Closes #4431
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4140 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-04-03 05:30:43 +00:00
Rick Olson
a3f20132db Private ActiveRecord methods add_limit, add_joins, and add_conditions take an OPTIONAL third argument 'scope' (closes #4456) [Rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4129 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-04-01 23:15:35 +00:00
David Heinemeier Hansson
12c5287e30 Doc fix (closes #4515)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4124 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-04-01 20:10:42 +00:00
David Heinemeier Hansson
53aa8da1a7 Fixed that records returned from has_and_belongs_to_many associations with additional attributes should be marked as read only (fixes #4512) [DHH] DEPRECATED: Using additional attributes on has_and_belongs_to_many associations. Instead upgrade your association to be a real join model [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4123 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-04-01 20:03:10 +00:00
David Heinemeier Hansson
5fd7118cbc dont merge when you can update (closes #4529) [skaes]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4116 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-04-01 06:57:43 +00:00
Marcel Molina
3f049b0b6b Do not implicitly mark recordss of has_many :through as readonly but do mark habtm records as readonly (eventually only on join tables without rich attributes).
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4107 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-30 22:27:32 +00:00
Michael Koziarski
9babb2014b to_xml documentation [DHH, Koz]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4087 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-28 04:25:31 +00:00
David Heinemeier Hansson
fed7d334f2 Fixed documentation
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4078 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-28 03:06:40 +00:00
Nicholas Seckar
b55fc9e85a Replace 'rescue Object' with a finer grained rescue. Closes #4431
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4076 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-28 01:48:59 +00:00
David Heinemeier Hansson
c9c185200d Making ActiveRecord faster [skaes]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4069 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-27 23:28:19 +00:00
Michael Koziarski
445cb5c08d Add support for :include to with_scope [andrew@redlinesoftware.com]
Remove overrated warning from adapter_test




git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4064 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-27 06:19:31 +00:00
Rick Olson
6636eb16c5 Fixed issue that kept :select options from being scoped [Rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4036 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-26 00:36:55 +00:00
David Heinemeier Hansson
1aff68d615 Fix bug introduced by changeset 3679 which caused custom attribute? methods to be overridden. Also ensure that ? methods are defined even if read method is customised. (closes #3677) [jonathan@bluewire.net.nz]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4002 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-20 06:45:34 +00:00
Rick Olson
def746030c Added Base.abstract_class? that marks which classes are not part of the Active Record hierarchy. closes #3704
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3882 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-16 02:46:01 +00:00
Michael Koziarski
c42cd3c383 make save! return true on success[johan@johansorensen.com]. Closes #4173
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3871 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-15 02:32:14 +00:00
Jeremy Kemper
25fb2db409 Dynamically set allow_concurrency. Closes #4044.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3862 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-13 17:28:55 +00:00
David Heinemeier Hansson
51d6bc2807 Passing comment
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3835 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-10 17:28:21 +00:00
David Heinemeier Hansson
3442e0c671 Added options to control the :only/:except for included associations on Base#to_xml [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3832 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-10 03:50:00 +00:00
David Heinemeier Hansson
db37c0c95f Added association inclusion in to_xml [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3831 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-10 00:25:29 +00:00
David Heinemeier Hansson
d872281975 Fixed to_xml across the board to use nice indention, better skip_attributes workings, no type on strings, and cleaned tests [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3829 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-09 21:12:28 +00:00
David Heinemeier Hansson
c450a36f16 Doc fixes
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3782 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-05 21:37:12 +00:00
David Heinemeier Hansson
ccfcd9fe22 Doc fixes
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3780 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-05 20:00:04 +00:00
Jeremy Kemper
215852745b Revert allow_concurrency change for better testing. Retrieve_connection in two steps to avoid side-effect bug (yuk).
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3745 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-02 14:36:06 +00:00
Jeremy Kemper
d8641ca34f CHANGED DEFAULT: set ActiveRecord::Base.allow_concurrency to false. Most AR usage is in single-threaded applications.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3728 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-01 22:04:30 +00:00
David Heinemeier Hansson
4c7555aef7 Fixed that Base.save should always return false if the save didn't succeed, including if it has halted by before_save's (closes #1861, #2477) [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3707 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-28 20:37:21 +00:00
Jeremy Kemper
1a06d324df Define attribute query methods to avoid method_missing calls. Closes #3677.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3679 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-27 00:27:48 +00:00
David Heinemeier Hansson
660952e5b0 CHANGED DEFAULT: ActiveRecord::Base.schema_format is now :ruby by default instead of :sql. This means that we'll assume you want to live in the world of db/schema.rb where the grass is green and the girls are pretty. If your schema contains un-dumpable elements, such as constraints or database-specific column types, you just got an invitation to either 1) patch the dumper to include foreign key support, 2) stop being db specific, or 3) just change the default in config/environment.rb to config.active_record.schema_format = :sql -- we even include an example for that on new Rails skeletons now. Brought to you by the federation of opinionated framework builders! [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3678 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-27 00:23:49 +00:00