aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Support faye-websocket + EventMachine as an optionMatthew Draper2016-03-0231-52/+229
|
* Merge pull request #23807 from matthewd/executorMatthew Draper2016-03-0247-337/+897
|\ | | | | Publish AS::Executor and AS::Reloader APIs
| * Don't reference Rails.application from inside a componentMatthew Draper2016-03-022-10/+8
| |
| * Use AS::Reloader to support reloading in ActiveJobMatthew Draper2016-03-024-2/+23
| |
| * Use AS::Executor / AS::Reloader to support reloading in ActionCableMatthew Draper2016-03-029-30/+96
| |
| * Publish AS::Executor and AS::Reloader APIsMatthew Draper2016-03-0233-307/+782
| | | | | | | | | | | | These should allow external code to run blocks of user code to do "work", at a similar unit size to a web request, without needing to get intimate with ActionDipatch.
* | Merge pull request #23598 from brchristian/activerecord_second_to_lastMatthew Draper2016-03-022-4/+83
|\ \ | | | | | | ActiveRecord #second_to_last tests and finder methods
| * | default second_to_last to primary_key index if no order suppliedBrian Christian2016-02-271-1/+7
| | |
| * | refactor AR second_to_last to use array methodsBrian Christian2016-02-271-1/+6
| | |
| * | comment out failing .second and .third testsBrian Christian2016-02-271-3/+3
| | |
| * | adding additional tests for offset and limit behaviorBrian Christian2016-02-271-0/+8
| | |
| * | additional test assertions (limit and offset)Brian Christian2016-02-271-0/+16
| | |
| * | AR #second_to_last tests and finder methodsBrian Christian2016-02-272-4/+48
| | |
* | | Merge pull request #22170 from ↵Matthew Draper2016-03-024-14/+135
|\ \ \ | |_|/ |/| | | | | | | | samphilipd/sam/properly_deallocate_prepared_statements_outside_of_transaction Correctly deallocate prepared statements if we fail inside a transaction
| * | Make tests a bit more beautifulSam Davies2015-11-051-10/+13
| | |
| * | Correctly deallocate prepared statements if we fail inside a transactionSam Davies2015-11-054-14/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Addresses issue #12330 Overview ======== Cached postgres prepared statements become invalidated if the schema changes in a way that it affects the returned result. Examples: - adding or removing a column then doing a 'SELECT *' - removing the foo column then doing a 'SELECT bar.foo' In normal operation this isn't a problem, we can rescue the error, deallocate the prepared statement and re-issue the command. However in PostgreSQL transactions, once any command fails, the transaction becomes 'poisoned' and any subsequent commands will raise InFailedSQLTransaction. This includes DEALLOCATE statements, so the default deallocation strategy instead of removing the cached prepared statement instead raises InFailedSQLTransaction. Why this is bad =============== 1. InFailedSQLTransaction is a fairly cryptic error and doesn't communicate any useful information about what has actually gone wrong. 2. In the naive implementation the prepared statement never gets deallocated - it stays alive for the length of the session taking up memory on the postgres server. 3. It is unsafe to retry the transaction because the bad prepared statement is still in the cache and we would see the exact same failure repeated. Solution ======== If we are outside a transaction we can continue to handle these failures gracefully in the usual way. Inside a transaction instead of issuing a DEALLOCATE command that will certainly fail, we now raise ActiveRecord::PreparedStatementCacheExpired. This can be handled further up the stack, notably inside TransactionManager#within_new_transaction. Here we can make sure to first rollback the transaction, then safely issue DEALLOCATE statements to invalidate the rest of the cached prepared statements. This also allows the user (or some gem) the opportunity to catch this error and voluntarily retry the transaction if a schema change causes the prepared statement cache to become invalidated. Because the outdated statement has been deallocated, we can expect the transaction to succeed on the second try.
* | | Mock fork twiceRafael Mendonça França2016-03-011-1/+1
| | |
* | | Support `:any` variants lookup in `PathResolver`Godfrey Chan2016-03-012-6/+21
| | | | | | | | | | | | | | | | | | | | | | | | `OptimizedFileSystemResolver` (which most Rails apps use), but did not implement the feature on the more generic `PathResolver`, which is often used in tests etc. Fixes #23881
* | | Merge pull request #23966 from ↵Jeremy Daer2016-03-018-133/+110
|\ \ \ | | | | | | | | | | | | | | | | jeremy/activejob/pare-down-async-adapter-for-low-footprint-dev Active Job: pare down async adapter for low footprint dev
| * | | Active Job: smaller footprint for the dev/test async adapterJeremy Daer2016-02-298-133/+110
| | | | | | | | | | | | | | | | | | | | Use one shared worker pool for all queues with 0-#CPU workers rather than separate pools per queue with 2-10*#CPU workers each.
* | | | Merge pull request #23973 from mohitnatoo/dummy-template-with-rails-commandRafael França2016-02-291-1/+1
|\ \ \ \ | | | | | | | | | | Updating the dummy app template to have rails_command instead of rake
| * | | | - Updating the dummy app template to have rails_command instead of rakeMohit Natoo2016-03-011-1/+1
| | | | |
* | | | | Merge pull request #23968 from bouk/improve-cable-docsRafael França2016-02-291-6/+2
|\ \ \ \ \ | |_|/ / / |/| | | | Remove inconsistency in the Action Cable README
| * | | | Remove inconsistency in the Action Cable README [ci skip]Bouke van der Bijl2016-02-291-6/+2
| |/ / /
* | | | generate config/spring.rb in new applications [closes #18874]Xavier Noria2016-02-294-0/+14
| | | |
* | | | Respect through association scopes when used with polymorphicSean Griffin2016-02-292-1/+8
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the `source_type` option is passed to a has_many through, the resulting `Reflection` will be an instance of `PolymorphicReflection` and not `ThroughReflection`, meaning that it will ignore the scopes that it needs to apply from the through reflections. This adds an additional delegation call to remedy this. I've been finding the reflection code completely impenetrable lately, it could use some major love. Fixes #22726
* | | Merge pull request #23927 from gaurish/jruby_ci_actionpackRafael França2016-02-291-0/+5
|\ \ \ | | | | | | | | Run CI for ActionPack on JRuby
| * | | Try running CI for ActionPack on JRubyGaurish Sharma2016-02-271-0/+5
| | | | | | | | | | | | | | | | These are green on local. Checking to see they pass on travis too!
* | | | Merge pull request #23948 from ctm/remove_pathological_regexpRafael França2016-02-291-1/+1
|\ \ \ \ | | | | | | | | | | Removes potentially quadratic Regexp from ActiveRecord::LogSubscriber…
| * | | | Removes potentially quadratic Regexp from ActiveRecord::LogSubscriber#sql_colorClifford T. Matthews2016-02-231-1/+1
| | | | |
* | | | | Merge pull request #18766 from yasyf/issue_17864Sean Griffin2016-02-294-8/+68
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Honour joining model order in `has_many :through` associations when eager loading
| * | | | | Honour the order of the joining model in a `has_many :through`Yasyf Mohamedali2015-03-025-9/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | association when eager loading. Previously, eager loading a `has_many :through` association with no defined order would return the records in the natural order of the database. Now, these records will be returned in the order that the joining record is returned, in case there is a defined order there.
* | | | | | Merge pull request #23963 from gsamokovarov/exception-wrapper-no-ac-requireKasper Timm Hansen2016-02-291-1/+0
|\ \ \ \ \ \ | | | | | | | | | | | | | | Drop Action Controller require in ActionDispatch::ExceptionWrapper
| * | | | | | Drop Action Controller require in ActionDispatch::ExceptionWrapperGenadi Samokovarov2016-02-291-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We only reference the Action Controller error classes by name in ActionDispatch::ExceptionWrapper, so there is no need to explicitly require them. It drops a tiny coupling between Action Dispatch and Action Controller, so it makes me feel warm inside. We still have a lot of others AC requires in the AD code base, but here, we can save it. [ci skip]
* | | | | | | Merge pull request #23955 from bdewater/doc-13897Sean Griffin2016-02-291-3/+9
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Add documentation for #13897 [skip ci]
| * | | | | | | Add documentation for #13897 [skip ci]Bart de Water2016-02-291-3/+9
| | | | | | | |
* | | | | | | | Merge pull request #23957 from delftswa2016/fix-documentation-stylesheetArthur Nogueira Neves2016-02-291-1/+1
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | | Fix value of CSS background-color property in Ruby on Rails guide
| * | | | | | | Fix value of CSS background-color property in Rails guideBas van IJzendoorn2016-02-291-1/+1
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change background-color value to transparent, which is the default value of background-color. [ci skip]
* | | | | | | Merge pull request #23962 from mohitnatoo/rails_command_test_semanticsRafael França2016-02-291-9/+9
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Having more readable test descriptions in railties actions_test.rb
| * | | | | | | - Made changes to have test cases in actions_test more readable.Mohit Natoo2016-02-291-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changed description with tests related to rails_command.
| * | | | | | | - Made changes to have test cases in actions_test more readable.Mohit Natoo2016-02-291-5/+5
| |/ / / / / /
* | | | | | | Merge pull request #23956 from delftswa2016/fix-documentationप्रथमेश Sonpatki2016-02-291-5/+5
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Fix typos in Rails guide about Action View Overview
| * | | | | | Fix typos in Action View Overview guideBas van IJzendoorn2016-02-291-5/+5
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes some typos in the Action View Overview section of the Rails guide. [ci skip]
* | | | | | Merge pull request #23951 from teoljungberg/warning-freeKasper Timm Hansen2016-02-292-9/+9
|\ \ \ \ \ \ | | | | | | | | | | | | | | Address ruby warnings
| * | | | | | Address ruby warningsTeo Ljungberg2016-02-292-9/+9
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | - Ambiguous first argument - Mismatched indentation
* | | | | | Merge pull request #22591 from gregmolnar/sslKasper Timm Hansen2016-02-282-2/+13
|\ \ \ \ \ \ | | | | | | | | | | | | | | add `constraint_to` option to SSL middleware
| * | | | | | add `constraint_to` option to SSL middlewareGreg Molnar2016-02-282-2/+13
| | | | | | |
* | | | | | | Merge pull request #23929 from ↵Kasper Timm Hansen2016-02-281-2/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | prathamesh-sonpatki/update-deprecation-message-for-app-namespace Update deprecation message shown when tasks from rails namespace are run
| * | | | | | | Update deprecation message shown when tasks from rails namespace are runPrathamesh Sonpatki2016-02-271-2/+2
| | |_|_|/ / / | |/| | | | |
* | | | | | | Merge pull request #23946 from prathamesh-sonpatki/fix-ac-guideप्रथमेश Sonpatki2016-02-281-0/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix formatting in Action Cable guide [ci skip]