aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use type column first in multi-column indexesDerek Prior2014-10-245-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `add_reference` can very helpfully add a multi-column index when you use it to add a polymorphic reference. However, the first column in the index is the `id` column, which is less than ideal. The [PostgreSQL docs][1] say: > A multicolumn B-tree index can be used with query conditions that > involve any subset of the index's columns, but the index is most > efficient when there are constraints on the leading (leftmost) > columns. The [MySQL docs][2] say: > MySQL can use multiple-column indexes for queries that test all the > columns in the index, or queries that test just the first column, the > first two columns, the first three columns, and so on. If you specify > the columns in the right order in the index definition, a single > composite index can speed up several kinds of queries on the same > table. In a polymorphic relationship, the type column is much more likely to be useful as the first column in an index than the id column. That is, I'm more likely to query on type without an id than I am to query on id without a type. [1]: http://www.postgresql.org/docs/9.3/static/indexes-multicolumn.html [2]: http://dev.mysql.com/doc/refman/5.0/en/multiple-column-indexes.html
* Merge pull request #17381 from jonatack/patch-8Santiago Pastorino2014-10-241-1/+1
|\ | | | | AR Migrations Guide#Foreign Keys: fix wrong table
| * AR Migrations Guide#Foreign Keys: fix wrong tableJon Atack2014-10-241-1/+1
|/ | | [skip ci]
* Merge pull request #17377 from aripollak/dry-try-bangGodfrey Chan2014-10-231-10/+6
|\ | | | | DRY up try/try!
| * DRY up try/try!Ari Pollak2014-10-231-10/+6
| |
* | Merge pull request #17369 from rails/secure_compareGuillermo Iguaran2014-10-234-14/+33
|\ \ | |/ |/| Secure compare
| * Use AS secure_compare for CSRF token comparisonGuillermo Iguaran2014-10-231-2/+2
| |
| * Use AS secure_compare in AS::MessageVerifierGuillermo Iguaran2014-10-231-12/+2
| |
| * Add AS::SecurityUtils.secure_compare for constant time string comparisonGuillermo Iguaran2014-10-232-0/+29
| |
* | Merge branch 'mrgilman-reword-uncountable-documentation'Zachary Scott2014-10-231-1/+1
|\ \ | |/ |/|
| * Reword documentation for `uncountable` [ci skip]Melanie Gilman2014-10-231-1/+1
|/
* Merge pull request #17355 from vipulnsward/aj-string-fixesYves Senn2014-10-231-1/+1
|\ | | | | Fix error string raised from AJ enqueue_at for ClassQueueAdapter
| * - Fix error string raised from `enqueue_at`Vipul A M2014-10-221-1/+1
| |
* | Merge pull request #17343 from vipulnsward/inline-aj-callbacksYves Senn2014-10-231-16/+13
|\ \ | | | | | | Inline AJ around_perform and around_enqueue in CallbackJob used for tests
| * | - Inline AJ around_perform and around_enqueue in CallbackJob used for tests.Vipul A M2014-10-211-16/+13
| |/
* | Update CHANGELOG and release notes for e98f2a7Godfrey Chan2014-10-222-2/+6
| |
* | Merge pull request #17361 from aripollak/try-bang-parityGodfrey Chan2014-10-222-5/+9
|\ \ | | | | | | Bring try! into parity with try.
| * | Bring try! into parity with try.Ari Pollak2014-10-222-5/+9
|/ / | | | | | | Based on commit 5e51bdda.
* | Merge pull request #17353 from swapdisc/activejob-queue-test-typoRafael Mendonça França2014-10-221-2/+2
|\ \ | | | | | | :nail_care: fix typos in activejob queuing test
| * | :nail_care: fix typos in activejob queuing testJoe Lewis2014-10-221-2/+2
|/ /
* | Merge pull request #17346 from accessd/fix-small-typo-in-testRafael Mendonça França2014-10-211-1/+1
|\ \ | | | | | | fix small typo in routing test
| * | fix small typo in routing testAccessd2014-10-211-1/+1
|/ /
* | Merge pull request #17313 from accessd/fix-url-generation-error-messageRafael Mendonça França2014-10-212-1/+11
|\ \ | | | | | | Fix url generation error message
| * | fix url generation error messageAccessd2014-10-212-1/+11
| | |
* | | Oops, missed a closing bracket [ci skip]Godfrey Chan2014-10-211-1/+1
| | |
* | | Merge pull request #17336 from rebyn/patch-1Godfrey Chan2014-10-211-1/+1
|\ \ \ | |_|/ |/| | Provide more reasoning to not accept cosmetic changes [ci skip]
| * | [ci skip] Provide more reasoning to not accept cosmetic changesTu Hoang2014-10-211-1/+1
| | |
* | | Merge pull request #17331 from vipulnsward/activejob-cleanupsRafael Mendonça França2014-10-203-4/+1
|\ \ \ | | | | | | | | Activejob cleanups
| * | | - Remove duplication in AJ logging test for setting logger.Vipul A M2014-10-202-3/+1
| | | | | | | | | | | | | | | | - Remove un-needed require in AJ rescue test.
| * | | No need to specify log level, run at log level as all other Rails components.Vipul A M2014-10-201-1/+0
| |/ /
* | | Merge pull request #17337 from claudiob/remove-duplicate-select-methodRafael Mendonça França2014-10-205-17/+3
|\ \ \ | | | | | | | | Remove duplicate 'select' database statement
| * | | Remove duplicate 'select' database statementclaudiob2014-10-205-17/+3
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `select` method has the same definition in almost all database adapters, so it can be moved from the database-specific adapters (PostgreSQl, MySQL, SQLite) to the abstract `database_statement`: ```ruby def select(sql, name = nil, binds = []) exec_query(sql, name, binds) end ``` --- More details about this commit: the only two DB-specific adapters that have a different definition of `select` are MySQLAdapter and MySQL2Adapter. In MySQLAdapter, `select` invokes `exec_query(sql, name, binds)`, so calling `super` achieves the same goal with less repetition. In MySQL2Adapter, `select` invokes `exec_query(sql, name)`, that is, it does not pass the `binds` parameter like other methods do. However, [MySQL2Adapter's `exec_query`](https://github.com/rails/rails/blob/74a527cc63ef56f3d0a42cf638299958dc7cb08c/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb#L228L231) works exactly the same whether this parameters is passed or not, so the output does not change: ```ruby def exec_query(sql, name = 'SQL', binds = []) result = execute(sql, name) ActiveRecord::Result.new(result.fields, result.to_a) end ```
* | | Merge pull request #17338 from vipulnsward/aj-doc-fixesRafael Mendonça França2014-10-203-6/+6
|\ \ \ | |/ / |/| | AJ doc fixes [ci skip]
| * | - Changed description for AJ enqueuing methods to provide a sane description.Vipul A M2014-10-211-3/+3
| | | | | | | | | | | | [ci skip]
| * | - Fix mentioned shortcut, to what the shortcut actually is, and that it ↵Vipul A M2014-10-212-3/+3
|/ / | | | | | | | | | | | | | | accepts blocks for `assert_no_enqueued_jobs` and `assert_no_performed_jobs` test helpers. - args => arguments when used in actual docs. [ci skip]
* | Merge pull request #17329 from vipulnsward/mention-perform-later-docsYves Senn2014-10-201-0/+4
|\ \ | | | | | | Mention `perform_now` in AJ base docs to specify how to immediately invoke a job [ci skip]
| * | Mention `perform_now` in AJ base docs to specify how to immediately invoke a ↵Vipul A M2014-10-201-0/+4
| | | | | | | | | | | | job. [ci skip]
* | | docs, It's "Active Job" not "Active job". [ci skip]Yves Senn2014-10-201-2/+2
| | |
* | | Merge pull request #17324 from vipulnsward/activejob-warningsYves Senn2014-10-206-5/+7
|\ \ \ | | | | | | | | Enable emitting of warnings from ActiveJob tests.
| * | | - Removed unused variable warnings from ActiveJob AdaptersVipul A M2014-10-195-5/+5
| | | |
| * | | Enable emitting of warnings from ActiveJob tests.Vipul A M2014-10-191-0/+2
| | | |
* | | | Merge pull request #17019 from yuki24/add-class-name-to-unknown-attr-errorYves Senn2014-10-203-7/+4
|\ \ \ \ | | | | | | | | | | | | | | | Message on AR::UnknownAttributeError should include the class name of a record
| * | | | AR::UnknownAttributeError should include the class name of a recordYuki Nishijima2014-10-153-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This would be helpful if 2 models have an attribute that has a similar name to the other. e.g: before: User.new(name: "Yuki Nishijima", projects_attributes: [name: "kaminari"]) # => ActiveRecord::UnknownAttributeError: unknown attribute: name after: User.new(name: "Yuki Nishijima", projects_attributes: [name: "kaminari"]) # => ActiveRecord::UnknownAttributeError: unknown attribute on User: name
* | | | | AR::UnknownAttributeError should include the class name of a recordYuki Nishijima2014-10-203-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This would be helpful if 2 models have an attribute that has a similar name to the other. e.g: before: User.new(name: "Yuki Nishijima", projects_attributes: [name: "kaminari"]) # => ActiveRecord::UnknownAttributeError: unknown attribute: name after: User.new(name: "Yuki Nishijima", projects_attributes: [name: "kaminari"]) # => ActiveRecord::UnknownAttributeError: unknown attribute on User: name
* | | | | Merge branch 'justanshulsharma-activerecord-merge-docs'Zachary Scott2014-10-191-1/+1
|\ \ \ \ \ | |_|_|/ / |/| | | |
| * | | | Merge branch 'activerecord-merge-docs' of ↵Zachary Scott2014-10-191-1/+1
|/| | | | | | | | | | | | | | | | | | | https://github.com/justanshulsharma/rails into justanshulsharma-activerecord-merge-docs
| * | | | [ci skip] Make merge method nodocAnshul Sharma2014-10-201-8/+1
| | | | |
| * | | | [ci skip] merge docsAnshul Sharma2014-10-201-0/+7
| | |/ / | |/| |
* | | | Merge pull request #17323 from seuros/masterRafael Mendonça França2014-10-192-4/+1
|\ \ \ \ | |/ / / |/| | | remove duplicate method (_status_code) in action_dispatch
| * | | remove duplicate method (_status_code) in action_dispatchAbdelkader Boudih2014-10-192-4/+1
| | | |