aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
* Don't swallow exceptions in transctional statementsDoug Barth2013-11-052-10/+0
| | | | | | | | | | | | | | | | | | | | The MySQL connection adapater swallows all StandardError exceptions, which includes Mysql::Error and Mysql2::Error. The comment in the exception clause claims errors thrown here indicate that transactions aren't supported by the server but that isn't necessarily true. It's possible the MySQL server has gone away and swallowing a failed commit may let the application return a successful response when the data has not been saved. Also, replication libraries like Galera require that the application handle exceptions thrown at BEGIN/COMMIT. I'm unable to determine what version of MySQL threw an exception for transactional statements. I tried as far back as 3.23.49 with InnoDB disabled but BEGIN & COMMIT statements do not throw an error. If there's a real case for this logic to continue, we could instead push this behavior into a configuration setting. The exception swallowing has been there since the beginning: db045dbbf60b53dbe013ef25554fd013baf88134
* store enum mapping using `Strings` instead of `Symbols`.Yves Senn2013-11-051-1/+2
| | | | | This allows to assign both `String` and `Symbol` values to the enum without having to call `to_sym`, which is a security problem.
* direct enum assignment rasies ArgumentError for unknown values.Yves Senn2013-11-051-1/+6
|
* define enum methods inside a `Module` to make them overwritable.Yves Senn2013-11-051-13/+24
|
* Merge pull request #12390 from kennyj/rename_to_association_methodsRafael Mendonça França2013-11-054-7/+7
|\ | | | | | | | | | | | | | | | | Renamed generated_feature_methods to generated_association_methods. Conflicts: activerecord/lib/active_record/associations/builder/association.rb activerecord/lib/active_record/associations/builder/singular_association.rb activerecord/test/cases/base_test.rb
| * Renamed generated_feature_methods to generated_association_methods.kennyj2013-09-284-7/+7
| |
* | ask the fixture set for the sql statementsAaron Patterson2013-11-042-11/+17
| |
* | The enum value constant isn't used, so rm it for now.Aaron Patterson2013-11-041-17/+7
| |
* | stop doing the same calculation over and overAaron Patterson2013-11-041-4/+5
| |
* | Fix failures related to enum changesCarlos Antonio da Silva2013-11-041-6/+4
| | | | | | | | | | | | Commit 6e4a810f51b9ed2468b92247ef5568cc9d6dbcc0 changed the implementation from class_eval to define_method, but missed the access to the constant versus the access to the constant name.
* | Refactor logic to grab the max time of the list of timestamp names in #cache_keyCarlos Antonio da Silva2013-11-042-4/+4
| | | | | | | | | | Reuse the already existing logic used for grabbing this information from the updated columns.
* | Respect cache timestamp format when giving timestamps to #cache_keyCarlos Antonio da Silva2013-11-041-1/+2
| |
* | :scissors: [ci skip]Carlos Antonio da Silva2013-11-041-2/+2
| |
* | Replace `class_eval` with `define_method` for enumVitaly Tatarintsev2013-11-041-4/+12
| | | | | | | | https://github.com/rails/rails/commit/db41eb8a6ea88b854bf5cd11070ea4245e1639c5#commitcomment-4502683
* | Revert "ActiveRecord::Base#<=> has been removed. Primary keys may not be in ↵David Heinemeier Hansson2013-11-021-0/+9
| | | | | | | | | | | | | | | | | | order," -- will be replaced with a check to ensure that the keys used for comparison are integers, and only fail if they are not. This reverts commit 6256734e2d0bdd89f4b5d11da259d40afa0c95c7. Conflicts: activerecord/CHANGELOG.md
* | Delegate #rewhere to all on the class like all other relation methodsDavid Heinemeier Hansson2013-11-021-1/+1
| |
* | Move documentation around a bitDavid Heinemeier Hansson2013-11-021-4/+7
| |
* | Merge pull request #12747 from yury/explicit-enum-valuesDavid Heinemeier Hansson2013-11-021-1/+5
|\ \ | | | | | | Explicit mapping for enum
| * | Explicit mapping for enumYury Korolev2013-11-021-1/+5
| | |
* | | Added ActiveRecord::QueryMethods#rewhere which will overwrite an existing, ↵David Heinemeier Hansson2013-11-021-0/+12
| | | | | | | | | | | | named where condition.
* | | unscope now works on default_scope after ↵Rafael Mendonça França2013-11-021-3/+0
|/ / | | | | | | 94924dc32baf78f13e289172534c2e71c9c8cade
* | Extend ActiveRecord::Base#cache_key to take an optional list of timestamp ↵David Heinemeier Hansson2013-11-021-1/+9
| | | | | | | | attributes of which the highest will be used.
* | Fix to work on Ruby 1.9.3, example and changelog improvementsCarlos Antonio da Silva2013-11-021-5/+5
| |
* | Added ActiveRecord::Base#enum for declaring enum attributes where the values ↵David Heinemeier Hansson2013-11-023-0/+62
| | | | | | | | map to integers in the database, but can be queried by name
* | Fix wrong behavior where associations with dependent: :destroy optionsRafael Mendonça França2013-11-011-4/+2
| | | | | | | | | | | | | | | | | | was using nullify strategy This caused a regression in applications trying to upgrade. Also if the user set the dependent option as destroy he expects to get the records removed from the database.
* | Warnings removed for ruby trunkArun Agrawal2013-11-013-3/+3
| | | | | | Same as 4d4ff531b8807ee88a3fc46875c7e76f613956fb
* | fix code typo in `MysqlAdapter` .Closes #12647.Yves Senn2013-10-301-1/+1
| |
* | short arrays in inspectJan Bernacki2013-10-301-3/+10
| |
* | Merge pull request #10664 from aderyabin/docpatchYves Senn2013-10-291-1/+1
|\ \ | | | | | | Fix doc in Postgres database creation [ci skip]
| * | Fix doc in Postgres database creationAndrey Deryabin2013-06-251-1/+1
| | |
* | | Remove confusing generated-code commentaryJeremy Kemper2013-10-281-4/+4
| | |
* | | Merge pull request #12578 from ↵Rafael Mendonça França2013-10-272-2/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | jeradphelps/configurable_schema_migrations_table_name Configurable name for schema_migrations table Conflicts: activerecord/CHANGELOG.md
| * | | added schema_migrations_table_name to ActiveRecord::Base in order that the ↵Jerad Phelps2013-10-272-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | name of the schema migrations table can be configured. consolidated test_schema_migrations_table_name tests Added changelog entry edited changelog removed commented lines removed reader ensure the schema migrations table is reset at end of test added entry to configuration guide guides typo and changelog order
* | | | Merge pull request #12664 from jetthoughts/12242_includes_in_through_associationRafael Mendonça França2013-10-271-2/+6
|\ \ \ \ | | | | | | | | | | Skip `include_values` from through associations chains for building association scope
| * | | | Skip `include_values` from through associations chains for building target scopePaul Nikitochkin2013-10-271-2/+6
| | | | | | | | | | | | | | | | | | | | Fixes: #12242, #9517, #10240
* | | | | Add a note about ensuring the version is right for the adapter (since you ↵David Heinemeier Hansson2013-10-271-1/+1
|/ / / / | | | | | | | | | | | | might well have specified the right gem, but locked it to too low of a version)
* | | | Fixed typo with after_commit docsChris Ledet2013-10-251-2/+2
| | | | | | | | | | | | Fixed syntax error on `after_commit` docs
* | | | cast json values on write to be consistent with reading from the db.Severin Schoepke2013-10-251-0/+4
| | | | | | | | | | | | | | | | See also commit 5ac2341fab689344991b2a4817bd2bc8b3edac9d
* | | | Merge pull request #12641 from ↵Rafael Mendonça França2013-10-251-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | jetthoughts/12640_updated_migrations_doc_to_use_remove_column Fix migration docs to use new remove_column semantics
| * | | | Fix migration docs to use new remove_column semanticsPaul Nikitochkin2013-10-251-2/+2
| | | | | | | | | | | | | | | | | | | | Fixes: #12640
* | | | | `ActiveRecord::Store` works together with PG `hstore` columns.Yves Senn2013-10-254-14/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is necessary because as of 5ac2341 `hstore` columns are always stored as `Hash` with `String` keys. `ActiveRecord::Store` expected the attribute to be an instance of `HashWithIndifferentAccess`, which led to the bug.
* | | | | `stored_attributes` need to be specific to a subclass.Yves Senn2013-10-251-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently they are all stored globally in the same `Hash`. This commit forces the creation of a per-class variable if necessary. The behavior was exposed through the following test-case: ``` 1) Failure: StoreTest#test_all_stored_attributes_are_returned [/Users/senny/Projects/rails/activerecord/test/cases/store_test.rb:151]: --- expected +++ actual @@ -1 +1 @@ -[:color, :homepage, :favorite_food] +[:resolution, :color, :homepage, :favorite_food] ```
* | | | | Merge pull request #12621 from ↵Rafael Mendonça França2013-10-241-1/+7
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | laurocaetano/fix_has_one_association_with_primary_key_set Save association when primary key is manually set Conflicts: activerecord/CHANGELOG.md
| * | | | | Save association when primary key is manually setlaurocaetano2013-10-241-1/+7
| | | | | |
* | | | | | always check to see if methods exist after calling define_attribute_methodsMatt Jones2013-10-241-6/+3
| | | | | |
* | | | | | Fix typo: `has_many :pets`, not `pets :has_many`.Peter Jaros2013-10-241-1/+1
| |/ / / / |/| | | |
* | | | | move helper class to the topAaron Patterson2013-10-211-42/+42
| | | | |
* | | | | build the association graph functionallyAaron Patterson2013-10-213-20/+13
| | | | | | | | | | | | | | | | | | | | This lets us avoid the constant calls to Array#<<
* | | | | Merge branch 'master' into joindepAaron Patterson2013-10-218-205/+214
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (23 commits) Escape the parentheses in the default function regexp Update docs on Tilt::Template in Asset Pipeline guide Fix loading a sql structure file on postgres when the file's path has whitespace in it remove trailing whitespace added with b057765 [ci skip]. Allow unscope to work with `where.not` Raise an exception when model without primary key calls .find_with_ids Process sub-query relation's binding values Instrument the generation of Action Mailer messages Remove extra variable creation and merge. In Relation#empty? use #exists? instead of #count. [ci skip] avoid deprecation warning in sample code Convert Fixnum into String the port number in MySQL Fix some indentation on autosave association Make define_non_cyclic_method simpler Add Sass gobbling info to asset pipeline docs Ensure the state is clean after one failure Fix typo in form_helper.rb add a new local variable to track if digests are being stored, to ensure the cleanup works correctly [ci skip] Fix number of methods added by association. update digestor code based on review ...
| * \ \ \ \ Merge pull request #12588 from jetthoughts/12586_subquery_with_unprepared_sqlRafael Mendonça França2013-10-211-0/+7
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Inline bind values for sub-queries generated for Relation in where Conflicts: activerecord/CHANGELOG.md