aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/transactions_test.rb
Commit message (Collapse)AuthorAgeFilesLines
* Restore the frozen state on rollback. Fixes #6417.Godfrey Chan2012-05-211-0/+10
| | | | | | | | | | | | | | | | | | | | Currently, when saving a frozen record, an exception would be thrown which causes a rollback. However, there is a bug in active record that "defrost" the record as a side effect: >> t = Topic.new => #<Topic id: nil, ...> >> t.freeze => #<Topic id: nil, ...> >> t.save RuntimeError: can't modify a frozen Hash >> t.frozen? => false >> t.save => true This patch fixes the bug by explictly restoring the frozen state on the attributes Hash after every rollback.
* Automatic closure of connections in threads is deprecated. For exampleAaron Patterson2011-11-291-0/+3
| | | | | | | | | | | | | | | | | the following code is deprecated: Thread.new { Post.find(1) }.join It should be changed to close the database connection at the end of the thread: Thread.new { Post.find(1) Post.connection.close }.join Only people who spawn threads in their application code need to worry about this change.
* please use ruby -I lib:test path/to/test.rb, or export RUBY_OPTAaron Patterson2011-06-061-1/+1
|
* Refactor Active Record test connection setup. Please see the ↵Jon Leighton2011-06-041-1/+1
| | | | RUNNING_UNIT_TESTS file for details, but essentially you can now configure things in test/config.yml. You can also run tests directly via the command line, e.g. ruby path/to/test.rb (no rake needed, uses default db connection from test/config.yml). This will help us fix the CI by enabling us to isolate the different Rails versions to different databases.
* persisted? should be able to return a truthy objectAaron Patterson2010-12-161-8/+8
|
* removing many unused variablesAaron Patterson2010-11-161-1/+1
|
* use persisted? instead of new_record? wherever possibleDavid Chelimsky2010-11-091-8/+8
| | | | | | | | | | | - persisted? is the API defined in ActiveModel - makes it easier for extension libraries to conform to ActiveModel APIs without concern for whether the extended object is specifically ActiveRecord [#5927 state:committed] Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
* Fix SQLite adapter name [#5842 state:resolved]Anil Wadghule2010-10-191-1/+1
|
* #transaction on the instance level should take options as wellCarl Lerche2010-10-141-0/+21
|
* Update the ActiveRecord tests to not set unused optionsCarl Lerche2010-10-131-2/+0
| | | This makes a test fail, but it is revealing a bug in Arel master.
* update_attributes and update_attributes! are now wrapped in a transactionNeeraj Singh2010-07-131-1/+22
| | | | | | [#922 state:resovled] Signed-off-by: José Valim <jose.valim@gmail.com>
* Revert "Temporarily revert "Update after_commit and after_rollback docs and ↵Jeremy Kemper2010-06-081-0/+33
| | | | | | | | tests to use new style API with an :on options instead of on_* suffix." and "Add after_commit and after_rollback callbacks to ActiveRecord that are called after transactions either commit or rollback on all records saved or destroyed in the transaction."" This reverts commit 1b2941cba1165b0721f57524645fe378bee2a950. [#2991]
* Temporarily revert "Update after_commit and after_rollback docs and tests to ↵Jeremy Kemper2010-06-081-33/+0
| | | | | | | | | | | | | | use new style API with an :on options instead of on_* suffix." and "Add after_commit and after_rollback callbacks to ActiveRecord that are called after transactions either commit or rollback on all records saved or destroyed in the transaction." This reverts commits d2a49e4b1f30c5997e169110eed94a55aee53f56 and da840d13da865331297d5287391231b1ed39721b. [#2991] Conflicts: activerecord/CHANGELOG activerecord/lib/active_record/transactions.rb activerecord/test/cases/transaction_callbacks_test.rb
* Add after_commit and after_rollback callbacks to ActiveRecord that are ↵Brian Durand2010-04-291-14/+47
| | | | | | | | called after transactions either commit or rollback on all records saved or destroyed in the transaction. [#2991 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* squelching more warnings in the AR tests. [#4218 state:resolved]Aaron Patterson2010-03-181-6/+32
| | | | Signed-off-by: wycats <wycats@gmail.com>
* Refactor new callbacks and AR implementation.José Valim2009-09-081-6/+6
| | | | Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Changed ActiveRecord to use new callbacks and speed up observers by only ↵José Valim2009-09-081-5/+5
| | | | | | notifying events that are actually being consumed. Signed-off-by: Joshua Peek <josh@joshpeek.com>
* SQLite adapters now support DDL transactions [#2080 state:resolved]Jason King2009-03-141-5/+10
| | | | Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Ruby 1.9 compat: rename deprecated assert_raises to assert_raise.Jeremy Kemper2009-03-081-2/+2
| | | | [#1617 state:resolved]
* Revert "Wrap calls to update_attributes in a transaction."Michael Koziarski2009-02-221-34/+0
| | | | | | | This caused failures on sqlite, sqlite3 and postgresql This reverts commit fc09ebc669bd58f415f7d3ef932ef02dab821ab5. [#922 state:reopened]
* Wrap calls to update_attributes in a transaction.Xavier Noria2009-02-221-0/+34
| | | | | Signed-off-by: Michael Koziarski <michael@koziarski.com> [#922 state:committed]
* Bump mocha requirement for Ruby 1.9 compat. Remove uses_mocha.Jeremy Kemper2009-02-031-18/+14
|
* Fix PostgreSQL unit test failures that only occur when using the old ↵Hongli Lai (Phusion)2009-01-131-2/+1
| | | | | | | | 'postgres' driver. [#1748 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Introduce transaction_joinable flag to mark that the fixtures transaction ↵Jeremy Kemper2009-01-101-4/+4
| | | | | | can't joined, a new savepoint is required even if :requires_new is not set. Use :requires_new option instead of :nest. Update changelog. [#383 state:committed]
* Reimplement Jeremy's PostgreSQL automatic transaction state introspection code.Hongli Lai (Phusion)2008-11-031-0/+34
| | | | | | - Fixed compatibility with the old 'postgres' driver which doesn't support transaction state introspection. - Added unit tests for it.
* Rename ActiveRecord::Base#transaction's :force option to :nest. Improve ↵Hongli Lai (Phusion)2008-11-031-5/+5
| | | | documentation for nested transactions.
* Make SQLite3 pass the unit tests for savepoints.Hongli Lai (Phusion)2008-11-031-4/+4
|
* Fix a stale typo in the PostgreSQL adapter. Fix a stale mock expection in ↵Hongli Lai (Phusion)2008-11-031-1/+0
| | | | transaction_test.
* Implement savepoints.Jonathan Viney2008-11-031-0/+132
|
* Default connection allow_concurrency to false (for PostgreSQL)Nick Sieger2008-09-041-0/+2
| | | | Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Fix transaction exception testJeremy Kemper2008-09-041-0/+1
|
* Make clear_active_connections! also return stale connections back to the poolNick Sieger2008-08-291-3/+0
| | | | - also clean up some cruft remaining from per-thread connection cache
* Remove CachedConnectionPerThread per-thread pooling mechanism in favor of a ↵Nick Sieger2008-08-291-0/+3
| | | | fixed pool with default maximum of 5 connections
* Deprecate allow_concurrency and make it have no effectNick Sieger2008-08-291-11/+0
|
* Rollback the transaction when a before_* callback returns false.Xavier Noria2008-08-241-2/+60
| | | | | | | Previously this would have committed the transaction but not carried out save or destroy operation. [#891 state:committed] Signed-off-by: Michael Koziarski <michael@koziarski.com>
* Ensure add_column gives valid error for sqlite. [Gunnar Wolf, Pratik] [#197 ↵Pratik Naik2008-05-201-0/+26
| | | | | | | | state:resolved] SQLite#add_column executes "VACUUM", which fails if inside a live transaction. This patch ensures a valid exception is raised if add_column is executed within a live transaction for sqlite adapter.
* Merge branch 'ar-test-cleanup' of git://git.geeksomnia.com/railsJeremy Kemper2008-01-211-2/+2
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8681 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fix pathsJeremy Kemper2008-01-181-3/+3
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8661 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Move tests to casesJeremy Kemper2008-01-181-0/+281
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8660 5ecf4fe2-1ee6-0310-87b1-e25e094e27de