Jeremy Kemper
0da426be96
Add records to has_many :through using <<, push, and concat by creating the association record. Raise if base or associate are new records since both ids are required to create the association. #build raises since you can't associate an unsaved record. #create! takes an attributes hash and creates the associated record and its association in a transaction.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4786 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-18 07:35:07 +00:00
Jeremy Kemper
18057d2fb6
Cache nil results for :included has_one associations also. Closes #5787 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4783 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-17 23:46:55 +00:00
Jeremy Kemper
50be89b609
Shorten index name.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4777 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-16 18:22:51 +00:00
Jeremy Kemper
7aaf4867d2
Included associations: go deep.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4776 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-16 18:10:52 +00:00
Tobias Lütke
ae74e8e9fe
Fixed a bug which would cause .save to fail after trying to access a empty has_one association on a unsaved record.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4773 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-16 16:05: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
Jeremy Kemper
bc7f2315ba
Make indexed columns easy to extract from the index name. Oracle users should explicitly assign index names due to field length restrictions.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4768 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-15 23:51:27 +00:00
Jeremy Kemper
79542f8d0b
Migrations: uniquely name multicolumn indexes so you don't have to.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4767 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-15 23:05:01 +00:00
Jeremy Kemper
d7f780e066
Fix for deep includes on the same association.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4758 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-14 07:19:47 +00:00
Rick Olson
02021d89b1
Tweak fixtures so they don't try to use a non-ActiveRecord class. [Kevin Clark]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4752 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-11 23:38:46 +00:00
Jeremy Kemper
d568fb6137
PostgreSQL: autodetected sequences work correctly with multiple schemas. Rely on the schema search_path instead of explicitly qualifying the sequence name with its schema. Closes #5280 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4737 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-09 03:25:39 +00:00
Rick Olson
94a1309194
Cache nil results for has_one associations so multiple calls don't call the database. Closes #5757 . [Michael A. Schoen]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4721 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-08 16:59:06 +00:00
Jeremy Kemper
35670bbde5
Don't save has_one associations unnecessarily. Closes #5735 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4690 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-06 19:23:40 +00:00
Rick Olson
000a8ed9c6
fixed lifecycle tests so they instantiate the observers
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4685 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-06 02:40:24 +00:00
David Heinemeier Hansson
5779deb88d
Refactored select routing for SQL Server adapter ( closes #5683 ) [tom@popdog.net]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4671 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-05 21:18:12 +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
b5c2366569
Fixed to_xml with :include misbehaviors when invoked on array of model instances ( closes #5690 ) [alexkwolfe@gmail.com]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4652 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-03 17:19:45 +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
4f017bb1b0
more concise destroy test
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4646 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-08-01 07:33:17 +00:00
Rick Olson
ab0277f220
Calculate sum with SQL, not Enumerable on HasManyThrough Associations. [Dan Peterson]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4640 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-31 21:06:19 +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
Jamis Buck
99e9faeda8
Patch sql injection vulnerability when using integer or float columns.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4626 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-27 18:29:49 +00:00
Jeremy Kemper
89011da0de
BigDecimal: schema dumper formatting
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4619 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-24 17:14:48 +00:00
Rick Olson
971e03f24e
Allow #count through a has_many association to accept :include. [Dan Peterson]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4618 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-24 04:55:16 +00:00
Jeremy Kemper
ac68115205
PostgreSQL: return array fields as strings. Closes #4664 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4605 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-10 19:54:21 +00:00
Jeremy Kemper
41f3b7ab56
Test connections use AR::Base.configurations. References #5497 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4602 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-10 19:27:04 +00:00
Jeremy Kemper
5ad4f1ad94
SQLServer: added tests to ensure all database statements are closed, refactored identity_insert management code to use blocks, removed update/delete rowcount code out of execute and into update/delete, changed insert to go through execute method, removed unused quoting methods, disabled pessimistic locking tests as feature is currently unsupported, fixed RakeFile to load sqlserver specific tests whether running in ado or odbc mode, fixed support for recently added decimal types, added support for limits on integer types. Closes #5670 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4601 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-10 18:24:35 +00:00
Jeremy Kemper
0293c34459
Oracle: BigDecimal support. Closes #5667 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4600 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-10 18:10:50 +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
a3f459eecf
Firebird migrations support. Closes #5337 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4594 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-08 17:13:21 +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
c4233a0eae
PostgreSQL: correctly quote microseconds in timestamps. Closes #5641 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4579 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-07 17:40:22 +00:00
Jeremy Kemper
c4782f7393
More succinct current_adapter? Enable locking duel for Oracle.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4576 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-07 10:48:43 +00:00
Jeremy Kemper
40bdbba48d
Oracle: use nonblocking queries if allow_concurrency is set, fix pessimistic locking, don't guess date vs. time by default (set OracleAdapter.emulate_dates = true for the old behavior), adapter cleanup. Closes #5635 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4574 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-07 10:42:14 +00:00
Jeremy Kemper
40d8d77c64
Rename test file so it runs for MySQL only.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4571 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-06 17:30:54 +00:00
David Heinemeier Hansson
bffb29fb7d
Fixed test
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4556 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-05 18:09:49 +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
David Heinemeier Hansson
73c80169c8
rake should run active_schema_mysql_test.rb ( closes #5390 )
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4549 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-05 02:30:37 +00:00
David Heinemeier Hansson
b272100f05
Doc fix ( closes #5504 ) [lee@omara.ca]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4543 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-05 01:43:47 +00:00
Jeremy Kemper
6a1a1e5536
r4738@asus: jeremy | 2006-06-29 20:18:43 -0700
...
Observers also watch subclasses created after they are declared. Closes #5535 .
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4521 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-30 04:38:24 +00:00
Jeremy Kemper
42775686d2
PostgreSQL: support microsecond time resolution. Closes #5492 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4494 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-25 18:04:06 +00:00
Nicholas Seckar
d9125093e8
Add AssociationCollection#sum since the method_missing invokation has been shadowed by Enumerable#sum. Closes #5500 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4493 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-25 17:49:24 +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
ef77ec7710
r4669@asus: jeremy | 2006-06-20 12:53:36 -0700
...
Getting picayune with locking_test. Closes #4871 .
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4472 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-20 19:54:35 +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