aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
* change query strategy based on adapterAaron Patterson2014-01-164-5/+51
|
* Merge branch 'master' into adequaterecordAaron Patterson2014-01-1614-60/+127
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: Make AR::Base#touch fire the after_commit and after_rollback callbacks Fix test for cache_key + touched Revert "methods are defined right after the module_eval, so we don't need to do" Revert "Don't remove trailing slash from PATH_INFO for mounted apps" Add failing test for #13369 reset column information after fiddling with `Encoding.default_internal` we have `with_env_tz` as global test helper. Remove duplicate. isolate class attribute assignment in `migration_test.rb` use `teardown` for cleanup, not `setup`. tests without transactional fixtures need to cleanup afterwards. no need to `return skip` in tests. `skip` is enough. methods are defined right after the module_eval, so we don't need to do any line number maths Get rid of unused TransactionError constant Avoid converting :on option to array twice when defining commit/rollback callbacks Unify changelog entries about single quotes [ci skip] Use single quotes in generated files
| * Make AR::Base#touch fire the after_commit and after_rollback callbacksHarry Brundage2014-01-165-2/+71
| |
| * Fix test for cache_key + touchedCarlos Antonio da Silva2014-01-161-9/+9
| | | | | | | | | | Ensure the child can actually be touched. The `Bulb` model has no timestamp column, thus trying to touch it would return `nil`.
| * reset column information after fiddling with `Encoding.default_internal`Yves Senn2014-01-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This solves order depndent problems in `base_test.rb`. The leaked column information crashed test cases using the `Weird` class later on: ``` 2) Error: BasicsTest#test_group_weirds_by_from: SyntaxError: /Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:387: invalid hex escape ... attribute_before_type_cast("\x{A4CA}\x{A4DE}\x{A4A8}", *arg... ... ^ /Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:387: invalid hex escape ...te_before_type_cast("\x{A4CA}\x{A4DE}\x{A4A8}", *args) ... ^ /Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:387: invalid hex escape ...e_type_cast("\x{A4CA}\x{A4DE}\x{A4A8}", *args) ... ^ /Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:385:in `module_eval' /Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:385:in `define_proxy_call' /Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:294:in `block in define_attribute_method' /Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:285:in `each' /Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:285:in `define_attribute_method' /Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:252:in `block in define_attribute_methods' /Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:252:in `each' /Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:252:in `define_attribute_methods' /Users/senny/Projects/rails/activerecord/lib/active_record/attribute_methods.rb:72:in `block in define_attribute_methods' /Users/senny/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/mutex_m.rb:73:in `synchronize' /Users/senny/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/mutex_m.rb:73:in `mu_synchronize' /Users/senny/Projects/rails/activerecord/lib/active_record/attribute_methods.rb:69:in `define_attribute_methods' /Users/senny/Projects/rails/activerecord/lib/active_record/attribute_methods.rb:174:in `method_missing' /Users/senny/Projects/rails/activerecord/lib/active_record/attribute_assignment.rb:45:in `public_send' /Users/senny/Projects/rails/activerecord/lib/active_record/attribute_assignment.rb:45:in `_assign_attribute' /Users/senny/Projects/rails/activerecord/lib/active_record/attribute_assignment.rb:32:in `block in assign_attributes' /Users/senny/Projects/rails/activerecord/lib/active_record/attribute_assignment.rb:26:in `each' /Users/senny/Projects/rails/activerecord/lib/active_record/attribute_assignment.rb:26:in `assign_attributes' /Users/senny/Projects/rails/activerecord/lib/active_record/core.rb:458:in `init_attributes' /Users/senny/Projects/rails/activerecord/lib/active_record/core.rb:191:in `initialize' /Users/senny/Projects/rails/activerecord/lib/active_record/inheritance.rb:30:in `new' /Users/senny/Projects/rails/activerecord/lib/active_record/inheritance.rb:30:in `new' /Users/senny/Projects/rails/activerecord/lib/active_record/persistence.rb:33:in `create' test/cases/base_test.rb:646:in `test_group_weirds_by_from' ```
| * we have `with_env_tz` as global test helper. Remove duplicate.Yves Senn2014-01-162-14/+0
| |
| * isolate class attribute assignment in `migration_test.rb`Yves Senn2014-01-161-22/+33
| | | | | | | | | | | | | | | | This makes the tests inside `migration_test.rb` order independent. The assignments to `Reminder.table_name_prefix` and `Reminder.table_name_suffix` previously leaked and had impact on following test cases. This patch isolates the assignments on a throw-away subclass.
| * use `teardown` for cleanup, not `setup`.Yves Senn2014-01-161-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | This solves order dependent issues where the last test leaked the query cache state. This resulted in the following error: ``` QueryCacheExpiryTest#test_cache_is_expired_by_habtm_delete [test/cases/query_cache_test.rb:275]: not all expectations were satisfied unsatisfied expectations: - expected exactly twice, invoked once: #<ActiveRecord::ConnectionAdapters::SQLite3Adapter:0x7f93e0c65838>.clear_query_cache(any_parameters) ```
| * tests without transactional fixtures need to cleanup afterwards.Yves Senn2014-01-161-0/+7
| | | | | | | | This fixes test order issues.
| * no need to `return skip` in tests. `skip` is enough.Yves Senn2014-01-164-4/+4
| |
| * Get rid of unused TransactionError constantCarlos Antonio da Silva2014-01-151-3/+0
| | | | | | | | | | | | This has been added 9 years ago in a677da209b16f43198b3485dda89dce862fb9bfb, and removed 6 years ago in 38f8252e2d0a109d1b833d6b289cd989e7bfffe4.
| * Avoid converting :on option to array twice when defining commit/rollback ↵Carlos Antonio da Silva2014-01-151-3/+2
| | | | | | | | callbacks
* | use a params hash so we know what bind parameters are usedAaron Patterson2014-01-153-25/+65
| |
* | some databases do not have bind params (mysql2) so take that in to accountAaron Patterson2014-01-141-2/+6
| |
* | fix exception translationAaron Patterson2014-01-142-3/+4
| |
* | Merge branch 'master' into set_bindsAaron Patterson2014-01-142-15/+2
|\| | | | | | | | | | | | | | | * master: rm dup code Conflicts: activerecord/test/cases/relations_test.rb
| * rm dup codeAaron Patterson2014-01-141-13/+0
| | | | | | | | https://github.com/rails/rails/blob/e64a83cdbd3ce836f3339c600c1006b20c23d8fd/activerecord/test/cases/relation/merging_test.rb#L80-91
* | test bind value equalityAaron Patterson2014-01-141-2/+2
| |
* | translate exceptions on prepared statement failureAaron Patterson2014-01-142-6/+13
| |
* | reorder bind indexes if joins produced bind valuesAaron Patterson2014-01-141-0/+9
| |
* | expliticly make STI column a bind valueAaron Patterson2014-01-141-4/+9
| |
* | Merge branch 'master' into set_bindsAaron Patterson2014-01-142-8/+7
|\| | | | | | | | | | | * master: directly create the ARel AST Updated comment to mention the enum mapping class method [ci skip]
| * directly create the ARel ASTAaron Patterson2014-01-141-6/+4
| | | | | | | | rather than allocating a new Relation, just make the AST directly
| * Updated comment to mention the enum mapping class method [ci skip]Godfrey Chan2014-01-141-2/+3
| |
| * "string" isn't a valid column type for ActiveRecordAaron Patterson2014-01-141-1/+1
| | | | | | | | | | Conflicts: activerecord/test/cases/adapters/sqlite3/sqlite3_adapter_test.rb
* | take in to account existing bind parameters when building the bind listAaron Patterson2014-01-141-21/+20
| |
* | match against bind valuesAaron Patterson2014-01-141-2/+2
| |
* | comment out the sqlite3 debug code (for now)Aaron Patterson2014-01-141-0/+7
| |
* | fix statement cache executionAaron Patterson2014-01-141-7/+6
| |
* | fix cache class interfaceAaron Patterson2014-01-142-22/+26
| |
* | unscoping a where should remove bind valuesAaron Patterson2014-01-141-0/+2
| |
* | remove dead codeAaron Patterson2014-01-141-2/+0
| |
* | drop the dual encodings tableAaron Patterson2014-01-141-2/+2
| |
* | where needs to bring the bind params when creating a new relationAaron Patterson2014-01-141-0/+3
| |
* | `where` makes bind values, so stop manually creating themAaron Patterson2014-01-141-11/+3
| |
* | switch to arrays for bind removal testAaron Patterson2014-01-141-4/+2
| | | | | | | | we can't make bind values for arrays yet
* | `where` creates binds, so do not create them manuallyAaron Patterson2014-01-141-2/+1
| |
* | we should not be copying these. fixes ↵Aaron Patterson2014-01-141-4/+0
| | | | | | | | test_find_all_using_where_with_relation_with_bound_values
* | Merge branch 'master' into set_bindsAaron Patterson2014-01-1411-42/+135
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * master: don't establish a new connection when testing with `sqlite3_mem`. sqlite >= 3.8.0 supports partial indexes Don't try to get the subclass if the inheritance column doesn't exist Enum mappings are now exposed via class methods instead of constants. Fix fields_for documentation with index option [ci skip] quick pass through Active Record CHANGELOG. [ci skip] [ci skip] Grammar correction single quotes for controller generated routes [ci skip] Added alias to CSRF Set NameError#name
| * don't establish a new connection when testing with `sqlite3_mem`.Yves Senn2014-01-141-15/+21
| | | | | | | | | | | | | | This fixes broken `rake test_sqlite3_mem` suite for Active Record. The problem is that that the old database with the schema is lost when establishing a new connection. Upon reconnting we are left with a blank database and tests down the line start failing.
| * sqlite >= 3.8.0 supports partial indexesCody Cutrer2014-01-143-1/+25
| |
| * Don't try to get the subclass if the inheritance column doesn't existUjjwal Thaakar2014-01-145-8/+42
| | | | | | | | | | | | | | The `subclass_from_attrs` method is called even if the column specified by the `inheritance_column` setting doesn't exist. This prevents setting associations via the attributes hash if the association name clashes with the value of the setting, typically `:type`. This worked previously in Rails 3.2.
| * Enum mappings are now exposed via class methods instead of constants.Godfrey Chan2014-01-143-10/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Example: class Conversation < ActiveRecord::Base enum status: [ :active, :archived ] end Before: Conversation::STATUS # => { "active" => 0, "archived" => 1 } After: Conversation.statuses # => { "active" => 0, "archived" => 1 }
| * quick pass through Active Record CHANGELOG. [ci skip]Yves Senn2014-01-141-7/+9
| |
| * Merge pull request #13669 from chulkilee/name-error-nameYves Senn2014-01-143-2/+8
| |\ | | | | | | Set NameError#name
| | * Set NameError#nameChulki Lee2014-01-133-2/+8
| | |
* | | remove dead codeAaron Patterson2014-01-141-3/+0
| | |
* | | adjust AST tests to respect bind valuesAaron Patterson2014-01-141-21/+61
| | |
* | | where uses bind values so we don't need to manually create themAaron Patterson2014-01-141-11/+3
| | |
* | | remove test that does not apply anymoreAaron Patterson2014-01-141-12/+1
| | |