aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2013-05-196-10/+38
|\
| * copy edits[ci skip]Vijay Dev2013-05-191-11/+8
| |
| * Added some more documentation for define_readers and define_writer of the ↵aditya-kapoor2013-05-153-0/+15
| | | | | | | | Association and its inherited classes
| * Added some more documentation for ↵aditya-kapoor2013-05-151-0/+11
| | | | | | | | ActiveRecord::Associations::Builder::Association class
| * Added documentation for ActiveRecord::Associations::Builder::Association classaditya-kapoor2013-05-151-0/+4
| |
| * improved doc for ActiveRecord#find_by_sql method (Refs #10599) [ci skip]Anton Kalyaev2013-05-141-3/+4
| |
| * emphasize that callbacks are called in destroy_allNeeraj Singh2013-05-132-7/+7
| | | | | | | | | | | | | | Cleaned up rdoc a bit emphasizing that callbacks are called. Also removed the stress on the fact that records are always removed. If callbacks return false then records will not be deleted.
* | stop swallowing exceptions in assert_queries. Methods that raise anAaron Patterson2013-05-171-2/+2
| | | | | | | | | | exception are unlikely to pass this assertion, but since the assertions raise an exception, the original exception is lost.
* | stop doing assingments in an iteratorAaron Patterson2013-05-171-2/+6
| |
* | include bind values from the default scopeAaron Patterson2013-05-171-2/+4
| |
* | let Ruby do the is_a check for usAaron Patterson2013-05-161-3/+4
| |
* | Add more data to AR::UnknownAttributeErrorBogdan Gusiev2013-05-162-1/+10
| | | | | | | | | | | | | | | | | | begin Topic.new("hello" => "world") rescue ActiveRecord::UnknownAttributeError => e e.record # => #<Topic ... > e.attribute # => "hello" end
* | Merge pull request #10619 from alno/top_level_array_in_postgres_jsonAaron Patterson2013-05-162-1/+3
|\ \ | | | | | | Support array as root element in Postgresql JSON columns
| * | Support array as root element in JSONAlexey Noskov2013-05-142-1/+3
| | |
* | | Check if APP_RAKEFILE is definedPiotr Sarnacki2013-05-161-1/+1
| | |
* | | Fix detection of engine in rake db:load_configJoel Cogen2013-05-161-1/+1
| | | | | | | | | | | | Broken by d1d7c86d0c8dcb7e75a87644b330c4e9e7d6c1c1
* | | tiny types should only be integers when the length is <= 1. fixes #10620Aaron Patterson2013-05-151-3/+9
| | |
* | | require things we needAaron Patterson2013-05-151-0/+1
| | |
* | | Also support extensions in PostgreSQL 9.1, because this has been supported ↵kennyj2013-05-151-4/+4
| | | | | | | | | | | | since 9.1.
* | | deprecating string based terminatorsAaron Patterson2013-05-141-1/+3
|/ /
* | Merge pull request #10556 from Empact/deprecate-schema-statements-distinctRafael Mendonça França2013-05-121-1/+2
| | | | | | | | | | | | Deprecate SchemaStatements#distinct, and make SchemaStatements#columns_for_distinct nodoc. Conflicts: activerecord/CHANGELOG.md
* | Some editorial changes on the documentation.Rafael Mendonça França2013-05-122-27/+27
|/ | | | | | | | * Remove some autolinks * Fix the rendered result * Change sql to SQL [ci skip]
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2013-05-123-4/+8
|\ | | | | | | | | Conflicts: activesupport/lib/active_support/callbacks.rb
| * copy edits [ci skip]Vijay Dev2013-05-121-5/+1
| |
| * Added documentation for ActiveRecord::Base#next_migration_numberaditya-kapoor2013-05-091-0/+5
| |
| * minor rdoc cleanup for reflection methodsNeeraj Singh2013-05-091-4/+4
| |
| * added to rdoc for unscope that default_scope winsNeeraj Singh2013-05-031-0/+3
| |
* | Adding documentation to the automatic inverse_of finder.wangjohn2013-05-112-1/+22
| |
* | Call assume_migrated_upto_version on connectionKyle Stevens2013-05-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | Call assume_migrated_upto_version on connection to prevent it from first being picked up in method_missing. In the base class, Migration, method_missing expects the argument to be a table name, and calls proper_table_name on the arguments before sending to connection. If table_name_prefix or table_name_suffix is used, the schema version changes to prefix_version_suffix, breaking `rake test:prepare`. Fixes #10411.
* | Merge pull request #10567 from ↵Rafael Mendonça França2013-05-111-1/+2
|\ \ | | | | | | | | | | | | neerajdotname/read_attribute_before_type_cast_should_accept_symbol read_attribute_before_type_cast should accept symbol
| * | read_attribute_before_type_cast should accept symbolNeeraj Singh2013-05-111-1/+2
| | |
* | | Merge pull request #10572 from nertzy/dont-modify-options-hash-in-primary-keyRafael Mendonça França2013-05-111-2/+1
|/ / | | | | | | Don't modify args in TableDefinition#primary_key
* | Extract JoinDependency#join_relation to DRY the repeated application of the ↵Ben Woosley2013-05-103-7/+9
| | | | | | | | #join_associations.
* | In #apply_join_dependency, we can apply the #where in-place because relation ↵Ben Woosley2013-05-101-1/+1
| | | | | | | | | | | | is always a new object. Thanks to the #except we call at the top of the method.
* | DRY-up join dependency creation by extracting construct_join_depdencyBen Woosley2013-05-101-7/+5
| |
* | Pull the excepts into apply_join_dependency, for the sake of DRY.Ben Woosley2013-05-101-3/+4
| |
* | Simplify conditions within apply_join_dependencyBen Woosley2013-05-101-9/+5
| |
* | Move the except(:select) inside the construct_limited_ids_condition method ↵Ben Woosley2013-05-101-2/+2
| | | | | | | | to pair it closely with its motivation.
* | Reject blank order_values within #columns_for_distinct, as the orders aren't ↵Ben Woosley2013-05-102-3/+3
| | | | | | | | used at all on non-postgres adapters.
* | Move #proxy_association method to AssociationRelationJon Leighton2013-05-103-4/+6
| |
* | Merge pull request #6792 from Empact/postgres-distinctJon Leighton2013-05-103-12/+15
|\ \ | | | | | | Fix that #exists? can produce invalid SQL: "SELECT DISTINCT DISTINCT"
| * | Fix that #exists? can produce invalid SQL: "SELECT DISTINCT DISTINCT"Ben Woosley2013-05-103-12/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The combination of a :uniq => true association and the #distinct call in #construct_limited_ids_condition combine to create invalid SQL, because we're explicitly selecting DISTINCT, and also sending #distinct on to AREL, via the relation#distinct_value. Rather than build a select distinct clause in #construct_limited_ids_condition, I set #distinct! and pass just the columns into the select statement. This requires introducing a #columns_for_distinct method to return the select columns but not the statement itself.
* | | Don't try to EXPLAIN select_db callsDaniel Schierbeck2013-05-101-1/+1
| | |
* | | Set the inverse when association queries are refinedJon Leighton2013-05-102-1/+19
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Suppose Man has_many interests, and inverse_of is used. Man.first.interests.first.man will correctly execute two queries, avoiding the need for a third query when Interest#man is called. This is because CollectionAssociation#first calls set_inverse_instance. However Man.first.interests.where("1=1").first.man will execute three queries, even though this is obviously a subset of the records in the association. This is because calling where("1=1") spawns a new Relation object from the CollectionProxy object, and the Relation has no knowledge of the association, so it cannot set the inverse instance. This commit solves the problem by making relations spawned from CollectionProxies return a new Relation subclass called AssociationRelation, which does know about associations. Records loaded from this class will get the inverse instance set properly. Fixes #5717. Live commit from La Conf! :sparkles:
* | extracted piece of code into a methodNeeraj Singh2013-05-081-13/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to fix #10421 I need to enable merge to take an option so that relations could be merged without making the last where condition to win. That fix would forever reside in 4-0-stable branch and would not be merged to master since using scope without lambda has been deprecated. In this commit I have extracted code into a method and I think it makes code look better. Hence the request to merge it in both master and 4-0-stable. If there is any concern then this code can be merged only in 4-0-stable and that would be fine too.
* | Created a method to automatically find inverse associations and cachewangjohn2013-05-074-5/+105
| | | | | | | | | | | | the results. Added tests to check to make sure that inverse associations are automatically found when has_many, has_one, or belongs_to associations are defined.
* | Revert "Merge pull request #10455 from ↵Aaron Patterson2013-05-071-6/+2
| | | | | | | | | | | | | | patricksrobertson/bigserial_id_not_identifying_pk" This reverts commit 3043d45eefc3776d5f3a9e7d212a01f99d869ef8, reversing changes made to ca0275d36b395631725c4583db5a45c06443fdb9.
* | Handle other pk types in PostgreSQL gracefully.Patrick Robertson2013-05-071-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In #10410 it was noted that you can no longer create PK's with the type of bigserial in PostgreSQL in 4.0.0.rc1. This is mostly because the newer adapter is checking for column type with the id column instead of just letting it pass through like it did before. Side effects: You may just create a PK column of a type that you really don't want to be your PK. As far as I can tell this was allowed in 3.2.X and perhaps an exception should be raised if you try and do something extremely dumb.
* | Merge pull request #10489 from greenriver/ar_counter_cache_multiple_destroyRafael Mendonça França2013-05-061-1/+3
|\ \ | | | | | | | | | | | | | | | | | | Confirm a record has not already been destroyed before decrementing counter cache Conflicts: activerecord/CHANGELOG.md
| * | Confirm a record has not already been destroyed before decrementingBen Tucker2013-05-061-1/+3
| |/ | | | | | | | | | | | | | | | | counter cache At present, calling destroy multiple times on the same record results in the belongs_to counter cache being decremented multiple times. With this change the record is checked for whether it is already destroyed prior to decrementing the counter cache.