aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | | | Added option to ActiveRecord::CounterCache methods.Jarred Trost2017-01-013-8/+216
| | | | | | | | |
* | | | | | | | | Revert "Merge pull request #27528 from kamipo/extract_casted_booleans"Kasper Timm Hansen2017-01-011-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As pointed out by @matthewd this change makes ImmutableString aware of MysqlString's existence whereas previously MysqlString was only overriding public API. cc @kamipo This reverts commit e632c2fa4cb60072a778ce95c952a0fa95e5b074, reversing changes made to 334a7dcf107cd3ff1697163d331d289d6d65dcd7.
* | | | | | | | | Change `timestamp_attributes_for_{create,update}` from symbol to stringRyuta Kamizono2017-01-012-12/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `timestamp_attributes_for_{create,update}` is defined as symbol but always used as string with `to_s`. This allocates extra strings. To avoid extra allocation, change the definitions from symbol to string. ```ruby pp ObjectSpace::AllocationTracer.trace { 1_000.times { |i| Post.create! } } ``` Before: ``` ["~/rails/activerecord/lib/active_record/timestamp.rb", 121]=>[1002, 0, 750, 0, 1, 18528], ["~/rails/activerecord/lib/active_record/timestamp.rb", 105]=>[1002, 0, 750, 0, 1, 7720], ["~/rails/activerecord/lib/active_record/timestamp.rb", 101]=>[1002, 0, 750, 0, 1, 7720], ["~/rails/activerecord/lib/active_record/timestamp.rb", 109]=>[1002, 0, 750, 0, 1, 13896], ["~/rails/activerecord/lib/active_record/timestamp.rb", 61]=>[4008, 0, 3000, 0, 1, 30880], ``` After: ``` ["~/rails/activerecord/lib/active_record/timestamp.rb", 120]=>[1000, 0, 756, 0, 1, 17184], ["~/rails/activerecord/lib/active_record/timestamp.rb", 104]=>[1000, 0, 756, 0, 1, 7160], ["~/rails/activerecord/lib/active_record/timestamp.rb", 100]=>[1000, 0, 756, 0, 1, 7160], ["~/rails/activerecord/lib/active_record/timestamp.rb", 108]=>[1000, 0, 756, 0, 1, 12888], ```
* | | | | | | | | Merge pull request #27528 from kamipo/extract_casted_booleansKasper Timm Hansen2016-12-311-14/+6
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Extract `casted_true`/`casted_false` for `Type::ImmutableString`
| * | | | | | | | | Extract `casted_true`/`casted_false` for `Type::ImmutableString`Ryuta Kamizono2017-01-011-14/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The only difference between `Type::ImmutableString` and its subclasses is the representation of the casted booleans. Prefer extracting `casted_true`/`casted_false` and override these by subclasses.
* | | | | | | | | | Refactor `CollectionAssociation#ids_reader`Ryuta Kamizono2017-01-011-3/+1
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simply we can do `target.pluck(reflection.association_primary_key)` if `target` is loaded.
* / / / / / / / / Dump array subtype options correctlyRyuta Kamizono2017-01-012-4/+6
|/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently schema dumper does not dump array subtype `precision` and `scale` options. This commit fixes the issue.
* | | | | | | | Merge pull request #27441 from koic/quoted_insert_version_sqlKasper Timm Hansen2016-12-311-4/+4
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Add a quote to an SQL insert statement of schema migration
| * | | | | | | | Add a quote to an SQL insert statement of schema migrationKoichi ITO2016-12-231-4/+4
| | |/ / / / / / | |/| | | | | |
* | | | | | | | [ci skip] Retouch some association wording.Kasper Timm Hansen2016-12-311-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Trim some needless words off the lines and format the code sample like we'd write in the Rails source.
* | | | | | | | [ci skip] Remove mention of GeneratedAssociationMethodsKasper Timm Hansen2016-12-311-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Marked as private in 2afe5a1 and doesn't seem worth it to mention the module name here.
* | | | | | | | Merge pull request #27521 from ↵Kasper Timm Hansen2016-12-311-0/+2
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | prathamesh-sonpatki/mark-one-more-constant-as-private Mark :GeneratedAssociationMethods also as private_constant
| * | | | | | | | Mark :GeneratedAssociationMethods also as private_constantPrathamesh Sonpatki2016-12-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - After https://github.com/rails/rails/commit/64e5b897ac944a05a33275e3828a3d4047a6b457, only :GeneratedAssociationMethods was remaining to be marked as private constant, so marked it as well. - Before: >> User.constants(false) => [:GeneratedAssociationMethods] - After: >> User.constants(false) => []
* | | | | | | | | Bump license years for 2017Jon Moss2016-12-312-2/+2
|/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per https://www.timeanddate.com/counters/firstnewyear.html, it's already 2017 in a lot of places, so we should bump the Rails license years to 2017. [ci skip]
* | | | | | | | Add missing word in activerecord/CHANGELOG.mdJon Moss2016-12-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ci skip]
* | | | | | | | Mark internal cache constants as privateMatthew Draper2016-12-311-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #14640
* | | | | | | | Remove deprecated `#uniq`, `#uniq!`, and `#uniq_value`Ryuta Kamizono2016-12-307-46/+5
| | | | | | | |
* | | | | | | | Remove deprecated `#insert_sql`, `#update_sql`, and `#delete_sql`Ryuta Kamizono2016-12-303-12/+4
| | | | | | | |
* | | | | | | | Grammar linting in activerecord/CHANGELOG.mdJon Moss2016-12-291-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ci skip]
* | | | | | | | Fix grammar in AR CHANGELOG.md [ci skip]kenta-s2016-12-301-1/+1
| | | | | | | |
* | | | | | | | Remove deprecated #use_transactional_fixtures configurationRafael Mendonça França2016-12-293-31/+5
| | | | | | | |
* | | | | | | | Remove deprecated `#raise_in_transactional_callbacks` configurationRafael Mendonça França2016-12-292-10/+4
| | | | | | | |
* | | | | | | | Remove deprecated #load_schema_forRafael Mendonça França2016-12-292-8/+4
| | | | | | | |
* | | | | | | | Remove deprecated conditions parameter from #delete_allRafael Mendonça França2016-12-293-26/+12
| | | | | | | |
* | | | | | | | Remove deprecated conditions parameter from `#destroy_all`Rafael Mendonça França2016-12-293-16/+6
| | | | | | | |
* | | | | | | | Remove deprecated support to passing arguments to `#select` when a block is ↵Rafael Mendonça França2016-12-293-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | provided.
* | | | | | | | Remove deprecated support to query using commas on LIMITRafael Mendonça França2016-12-294-37/+9
| | | | | | | |
* | | | | | | | Remove deprecated support to passing a class as a value in a queryRafael Mendonça França2016-12-294-40/+4
| | | | | | | |
* | | | | | | | Raises IrreversibleOrderError when using last with an irreversible orderRafael Mendonça França2016-12-293-9/+6
| | | | | | | |
* | | | | | | | Raise when a through association has an ambiguous reflection nameRafael Mendonça França2016-12-294-10/+27
| | | | | | | |
* | | | | | | | Raises when `ActiveRecord::Migration` is inherited directly.Rafael Mendonça França2016-12-294-54/+35
| | | | | | | |
* | | | | | | | Remove original_exception from ActiveRecord::StatementInvalidRafael Mendonça França2016-12-293-12/+7
| | | | | | | |
* | | | | | | | `#tables` and `#table_exists?` and returns only tables and not viewsRafael Mendonça França2016-12-2918-161/+128
| | | | | | | |
* | | | | | | | Remove deprecated `name` argument from `#tables`Rafael Mendonça França2016-12-298-30/+10
| | | | | | | |
* | | | | | | | Remove deprecated support to passing a column to #quoteRafael Mendonça França2016-12-294-24/+18
| | | | | | | |
* | | | | | | | Set time as a timezone aware type and remove related deprecationRafael Mendonça França2016-12-293-26/+7
| | | | | | | |
* | | | | | | | Remove deprecated force reload argument in association readersRafael Mendonça França2016-12-299-67/+12
| | | | | | | |
* | | | | | | | Remove deprecated i18n scopes in Active RecordRafael Mendonça França2016-12-295-55/+7
| | | | | | | |
* | | | | | | | Merge pull request #27493 from kamipo/sync_visibilityRafael França2016-12-291-1/+1
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Sync the visibility of `sql_for_insert` to private
| * | | | | | | | Sync the visibility of `sql_for_insert` to privateRyuta Kamizono2016-12-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The visibility of all internal protected methods was changed to private since 5b14129.
* | | | | | | | | [ci skip] Add changelog for 261e94b.Kasper Timm Hansen2016-12-291-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ *Kasper Timm Hansen* & *Kir Shatrov* ]
* | | | | | | | | Remove try! usage in sqlite_database_tasks.Kasper Timm Hansen2016-12-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We try to not try! internally.
* | | | | | | | | Merge pull request #27437 from kirs/structure-load-dump-flagsKasper Timm Hansen2016-12-297-15/+109
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | Make ActiveRecord structure load/dump configurable
| * | | | | | | | Make ActiveRecord structure load/dump configurableKir Shatrov2016-12-227-15/+109
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this patch it's impossible to pass extra flags to mysqldump/pg_dump when running `rake db:structure:dump` or `load` The following config variables (`structure_load_flags` and `structure_dump_flags`) make it better configurable.
* | | | | | | | Merge pull request #27490 from ↵Rafael França2016-12-294-4/+20
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | kamipo/should_not_update_children_when_parent_creation_with_no_reason Should not update children when the parent creation with no reason
| * | | | | | | Should not update children when the parent creation with no reasonRyuta Kamizono2016-12-294-4/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This issue was introduced with d849f42 to solve #19782. However, we can solve #19782 without causing the issue. It is enough to save only when necessary. Fixes #27338.
* | | | | | | | Merge pull request #26376 from kamipo/remove_polymorphic_base_class_for_arrayRafael França2016-12-291-3/+0
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | Remove extracting `polymorphic_base_class` for `Array` in `AssociationQueryValue`
| * | | | | | | Remove extracting `polymorphic_base_class` for `Array` in ↵Ryuta Kamizono2016-09-211-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `AssociationQueryValue` It is handled by `PolymorphicArrayValue`.
* | | | | | | | Merge pull request #27402 from yui-knk/executeRafael França2016-12-281-1/+1
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Use `#execute` instead of `@connection.query`
| * | | | | | | | Use `#execute` instead of `@connection.query`yui-knk2016-12-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `@connection.query` bypasses instrumenting "sql.active_record". This behavior preventing us from debugging SQLs which Rails generates.