Jeremy Kemper
390e6d246c
r2915@asus: jeremy | 2005-11-06 05:02:53 -0800
...
Rename Base.constrain to Base.with_scope so it doesn't conflict with existing concept of database constraints. Make scoping more robust: uniform method => parameters, validated method names and supported finder parameters, raise exception on nested scopes.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2888 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-06 10:18:51 +00:00
David Heinemeier Hansson
a5a82d978b
Added extension capabilities to has_many and has_and_belongs_to_many proxies [DHH] Added find_or_create_by_X as a second type of dynamic finder that'll create the record if it doesn't already exist [DHH] Added constrain scoping for creates using a hash of attributes bound to the :creation key [DHH]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2872 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-04 19:39:50 +00:00
Jeremy Kemper
aabf9093a0
Correct reader method generation for primary key attribute: handle case when primary_key is defined but its column is nil, such as when the model class is backed by a view.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2850 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-02 17:30:59 +00:00
Jeremy Kemper
c827b3f15c
A missing primary key column shouldn't raise an error when generating its error message.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2837 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-01 18:21:46 +00:00
David Heinemeier Hansson
816f37a2ad
Added migration support to SQL Server adapter (please someone do the same for Oracle and DB2) ( closes #2625 ) [Tom Ward]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2778 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-28 07:40:28 +00:00
Jeremy Kemper
e7cd7e9d95
r3800@sedna: jeremy | 2005-10-28 00:39:05 -0700
...
Readonly constraints, association collection method_missing, dup constraint options
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2774 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-28 04:53:22 +00:00
David Heinemeier Hansson
0b92d38c00
Added :offset and :limit to the kinds of options that Base.constrain can use ( closes #2466 ) [duane.johnson@gmail.com]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2748 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-26 13:20:02 +00:00
Jeremy Kemper
17d3fd3165
r2736@asus: jeremy | 2005-10-24 17:08:12 -0700
...
Test for eager associations with limits should not assume that records are ordered by id.
r2737@asus: jeremy | 2005-10-24 19:06:09 -0700
Fail fast if invalid primary key column.
r2746@asus: jeremy | 2005-10-25 15:37:28 -0700
Begin rollback of fixture delete order. Its solves a problem for 1% of users who already have a workaround while severely slowing down the other 99%.
r2747@asus: jeremy | 2005-10-25 16:03:01 -0700
Rollback the rest.
r2748@asus: jeremy | 2005-10-25 16:06:26 -0700
Re-add fixtures declaration to conditions scoping test
r2749@asus: jeremy | 2005-10-25 16:09:03 -0700
Re-add fixtures declaration to finder test
r2750@asus: jeremy | 2005-10-25 16:13:50 -0700
Don't assume keyboards table is empty
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2730 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-25 18:14:09 +00:00
Jeremy Kemper
0e4c5b0288
r2726@asus: jeremy | 2005-10-24 14:11:59 -0700
...
correct primary key semantics: foo.id and foo.real_pk_column should both exist and return nil if foo.new_record?
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2718 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-24 16:45:22 +00:00
Jeremy Kemper
3ab3a70b7c
Clarify semantics of ActiveRecord::Base#respond_to? Closes #2560 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2705 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-22 16:43:39 +00:00
Jeremy Kemper
7219e82fe6
HABTM finder sets :readonly => false. Closes #2525 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2694 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-20 14:53:04 +00:00
Jeremy Kemper
328ef3feaa
Parenthesize :conditions
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2681 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-18 23:52:07 +00:00
Jeremy Kemper
7117fdb8ce
r3616@asus: jeremy | 2005-09-26 23:09:28 -0700
...
Ticket 2292 - Sequences, schemas, and fixtures
r3917@asus: jeremy | 2005-10-15 10:43:24 -0700
fix pk assert
r3918@asus: jeremy | 2005-10-15 10:46:52 -0700
rework query cache connection= override
r3919@asus: jeremy | 2005-10-15 10:47:45 -0700
correct fixtures usage
r3920@asus: jeremy | 2005-10-15 10:53:23 -0700
correct attr assignment
r3921@asus: jeremy | 2005-10-15 12:59:10 -0700
sequences
r3922@asus: jeremy | 2005-10-15 16:36:09 -0700
reset fixtures work with sequences
r3951@asus: jeremy | 2005-10-15 23:23:12 -0700
cut down excess features
r3952@asus: jeremy | 2005-10-15 23:40:30 -0700
don't test for PostgreSQL specifically
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2639 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-16 03:45:39 +00:00
Jamis Buck
bfbf6bba1f
Allow ARStore::Session to indicate that it should not be reloaded in dev mode
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2627 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-15 20:49:04 +00:00
Jamis Buck
e7f61eab56
squash the memleak in dev mode finally (fingers crossed, here)
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2620 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-15 18:21:27 +00:00
Marcel Molina
07b4ea2e4b
Eliminate an obsolete comment.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2601 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-15 02:13:42 +00:00
Jeremy Kemper
64fcb752f2
r3618@sedna: jeremy | 2005-10-14 12:06:03 -0700
...
Branch for :join tainting
r3631@sedna: jeremy | 2005-10-14 20:13:49 -0700
Introduce read-only records, object.readonly\!, object.readonly?, Foo.find(:all, :readonly => true). Foo.find(:all, :joins => '...') also implies :readonly => true.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2594 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-15 00:19:56 +00:00
Marcel Molina
6a6df5f1e2
Change quote delimiters for sql interpolation to obviate SyntaxErrors. Closes 2215. [leroen@gmail.com]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2593 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-14 23:28:35 +00:00
Jamis Buck
e2fc88eef4
Avoid memleak in dev mode with fastcgi
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2584 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-14 15:04:57 +00:00
Marcel Molina
ebf618b7fc
Delegate access to a customized primary key to the conventional id method. Closes #2444 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2569 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-13 20:44:39 +00:00
Sam Stephenson
24c3599cc0
Support using different database adapters for development and test with ActiveRecord::Base.schema_format = :ruby
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2549 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-13 04:12:32 +00:00
Marcel Molina
b840e4ed50
Deprecated ActiveRecord::Base.threaded_connection in favor of ActiveRecord::Base.allow_concurrency.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2542 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-12 22:37:28 +00:00
Marcel Molina
0e0e774085
Protect id attribute from mass assigment even when the primary key is set to something else. Closes #2438 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2541 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-12 19:59:13 +00:00
Marcel Molina
2948910b56
Misc doc fixes (typos/grammar/etc.). Closes #2430 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2533 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-11 03:55:49 +00:00
Marcel Molina
dcc2263b3a
Speed up for unthreaded environments. Closes #2431 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2530 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-11 03:40:11 +00:00
Marcel Molina
d736568f41
Speed up the setting of table_name. Closes #2428 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2520 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-10 18:59:56 +00:00
Marcel Molina
eb2fbf05c6
Optimize instantiation of STI subclass records. In partial fullfilment of #1236 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2511 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-09 22:26:54 +00:00
Marcel Molina
f4d1af3085
Fix typo of 'constrains' to 'contraints'. Closes #2069 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2510 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-09 22:08:16 +00:00
Jeremy Kemper
60a60f9798
Don't tell me about defined reader methods, even at debug level.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2489 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-07 18:22:40 +00:00
Marcel Molina
f218771d3e
Add option (true by default) to generate reader methods for each attribute of a record to avoid the overhead of calling method missing. In partial fullfilment of #1236 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2483 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-07 00:53:05 +00:00
Marcel Molina
c0899bca10
Add convenience predicate methods on Column class. In partial fullfilment of #1236 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2482 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-06 23:19:55 +00:00
Marcel Molina
e8b427cdef
Raise an exception when invalid options are passed to ActiveRecord::Base.find. Closes #2363 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2481 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-06 22:21:10 +00:00
Michael Koziarski
656fb866f9
Quote booleans according the rules defined by the adapter
...
* SQLite schema has been updated
* Postgresql schema needs to be fixed too
Simplify AR::Base#toggle to store the boolean, not the quoted value
* expand the tests
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2474 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-06 04:15:14 +00:00
Jeremy Kemper
e19bd169fa
Association validation does not belong in a before_save callback: move it into a validation method. Restores the expected model.valid? == model.save. Add tests for cancelling save by returning false from a before_save callback. Remove assumption that before_destroy's return value indicates whether the record was destroyed.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2434 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-02 02:00:50 +00:00
Scott Barron
76a7a52557
Fix serialization problem with YAML in 1.8.3
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2360 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-27 09:25:17 +00:00
Marcel Molina
1d738cab80
Make update_attribute use the same writer method that update_attributes uses.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2353 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-26 21:55:37 +00:00
Jamis Buck
2a35baa0bb
Wrap :conditions in parentheses to prevent problems with OR's #1871
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2324 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-24 23:58:13 +00:00
David Heinemeier Hansson
caaf40d535
Added AbstractAdapter#select_value and AbstractAdapter#select_values as convenience methods for selecting single values, instead of hashes, of the first column in a SELECT #2283
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2323 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-24 19:50:57 +00:00
David Heinemeier Hansson
3c0129af6d
Fixed memory leak with Active Record classes when Dependencies.mechanism = :load #1704 [c.r.mcgrath@gmail.com]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2273 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-20 10:33:26 +00:00
David Heinemeier Hansson
b646e0ddf7
Rolled back broken #1814
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2203 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-11 10:05:46 +00:00
David Heinemeier Hansson
57070277b4
Added better exception error when unknown column types are used with migrations #1814 [fbeausoleil@ftml.net]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2201 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-11 09:41:24 +00:00
David Heinemeier Hansson
0faca07056
Fixed comparison of Active Record objects so two new objects are not equal #2099 [deberg]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2172 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-09 08:54:02 +00:00
David Heinemeier Hansson
febc24dee7
An explicit include ClassInheritableAttributes is no longer needed #1948 [Caleb Tennis]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2154 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-08 16:28:10 +00:00
David Heinemeier Hansson
eec24a16c7
Fixed that Active Record would call SHOW FIELDS twice (or more) for the same model when the cached results were available #1947 [sd@notso.net]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2153 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-08 12:21:36 +00:00
David Heinemeier Hansson
f2a89d7862
Give AR the new benchmark method too
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2143 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-06 17:47:31 +00:00
David Heinemeier Hansson
f86276b305
Fix fragment benchmark calls and limit timings to 5 decimals
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2142 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-06 17:33:11 +00:00
David Heinemeier Hansson
5e8e8d6564
Added use_silence parameter to ActiveRecord::Base.benchmark that can be passed false to include all logging statements during the benchmark block. Added ActionController::Base.benchmark and ActionController::Base.silence to allow for easy benchmarking and turning off the log
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2140 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-06 16:48:18 +00:00
Jamis Buck
69d662051e
Modify read_attribute to allow a symbol argument #2024 [Ken Kunz]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2096 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-02 08:31:11 +00:00
Jamis Buck
b1a4f91a58
Make destroy return self #1913 [sebastian.kanthak@muehlheim.de]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2011 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-08-14 08:58:53 +00:00
Jamis Buck
e17bf81823
Fix typo in count_by_sql documentation #1969 [Alexey Verkhovsky]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2007 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-08-14 08:20:51 +00:00