Commit Graph

1370 Commits

Author SHA1 Message Date
David Heinemeier Hansson
22f095be23 Added counter optimization for AssociationCollection#any? so person.friends.any? won't actually load the full association if we have the count in a cheaper form [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5676 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-12-05 03:26: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
David Heinemeier Hansson
2e2bf2d149 If only life was that simple (it didnt help)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5658 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-12-01 05:56:51 +00:00
David Heinemeier Hansson
e8eb743ba6 Replace the elaborate reloading connection checking scheme, just fix the Ruby-based MySQL adapter, ye?
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5656 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-12-01 05:37:56 +00:00
David Heinemeier Hansson
0a86122a24 Only reload connections in development mode that supports (and requires that) -- in other words, only do it for SQLite (closes #6687, #6700) [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5637 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-26 22:10:55 +00:00
Michael Koziarski
a2e826dc0f Change fixture_path to a class inheritable accessor allowing test cases to have their own custom set of fixtures. Closes #6672 [zdennis]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5604 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-21 22:28:24 +00:00
Jeremy Kemper
9104d63f99 Quote ActiveSupport::Multibyte::Chars. Closes #6653.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5597 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-20 12:02:04 +00:00
Jeremy Kemper
cd6beacfb3 Test for forged '' default before it's typecast. Closes #6156.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5596 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-20 11:44:31 +00:00
Jeremy Kemper
6e1012fc9c Test has_one :dependent => :nullify with missing association. Closes #4848.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5595 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-20 11:29:21 +00:00
Jeremy Kemper
ced5d89425 Test has_one :dependent => :nullify with missing association. Closes #4828.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5594 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-20 11:28:35 +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
9594832a8d validates_numericality_of uses \A \Z to ensure the entire string matches rather than ^ $ which may match one valid line of a multiline string. Closes #5716.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5589 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-20 10:51:50 +00:00
Jeremy Kemper
88bd86e8bc Run validations in the order they were declared. Closes #6657.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5588 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-20 10:12:38 +00:00
Jeremy Kemper
19c99acfbc MySQL: detect when a NOT NULL column without a default value is misreported as default ''. Can't detect for string, text, and binary columns since '' is a legitimate default. Closes #6156.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5586 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-20 08:54:42 +00:00
Jeremy Kemper
02adc49d72 Simplify association proxy implementation by factoring construct_scope out of method_missing. Closes #6643.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5564 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-19 11:16:12 +00:00
Jeremy Kemper
ae8171ddc5 Migration benchmark wrappers use alias_method_chain. Closes #6456.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5563 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-19 11:09:31 +00:00
Jeremy Kemper
be3a4c3daa Mysql::Result#all_hashes compatibility with Mysql C driver 2.6.x. Closes #6601.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5533 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-16 01:41:22 +00:00
Jeremy Kemper
50ee332c4a Cleanup SQLite AUTOINCREMENT: exclude sqlite_sequence table, factor out feature availability check.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5520 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-14 03:32:16 +00:00
Jeremy Kemper
fda4330ce9 Update Oracle performance credits.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5518 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-14 02:49:33 +00:00
Jeremy Kemper
4978d1dce7 Oracle: automatically detect the primary key. Closes #6594.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5514 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-13 19:23:32 +00:00
Jeremy Kemper
a303a168ac Oracle: to increase performance, prefetch 100 rows and enable similar cursor sharing. Both are configurable in database.yml. Closes #6607.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5509 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-13 07:36:52 +00:00
Jeremy Kemper
c0bce43e90 Oracle: fix limited id selection for eager loading. Closes #6515.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5480 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-10 19:18:07 +00:00
Jeremy Kemper
63df6eb382 Don't inspect unloaded associations. Closes #2905.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5478 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-10 02:00:14 +00:00
Jeremy Kemper
d97a84fb59 SQLite: use AUTOINCREMENT primary key in >= 3.1.0. Closes #6588.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5477 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-09 21:17:43 +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
Jeremy Kemper
66b92abfc3 Firebird: decimal/numeric support. Closes #6408.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5459 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-07 19:56:01 +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
a3dba1ed7c Find with :include respects scoped :order. Closes #5850.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5445 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-07 00:18:07 +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
5b979ed8ff Consistently use LOWER() for uniqueness validations (rather than mixing with UPPER()) so the database can always use a functional index on the lowercased column. Closes #6495.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5434 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-05 19:20:39 +00:00
Jeremy Kemper
b6171e7105 SQLite: count(distinct) queries supported in >= 3.2.6, fix calculations workaround, remove count(distinct) query rewrite, cleanup test connection scripts. Closes #6544.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5426 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-05 02:01:31 +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
Jeremy Kemper
88d9b32496 Deprecation: object transactions warning.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5405 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-02 18:12:18 +00:00
Jeremy Kemper
ac715b2bcb has_one :dependent => :nullify ignores nil associates. Closes #6528.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5401 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-02 09:45:17 +00:00
Jeremy Kemper
70840d4b7f Oracle: resolve test failures, use prefetched primary key for inserts, check for null defaults. Factor out some common methods from all adapters. Closes #6515.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5384 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-11-01 20:28:48 +00:00
Jamis Buck
e411b545a5 a few more deprecation improvements
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5360 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-10-24 17:27:16 +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
Michael Koziarski
53a97e9d61 Make add_column use the options hash with the Sqlite Adapter. Closes #6464 [obrie]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5353 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-10-24 07:32:18 +00:00
Marcel Molina
fb7807e244 Document other options available to migration's add_column. #6419
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5333 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-10-22 02:55:21 +00:00
Jeremy Kemper
8949ce0982 MySQL: all_hashes compatibility with old MysqlRes class. Closes #6429.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5330 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-10-20 20:30:59 +00:00
Rick Olson
c5536f9f00 Fix has_many :through to add the appropriate conditions when going through an association using STI. Closes #5783. [Jonathan Viney] (sorry, forgot to commit the actual files)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5310 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-10-16 15:42:55 +00:00
Rick Olson
cdb5132c41 Fix has_many :through to add the appropriate conditions when going through an association using STI. Closes #5783. [Jonathan Viney]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5305 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-10-15 16:37:11 +00:00
Rick Olson
2c6b6e2866 automatically add primary key to #select_limited_ids_list order by clause for databases that require order columns in the distinct statements (postgresql) [Rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5292 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-10-13 08:52:33 +00:00
Rick Olson
e789b26e65 fix select_limited_ids_list issues in postgresql, retain current behavior in other adapters [Rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5291 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-10-13 08:29:00 +00:00
Rick Olson
ce1d14430f add test for select_limited_ids_list that passes in mysql/sqlite and fails in postgresql
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5290 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-10-13 07:46:38 +00:00
Rick Olson
7870494673 Restore eager condition interpolation, document it's differences [Rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5284 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-10-11 14:02:24 +00:00
Jeremy Kemper
1117387376 Compare to 0 rather than call zero? to handle nil.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5282 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-10-11 00:29:59 +00:00
Jeremy Kemper
629b8af2b0 Wrap save! in a transaction. Closes #6324.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5281 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-10-10 19:34:25 +00:00
Jeremy Kemper
f65ab3b233 improve example in migrations docs, closes #6370
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5275 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-10-09 22:05:50 +00:00
Jeremy Kemper
2c3ca4c4e6 Don't rollback in teardown unless a transaction was started. Don't start a transaction in create_fixtures if a transaction is started. Closes #6282.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5270 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-10-09 07:48:27 +00:00