aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert "use File.basename to get the filename minus .yml"Aaron Patterson2012-12-181-4/+3
| | | | | | | This reverts commit 00c5342d96a3677c0a6a2bb8316c76182f5bdfdd. Conflicts: activerecord/lib/active_record/fixtures.rb
* #5523 Add ability for postgresql adapter to disable user triggers in ↵Gary S. Weaver2012-12-182-4/+17
| | | | disable_referential_integrity.
* Extract some methodsCarlos Antonio da Silva2012-12-181-16/+22
|
* Change relation in placeCarlos Antonio da Silva2012-12-181-1/+1
|
* Simplify value logic by always typecastingCarlos Antonio da Silva2012-12-181-11/+5
|
* Avoid unnecessary hashes with error optionsCarlos Antonio da Silva2012-12-181-1/+4
|
* Remove prepend_and_append requirement from ASCarlos Antonio da Silva2012-12-181-3/+1
| | | | It's not necessary to use this extension here, we are fine with Array#unshift.
* Refactor uniqueness validator logic a bitCarlos Antonio da Silva2012-12-181-10/+5
| | | | | Cleanup some code, avoid extra hash with reverse_merge, and don't use send for :id, since it's always present.
* Added support for validates_uniqueness_of in PostgreSQL array columns. ↵Pedro Padron2012-12-183-4/+31
| | | | Fixes: #8075.
* AR supporting new int4range and int8range data type on PostgreSQL >= 9.2. ↵Alexey2012-12-172-5/+29
| | | | Fix realization
* AR supporting new intrange data type on PostgreSQL >= 9.2Alexey2012-12-169-5/+170
|
* Skip binary data with binds test for mysql2, fix buildCarlos Antonio da Silva2012-12-142-1/+3
| | | | | | | Mysql2 doesn't support binds, which means no binds payload is set when logging, so the logic to render binary data differently here doesn't work. Introduced in 99d142a9375f9ba1960863b3cc745265aa9a14df.
* Convert changelogs to 1.9 hash style and fix some formatting [ci skip]Carlos Antonio da Silva2012-12-141-5/+5
|
* Do not log the binding values for binary columns.Matthew M. Boedicker2012-12-143-1/+23
| | | | They tend to be large and not very useful in the log.
* Merge pull request #8510 from thedarkone/thread_safety_improvementsAaron Patterson2012-12-142-31/+32
|\ | | | | Thread safety improvements
| * Replace some global Hash usages with the new thread safe cache.thedarkone2012-12-142-31/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary of the changes: * Add thread_safe gem. * Use thread safe cache for digestor caching. * Replace manual synchronization with ThreadSafe::Cache in Relation::Delegation. * Replace @attribute_method_matchers_cache Hash with ThreadSafe::Cache. * Use TS::Cache to avoid the synchronisation overhead on listener retrieval. * Replace synchronisation with TS::Cache usage. * Use a preallocated array for performance/memory reasons. * Update the controllers cache to the new AS::Dependencies::ClassCache API. The original @controllers cache no longer makes much sense after @tenderlove's changes in 7b6bfe84f3 and f345e2380c. * Use TS::Cache in the connection pool to avoid locking overhead. * Use TS::Cache in ConnectionHandler.
* | Remove AR gem pushed by mistakeSantiago Pastorino2012-12-141-0/+0
| |
* | Fix for has_many_through counter_cache bugMatthew Robertson2012-12-144-0/+21
| | | | | | | | | | | | This commit fixes reported issue #7630 in which counter caches were not being updated properly when replacing has_many_through relationships
* | Merge pull request #8500 from senny/8492_migrations_crash_on_specific_pathCarlos Antonio da Silva2012-12-134-1/+23
|\ \ | | | | | | Recognize migrations, in folders containing numbers and 'rb'
| * | recognize migrations, in folders containing numbers and 'rb'.Yves Senn2012-12-134-1/+23
| | | | | | | | | | | | Closes #8492
* | | Shush deprecation warning due to initializing a Migrator with migration ↵Jeremy Kemper2012-12-121-1/+1
|/ / | | | | | | paths rather than migrations. Use Migrator.open(paths) instead. Thanks @rubys!
* | Improve test name related to cache timestamp format [ci skip]Carlos Antonio da Silva2012-12-111-1/+1
| | | | | | | | | | Conflicts: activerecord/test/cases/base_test.rb
* | Deprecate obsolete Time to DateTime fallback methodsAndrew White2012-12-113-5/+5
| | | | | | | | | | | | | | The Time.time_with_datetime_fallback, Time.utc_time and Time.local_time methods were added to handle the limitations of Ruby's native Time implementation. Those limitations no longer apply so we are deprecating them in 4.0 and they will be removed in 4.1.
* | Remove changelog entry from #8441 [ci skip]Carlos Antonio da Silva2012-12-111-4/+0
|/ | | | | | | This issue only happens on master due to internal AR refactorings, so there is no need for a changelog entry. The test was backported to 3-2-stable to ensure there won't be any regressions.
* Add CHANGELOG entry for #6376.Rafael Mendonça França2012-12-101-0/+4
| | | | | Conflicts: activerecord/CHANGELOG.md
* Allow users to choose the timestamp format in the cache keyRafael Mendonça França2012-12-104-1/+29
| | | | | | | This can be done using the class attribute cache_timestamp_format Conflicts: railties/guides/source/configuring.textile
* Make sure the tests pass in the case closer to described in #8195Rafael Mendonça França2012-12-104-19/+14
| | | | | | Conflicts: activerecord/test/models/bulb.rb activerecord/test/schema/schema.rb
* Added regression test for #8195.jacobstr2012-12-101-0/+18
|
* Fix decorating columns for serialized attributesitzki2012-12-103-4/+20
|
* Revert "Omit directories from gemspec.files for RubyGems 2 compat."Jeremy Kemper2012-12-091-1/+1
| | | | | | Obviated by rubygems/rubygems@486ed83cc8e706069213c5d406122f4cfcca9e7f This reverts commit bb8923dee093b615615cdfb83b34d1b0bb254f25.
* Move to the schema-migrations-metadata branch.Jeremy Kemper2012-12-0915-266/+60
| | | | | | | | | | | | | | | | | | | | | | | | Pending work on graceful app upgrades. Revert "Merge pull request #8439 from joshsusser/fixes" This reverts commit ce8ac39338f86388e70356b3a470b3ea443802ae, reversing changes made to b0e7b6f67c984d4b1502e801781ed75fad681633. Revert "Merge pull request #8431 from joshsusser/schemadump" This reverts commit 036d3e1c2b65c4b8cbd23de2e20ad67b9b756182, reversing changes made to 0c692f4d121792117b6a71e5ed590a31c3b9d12e. Revert "Merge branch 'joshsusser-master' into merge" This reverts commit 0c692f4d121792117b6a71e5ed590a31c3b9d12e, reversing changes made to 2e299fca715b083a60222a85e48f9d3b8dd8ce93. Conflicts: activerecord/CHANGELOG.md activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb activerecord/test/cases/schema_dumper_test.rb
* Omit directories from gemspec.files for RubyGems 2 compat.Jeremy Kemper2012-12-081-1/+1
| | | | | | RG2 packager expects each spec.files path to be a file and bombs when it tries to tarball a dir. May revert if rubygems/rubygems#413 is accepted.
* Session variables for mysql, mysql2, and postgresql adapters can be setAaron Stone2012-12-088-34/+144
| | | | | | | | | in the new 'variables:' hash in each database config section in database.yml. The key-value pairs of this hash will be sent in a 'SET key = value, ...' query on new database connections. The configure_connection methods from mysql and mysql2 into are consolidated into the abstract_mysql base class.
* Improve where.not docs [ci skip]Carlos Antonio da Silva2012-12-081-14/+8
| | | | | | | * Fix example queries * Remove doc entries of where.like/not_like. * Remove :chain from where.not related docs. To me that's an implementation detail and we don't expect people to use where(:chain).not.
* Update AR Changelog with correct example using includesCaike Souza2012-12-081-4/+4
| | | | These queries don't seem to work without the includes clause. [ci skip]
* Rollback where.like and where.not_likeCarlos Antonio da Silva2012-12-073-46/+4
| | | | | | | | | | | | | | | | | | | The real win with these chain methods is where.not, that takes care of different scenarios in a graceful way, for instance when the given value is nil. where("author.id != ?", author_to_ignore.id) where.not("author.id", author_to_ignore.id) Both where.like and where.not_like compared to the SQL versions doesn't seem to give us that much: Post.where("title LIKE 'ruby on%'") Post.where.like(title: 'ruby on%'") Post.where("title NOT LIKE 'ruby on%'") Post.where.not_like(title: 'ruby on%'") Thus Rails is adding where.not, but not where.like/not_like and others.
* Document the types of arguments accepted by AR#notclaudiob2012-12-072-2/+23
| | | | | | | | This commit stems from https://github.com/rails/rails/pull/8332#issuecomment-11127957 Since the formats in which conditions can be passed to `not` differ from the formats in which conditions can be passed to `like` and `not_like`, then I think it's worth adding rdoc and tests to show this behavior
* revises a RDoc example to make it idiomaticXavier Noria2012-12-071-8/+8
| | | | | | The force flag suggests the original was probably copied from some db/schema.rb. Thanks to Josh Susser for spotting and reporting this.
* Fix where.not with in clauseCarlos Antonio da Silva2012-12-072-4/+4
| | | | | | Arel::Nodes::In inherits from Arel::Nodes::Equality, so the case statement was always using the Equality operator for both scenarios, resulting in a not equal query instead.
* Update #where rdoc to match 6ba0f97 [ci skip]claudiob2012-12-071-4/+4
| | | | | | | | This commit updates the rdoc of AR#where to match the changes applied in https://github.com/rails/rails/commit/6ba0f97 that is: * `where(nil)` has the same effect of `where('')`: a no op * `where` (no args) has the same effect of `where(:chain)`: to create a WhereChain
* Move where with blank conditions test to the correct where tests fileCarlos Antonio da Silva2012-12-072-6/+6
| | | | This test does not belong to has many associations test.
* Ensure there won't be any regression with where(nil) callsCarlos Antonio da Silva2012-12-072-5/+5
| | | | | | | | | | | | | | | | | | | Consider this scenario: if params[:foo] conditions = { foo: true } end foos = Foo.where(conditions).order(:id) When params[:foo] is nil, this would call: foos = Foo.where(nil).order(:id) In this scenario, we want Foo.where(conditions) to be the same as calling Foo.all, otherwise we'd get a "NoMethodError order for WhereChain". Related to #8332.
* Merge pull request #8332 from amatsuda/ar_where_chainCarlos Antonio da Silva2012-12-074-8/+186
|\ | | | | | | | | | | | | | | Relation.where with no args can be chained with not, like, and not_like Conflicts: activerecord/CHANGELOG.md activerecord/lib/active_record/relation/query_methods.rb
| * Relation.where with no args can be chained with not, like, and not_likeAkira Matsuda2012-11-304-8/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | | examples: Model.where.not field: nil #=> "SELECT * FROM models WHERE field IS NOT NULL Model.where.like name: 'Jeremy%' #=> "SELECT * FROM models WHERE name LIKE 'Jeremy%' this feature was originally suggested by Jeremy Kemper https://github.com/rails/rails/pull/5950#issuecomment-5591330 Closes #5950
* | Unscope update_column(s) query to ignore default scopeCarlos Antonio da Silva2012-12-063-1/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When applying default_scope to a class with a where clause, using update_column(s) could generate a query that would not properly update the record due to the where clause from the default_scope being applied to the update query. class User < ActiveRecord::Base default_scope where(active: true) end user = User.first user.active = false user.save! user.update_column(:active, true) # => false In this situation we want to skip the default_scope clause and just update the record based on the primary key. With this change: user.update_column(:active, true) # => true Fixes #8436.
* | Improve AR changelogCarlos Antonio da Silva2012-12-061-18/+17
| |
* | Remove method redefined warningsCarlos Antonio da Silva2012-12-061-1/+1
| |
* | Use CURRENT_TIMESTAMP since it has apparently better cross db supportCarlos Antonio da Silva2012-12-062-2/+2
| | | | | | | | | | LOCALTIMESTAMP is not support by sqlite3, and travis was giving us these errors: https://travis-ci.org/rails/rails/jobs/3535241/#L570
* | CHANGELOG for 78d5d6f.Steve Klabnik2012-12-061-0/+3
| | | | | | | | | | It was pointed out by @giner that the CHANGELOG entry for https://github.com/rails/rails/commit/78d5d6f8688bb7c45ba9a3ef893682231130da3f wasn't included. Here it is.
* | Oracle needs table to check index existenceJosh Susser2012-12-061-3/+3
| |