Jamis Buck
0bfabaa048
make sure query attributes on custom fields works as it used to
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5807 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-12-29 17:24:35 +00:00
Michael Koziarski
3b4450bb80
Docs fix for columns_hash [bradediger]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5797 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-12-27 20:41:55 +00:00
Michael Koziarski
58edaaad0b
Ensure dynamic finders are anchored to the beginning of the method name to prevent
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5795 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-12-27 20:35:19 +00:00
Jeremy Kemper
7277c51891
Partially revert [5660] - makes more trouble than it resolves. References #5704 , closes #6766 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5753 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-12-19 19:47:21 +00:00
Jeremy Kemper
8732ce291b
Subclass instantiation doesn't try to explicitly require the corresponding subclass. Closes #6840 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5751 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-12-19 19:23:56 +00:00
Jeremy Kemper
8ffb22056c
Subclasses of an abstract class work with single-table inheritance. Closes #5704 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5660 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-12-01 21:24:47 +00:00
Jeremy Kemper
427fb035a3
Simplify query_attribute by typecasting the attribute value and checking whether it's nil, false, zero or blank. Closes #6659 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5593 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-20 11:22:38 +00:00
Jeremy Kemper
9d2da04680
Cache inheritance_column. Closes #6592 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5474 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-09 19:31:31 +00:00
Jamis Buck
57a3e44052
make add_order a tad faster ( Closes #6567 )
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5452 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-07 19:06:35 +00:00
Jeremy Kemper
2fbe0ae7a2
Support nil and Array in :conditions => { attr => value } hashes. Closes #6548 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5435 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-05 21:27:51 +00:00
Jeremy Kemper
c7c3994d31
Dynamically generate reader methods for serialized attributes. Closes #6362 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5416 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-02 20:20:46 +00:00
Jamis Buck
e5684a2877
update deprecations to include alternative methods (where available)
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5359 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-10-24 17:25:30 +00:00
David Heinemeier Hansson
55aab5b8ac
Added update_attributes! which uses save! to raise an exception if a validation error prevents saving ( closes #6192 ) [jonathan]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5256 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-10-09 01:52:24 +00:00
Jamis Buck
b8ff69fcdd
callbacks that return false should cause save to return false
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5226 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-10-04 15:43:31 +00:00
Jeremy Kemper
ef4fb3dee2
save! shouldn't validate twice. Closes #6324 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5215 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-10-02 03:21:32 +00:00
Jeremy Kemper
3f1acf49bd
Deprecation tests. Remove warnings for dynamic finders and for the foo_count ethod if it's also an attribute.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5116 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-09-15 07:02:05 +00:00
David Heinemeier Hansson
e2d8451024
We cant make MySQL 5 happy if it means making SQLite and PostgreSQL cry. So currently MySQL 5 is not fully supported for Rails when youre using eager loading ( closes #6133 , #6135 ). I have contacted MySQL to make them fix http://bugs.mysql.com/bug.php?id=13551 [DHH]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5075 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-09-08 22:01:00 +00:00
David Heinemeier Hansson
84bfdafa08
Added parentheses around FROM clauses generated by Base and associations since MySQL 5 claim that to be the standard (and will screw up joins if its not there), see http://bugs.mysql.com/bug.php?id=13551 [DHH]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5073 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-09-08 18:14:02 +00:00
David Heinemeier Hansson
85fbb22f07
Backed out of new_record? to new? transformation as it would screw up existing models that did boolean calls on "new" attributes [DHH]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5018 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-09-05 18:54:24 +00:00
David Heinemeier Hansson
9d7e6432b2
Deprecated ActiveRecord::Base.new_record? in favor of ActiveRecord::Base.new? (old version still works until Rails 2.0) [DHH]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5017 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-09-05 18:48:10 +00:00
Michael Koziarski
b445ab986a
Rename quote to quote_value so the name can be used in AR models. #3628 [Koz]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5007 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-09-04 23:41:13 +00:00
Jeremy Kemper
bcbce90b1b
Nested subclasses are not prefixed with the parent class' table_name since they should always use the base class' table_name. Closes #5911 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4819 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-25 15:25:08 +00:00
Jeremy Kemper
4b4dd54082
Clashing type columns due to a sloppy join shouldn't wreck single-table inheritance. Closes #5838 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4813 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-24 03:36:48 +00:00
Jeremy Kemper
14101c7b40
Nested classes are given table names prefixed by the singular form of the parent's table name.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4770 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-16 09:46:43 +00:00
Rick Olson
69266a063b
Remove ActiveRecord::Base.reset since Dispatcher doesn't use it anymore. [Rick Olson]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4743 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-09 16:54:36 +00:00
Marcel Molina
d3cf2a6689
Document find's :from option. Closes #5762 . [andrew@redlinesoftware.com]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4739 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-09 15:11:18 +00:00
Nicholas Seckar
74165eb6ac
New dependencies implementation
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4728 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-08 21:21:04 +00:00
Rick Olson
e8f0b1ddd9
Refactor ActiveRecord::Base.reset_subclasses to #reset, and add global observer resetting. [Rick Olson]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4683 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-06 02:08:29 +00:00
David Heinemeier Hansson
c99df461f4
Fixed that default timezones for new / initialize should uphold utc setting ( closes #5709 ) [daniluk@yahoo.com]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4670 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-05 20:50:26 +00:00
Jeremy Kemper
58ebf302b2
The exists? class method should treat a string argument as an id rather than as conditions. Closes #5698 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4655 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-03 22:06:33 +00:00
David Heinemeier Hansson
8085cbfd08
Added support for conditions on Base.exists? ( closes #5689 ) [josh@joshpeek.com]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4651 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-03 17:16:43 +00:00
Jeremy Kemper
9ee5d54e4d
r4889@ks: jeremy | 2006-07-31 20:27:15 -0700
...
Create and update return the new pk and the number of affected rows, respectively. The job of returning true to appease the validations chain is up to create_or_update.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4645 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-01 03:35:04 +00:00
Jeremy Kemper
dd664c33b7
r4880@ks: jeremy | 2006-07-30 23:52:59 -0700
...
Only set method_name = md.pre_match if the pre_match is an attribute. Plays nicely with other ? suffixed attribute methods.
r4881@ks: jeremy | 2006-07-30 23:53:37 -0700
Heavier testing for attribute method suffixes.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4635 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-31 06:54:06 +00:00
Jeremy Kemper
2b3cc2478f
r4854@ks: jeremy | 2006-07-30 00:59:18 -0700
...
Attribute methods
r4877@ks: jeremy | 2006-07-30 20:23:53 -0700
Factor the attribute#{suffix} methods out of method_missing for easier extension.
r4878@ks: jeremy | 2006-07-30 20:42:23 -0700
More specific method naming, declare many attribute method suffixes, set up default suffixes at module include rather than lazily.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4632 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-31 03:43:03 +00:00
Jeremy Kemper
f0c22d4ad5
occured -> occurred. Closes #5559 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4604 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-10 19:41:59 +00:00
Jeremy Kemper
2a12b56841
r4704@asus: jeremy | 2006-06-27 12:00:19 -0700
...
decimal
r4705@asus: jeremy | 2006-06-27 12:20:47 -0700
current_adapter? checks whether any of its arguments is the name of the current adapter class
r4834@asus: jeremy | 2006-07-08 13:08:24 -0700
Room to float.
r4835@asus: jeremy | 2006-07-08 13:09:18 -0700
Give lock test a few chances.
r4836@asus: jeremy | 2006-07-08 13:12:05 -0700
Numeric and decimal columns map to BigDecimal instead of Float. Those with scale 0 map to Integer. Closes #5454 .
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4596 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-08 20:35:56 +00:00
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