aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Add prepared statements support for `Mysql2Adapter`"Sean Griffin2015-11-264-149/+151
|
* Merge pull request #22415 from kamipo/prepared_statements_for_mysql2_adapterSean Griffin2015-11-264-151/+149
|\ | | | | Add prepared statements support for `Mysql2Adapter`
| * Add prepared statements support for `Mysql2Adapter`Ryuta Kamizono2015-11-264-151/+149
| |
* | Docs: ActiveRecord::QueryMethods#joinsJared Beck2015-11-251-2/+22
|/ | | | [ci skip]
* Merge pull request #22304 from ↵Yves Senn2015-11-244-104/+161
|\ | | | | | | | | kamipo/schema_dumping_support_for_postgresql_geometric_types Add schema dumping support for PostgreSQL geometric data types
| * Add schema dumping support for PostgreSQL geometric data typesRyuta Kamizono2015-11-243-11/+77
| |
| * Move `migration/postgresql_geometric_types_test.rb` in ↵Ryuta Kamizono2015-11-242-93/+84
| | | | | | | | `adapters/postgresql/geometric_test.rb`
* | Merge pull request #22214 from ↵Rafael França2015-11-244-15/+6
|\ \ | | | | | | | | | | | | kamipo/not_passing_native_database_types_to_table_definition Not passing `native_database_types` to `TableDefinition`
| * | Not passing `native_database_types` to `TableDefinition`Ryuta Kamizono2015-11-084-15/+6
| | | | | | | | | | | | | | | | | | The `native_database_types` only used in `TableDefinition` for look up the default `:limit` option. But this is duplicated process with `type_to_sql`. Passing `native_database_types` is not needed.
* | | Merge pull request #22388 from ↵Sean Griffin2015-11-233-9/+8
|\ \ \ | | | | | | | | | | | | | | | | kamipo/set_field_encoding_is_only_needed_for_mysql_adapter `set_field_encoding` is only needed for `MysqlAdapter`
| * | | `set_field_encoding` is only needed for `MysqlAdapter`Ryuta Kamizono2015-11-243-9/+8
| | |/ | |/| | | | | | | Not needed for `Mysql2Adapter` and `AbstractMysqlAdapter`.
* | | Fix more test failures caused by #21000Sean Griffin2015-11-231-1/+5
| | |
* | | Merge pull request #21000 from twalpole/find_or_parameter_issuesSean Griffin2015-11-234-38/+70
|\ \ \ | |/ / |/| | Update and fix forbidden attributes test issues caused by AC::Parameters change
| * | Update and fix forbidden attributes testsThomas Walpole2015-11-034-38/+70
| | | | | | | | | | | | Add AC::Parameters tests for WhereChain#not
* | | Remove blanket array delegation from `Relation`Sean Griffin2015-11-232-20/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | As was pointed out by #17128, our blacklist of mutation methods was non-exhaustive (and would need to be kept up to date with each new version of Ruby). Now that `Relation` includes `Enumerable`, the number of methods that we actually need to delegate are pretty small. As such, we can change to explicitly delegating the few non-mutation related methods that `Array` has which aren't on `Enumerable`
* | | Merge pull request #22362 from radar/toggle-documentationClaudio B2015-11-201-0/+8
|\ \ \ | | | | | | | | Add example for AR::Persistence#toggle
| * | | Add example for AR::Persistence#toggleRyan Bigg2015-11-211-0/+8
| | | |
* | | | Fix test failure in `adapters/mysql/active_schema_test.rb`Ryuta Kamizono2015-11-202-6/+6
| | | | | | | | | | | | | | | | Follow up to #21601.
* | | | Revert "Allow specifying the default table options for mysql adapters"Sean Griffin2015-11-193-26/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8246b593bff71f2cebf274c133bb8917f1e094c8. There was concern about this modifying the behavior of past migrations. We're going to add an way to modify the migration generator instead.
* | | | Allow specifying the default table options for mysql adaptersSean Griffin2015-11-193-1/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's often the case that you want to have an option that you cannot specify at the database level, but want applied to *all* tables that you create. For example, you might want to specify `ROW_FORMAT=DYNAMIC` to not have to limit text columns to length 171 for indexing when using utf8mb4. This allows an easy way to specify this in your database configuration. While this change affects both MySQL and MySQL2, the test only covers MySQL2, as the legacy mysql adapter appears to always return ASCII strings, and is tangential to what we're actually doing.
* | | | Rename 'key' to 'lock_id' or 'lock_name' for advisory lockingSam Davies2015-11-188-65/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - key was a poor choice of name. A key implies something that will unlock a lock. The concept is actually more like a 'lock identifier' - mysql documentation calls this a 'lock name' - postgres documentation calls it a 'lock_id' - Updated variable names to reflect the preferred terminology for the database in question
* | | | Fix incorrect issue number [ci skip]Andrew White2015-11-171-1/+1
| | | |
* | | | Merge pull request #22316 from yui-knk/changelog_for_22300Andrew White2015-11-171-0/+6
|\ \ \ \ | | | | | | | | | | [ci skip] Add CHANGELOG for #22300 (817c1825c15013fd0180762ac5c05a2e0…
| * | | | [ci skip] Add CHANGELOG for #22300 (817c1825c15013fd0180762ac5c05a2e024a640d)yui-knk2015-11-181-0/+6
| | | | |
* | | | | Raise ArgumentError when passing a truthy value to mergeAndrew White2015-11-172-5/+10
|/ / / / | | | | | | | | | | | | | | | | | | | | In b71e08f we started raising when nil or false was passed to merge to fix #12264, however we should also do this for truthy values that are invalid like true.
* | | | Merge pull request #22271 from ↵Yves Senn2015-11-171-0/+32
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | timbreitkreutz/twb-9015-schema-dumper-test-for-prefix-and-ignore Test case for Issue #9015 - ignore_table and table_prefix at same time
| * | | | TWB Test case for Issue #9015 - ignore_table and table_prefix at same timeTim Breitkreutz2015-11-131-0/+32
| | | | |
* | | | | Merge pull request #22257 from yui-knk/fix_merge_to_not_call_to_proc_for_hashAndrew White2015-11-172-3/+9
|\ \ \ \ \ | | | | | | | | | | | | Make `AR::SpawnMethods#merge!` to check an arg is a Proc
| * | | | | Make `AR::SpawnMethods#merge!` to check an arg is a Procyui-knk2015-11-122-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From Ruby ( 2.3.0dev trunk 52520), `Hash#to_proc` is defined (https://github.com/ruby/ruby/commit/fbe967ec02cb65a7efa3fb8f3d747cf6f620dde1), and many tests have been failed with `ArgumentError: wrong number of arguments (given 0, expected 1)`. Because we call `Hash#to_proc` with no args in `#merge!`. This commit changes order of conditionals to not call `Hash#to_proc`.
* | | | | | Merge pull request #22300 from yui-knk/fix_21893Sean Griffin2015-11-165-5/+23
|\ \ \ \ \ \ | | | | | | | | | | | | | | Except keys of `build_record`'s argument from `create_scope` in initi…
| * | | | | | Except keys of `build_record`'s argument from `create_scope` in ↵yui-knk2015-11-165-5/+23
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | initialize_attributes If argument of `build_record` has key and value which is same as default value of database, we should also except the key from `create_scope` in `initialize_attributes`. Because at first `build_record` initialize record object with argument of `build_record`, then assign attributes derived from Association's scope. In this case `record.changed` does not include the key, which value is same as default value of database, so we should add the key to except list. Fix #21893.
* | | | | | Merge pull request #22302 from ↵Yves Senn2015-11-162-4/+0
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | kamipo/remove_not_needed_native_database_types_entries Remove not needed `NATIVE_DATABASE_TYPES` entries
| * | | | | | Remove not needed `NATIVE_DATABASE_TYPES` entriesRyuta Kamizono2015-11-162-4/+0
| |/ / / / /
* / / / / / Freeze association foreign keys to reduce allocationsSean Griffin2015-11-151-1/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The string returned here will ultimately get used as a key of a hash in the attribute set once the attributes are being built. When you give a non-frozen string to `Hash#[]`, it will be duped. Be freezing we can significantly reduce the number of times we end up allocating `"user_id"` This does not include any additional tests, as this should not have any public facing implications. If you are mutating the result of `Reflection#foreign_key`, please stop.
* / / / / Deprecate `#table_exists?`, `#tables` and passing arguments to `#talbes`yui-knk2015-11-0924-98/+208
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reported on #21509, how views is treated by `#tables` are differ by each adapters. To fix this different behavior, after Rails 5.0 is released, deprecate `#tables`. And `#table_exists?` would check both tables and views. To make their behavior consistent with `#tables`, after Rails 5.0 is released, deprecate `#table_exists?`.
* | | | Improve support for non Active Record objects on `validates_associated`Kassio Borges2015-11-083-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | Skipping `marked_for_destruction?` when the associated object does not responds to it make easier to validate virtual associations built on top of Active Model objects and/or serialized objects that implement a `valid?` instance method.
* | | | Update belongs_to.rbEhsan Yousefi2015-11-081-2/+1
| | | | | | | | | | | | There is no need to to assign reflection name to a variable, because it's called once.
* | | | docs, get rid of artifact in `RecordFetchWarning` docs.Yves Senn2015-11-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | [ci skip] There was a `ActiveRecord::Relation::RecordFetchWarning::ActiveSupport` artifact caused by subscribing to AS notifications.
* | | | docs, nodoc `EnumType`. [ci skip]Yves Senn2015-11-071-1/+1
| |_|/ |/| | | | | | | | | | | This type is backed by a class macro. Documentation related to the type casting behavior should be added in the macro description.
* | | docs, `ActiveRecord::JoinDependency` is not part of the public API.Yves Senn2015-11-071-1/+1
| | | | | | | | | | | | | | | | | | | | | [ci skip] While `JoinDependency` and `JoinDependency::Aliases` were nodoced, the inner `Table` class made them appear in the API.
* | | docs, `ActiveRecord::TypeCaster` is not part of the public API.Yves Senn2015-11-073-3/+3
| | | | | | | | | | | | [ci skip]
* | | Fix test failuresSean Griffin2015-11-071-0/+1
| | | | | | | | | | | | | | | The previous commit changes the state of the class, and while we are cleaning up the database, I forgot to clean up the class
* | | Ensure `#reset_column_information` clears child classes as wellSean Griffin2015-11-073-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've added a redundant test for this under the attributes API as well, as that also causes this bug to manifest through public API (and demonstrates that calling `reset_column_information` on the child classes would be insufficient) Since children of a class should always share a table with their parent, just reloading the schema from the cache should be sufficient here. `reload_schema_from_cache` should probably become public and `# :nodoc:`, but I'd rather avoid the git churn here. Fixes #22057
* | | Fix wrong `assert_equal` argument order.Kasper Timm Hansen2015-11-071-2/+2
| | | | | | | | | | | | | | | It goes expected, then actual. Only changed this because the file was just touched (please don't submit pull requests :)).
* | | Suppress warning (warning about assigned but unused variable)yui-knk2015-11-071-1/+1
| | | | | | | | | | | | | | | These warings have been appeared from https://github.com/rails/rails/commit/92bc8cdb0771bf6ffcfb31ef58dba529527b514c
* | | Avoids mutating the original response in connection management middlewareKevin Buchanan2015-11-063-4/+15
| | |
* | | Merge pull request #22187 from ↵Andrew White2015-11-051-1/+1
|\ \ \ | | | | | | | | | | | | | | | | kamipo/test_binary_data_is_not_logged_is_for_prepared_statements `test_binary_data_is_not_logged` is for prepared statements logging
| * | | `test_binary_data_is_not_logged` is for prepared statements loggingRyuta Kamizono2015-11-051-1/+1
| | | |
* | | | No need `MysqlDouble` and `MysqlDouble.reset_column_information`Ryuta Kamizono2015-11-052-24/+12
| | | |
* | | | Require the count_down_latchRafael Mendonça França2015-11-051-2/+3
| | | |