Commit Graph

262 Commits

Author SHA1 Message Date
Jeremy Kemper
80b5331c0f Rollback [4584], bad test. Reopens #3819.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4586 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-08 01:09:23 +00:00
Jeremy Kemper
7767e33b43 Don't modify options parameters in-place. Closes #3819.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4584 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-08 00:38:06 +00:00
Jeremy Kemper
230c5a060b find_one uses find_every.first instead of find_initial since its primary key constraint obviates find_initial's :limit => 1. References #5635.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4578 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-07 17:34:45 +00:00
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