aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
* Rename first_or_new to first_or_initialize.Jon Leighton2011-09-132-3/+2
| | | | | For consistency with find_or_initialize_by. Also remove first_or_build alias.
* Deprecate using method_missing for attributes that are columns.Jon Leighton2011-09-131-0/+15
| | | | | | This shouldn't ever happen unless people are doing something particularly weird, but adding a deprecation in case there are bugs not caught by our tests.
* Let Ruby deal with method visibility.Jon Leighton2011-09-131-7/+10
| | | | | | Check respond_to_without_attributes? in method_missing. If there is any method that responds (even private), let super handle it and raise NoMethodError if necessary.
* Always generate attribute methods on the base class.Jon Leighton2011-09-132-6/+19
| | | | | | | | | | | | | | This fixes a situation I encountered where a subclass would cache the name of a generated attribute method in @_defined_class_methods. Then, when the superclass has it's attribute methods undefined, the subclass would always have to dispatch through method_missing, because the presence of the attribute in @_defined_class_methods would mean that it is never generated again, even if undefine_attribute_methods is called on the subclass. There various other confusing edge cases like this. STI classes share columns, so let's just keep all the attribute method generation state isolated to the base class.
* Raise error when using write_attribute with a non-existent attribute.Jon Leighton2011-09-134-6/+15
| | | | | | | | | Previously we would just silently write the attribute. This can lead to subtle bugs (for example, see the change in AutosaveAssociation where a through association would wrongly gain an attribute. Also, ensuring that we never gain any new attributes after initialization will allow me to reduce our dependence on method_missing.
* Fix warnings.Jon Leighton2011-09-131-1/+1
| | | | Make sure we don't redefine an already-defined attribute method.
* Add deprecation for doing `attribute_method_suffix ''`Jon Leighton2011-09-131-2/+0
|
* Alias id= if necessary, rather than relying on method_missingJon Leighton2011-09-131-0/+4
|
* Merge pull request #2936 from joelmoss/migration_statusSantiago Pastorino2011-09-111-5/+7
| | | | db:migrate:status not looking at all migration paths
* Merge pull request #2757 from andmej/first_or_create_pull_requestJon Leighton2011-09-082-0/+44
|\ | | | | Add first_or_create family of methods to Active Record
| * Using more precise method signatures for AR::Relation#first_or_create family ↵Andrés Mejía2011-09-061-6/+6
| | | | | | | | of methods.
| * Adding first example with no arguments to AR::Relation#first_or_create and ↵Andrés Mejía2011-09-061-15/+15
| | | | | | | | removing examples that create several users at the same time (this is confusing and not really helpful).
| * Adding first_or_create, first_or_create!, first_or_new and first_or_build to ↵Andrés Mejía2011-08-302-0/+44
| | | | | | | | | | | | | | | | | | | | Active Record. This let's you write things like: User.where(:first_name => "Scarlett").first_or_create!(:last_name => "Johansson", :hot => true) Related to #2420.
* | LRU cache in mysql and sqlite are now per-process caches.Aaron Patterson2011-09-072-21/+30
| |
* | LRU should cache per process in postgresql. fixes #1339Aaron Patterson2011-09-071-10/+14
| |
* | fixing view queriesAaron Patterson2011-09-071-3/+5
| |
* | use the supplied bind valuesAaron Patterson2011-09-071-1/+1
| |
* | Merge commit 'refs/pull/2909/head' of https://github.com/rails/rails into rawrAaron Patterson2011-09-071-6/+4
| | | | | | | | | | | | * https://github.com/rails/rails: Postgresql adapter: added current_schema check for table_exists? Postgresql adapter: added current_schema check for table_exists?
* | Don't include any of includes, preload, joins, eager_load in the through ↵Jon Leighton2011-09-071-1/+1
| | | | | | | | association scope.
* | Merge pull request #2485 from akaspick/exists_fixJon Leighton2011-09-071-1/+3
|\ \ | | | | | | fix exists? to return false if passed nil (which may come from a missing
| * | fix exists? to return false if passed nil (which may come from a missing URL ↵Andrew Kaspick2011-08-101-1/+3
| | | | | | | | | | | | param)
* | | Merge pull request #2897 from rsutphin/ar31-remove_connectionAaron Patterson2011-09-062-2/+2
| | | | | | | | | | | | Patch for issue #2820
* | | Database adapters use a statement pool.Aaron Patterson2011-09-063-8/+46
| | | | | | | | | | | | | | | | | | Database adapters use a statement pool for limiting the number of open prepared statments on the database. The limit defaults to 1000, but can be adjusted in your database config by changing 'statement_limit'.
* | | adding a statement pool for mysql and sqlite3Aaron Patterson2011-09-063-9/+102
| | |
* | | Nested through associations: preloads from the default scope of a through ↵Jon Leighton2011-09-061-1/+1
| | | | | | | | | | | | model should not be included in the association scope. (We're already excluding includes.) Fixes #2834.
* | | Ensure we are not comparing a string with a symbol in ↵Jon Leighton2011-09-061-1/+1
| | | | | | | | | | | | HasManyAssociation#inverse_updates_counter_cache?. Fixes #2755, where a counter cache could be decremented twice as far as it was supposed to be.
* | | Make the logic easier to readJon Leighton2011-09-061-4/+7
| | |
* | | Merge pull request #2716 from jbbarth/fix_invert_rename_indexAaron Patterson2011-09-051-1/+1
|\ \ \ | | | | | | | | Fix bad options order in AR::Migration::CommandRecorder#invert_rename_index
| * | | Fixed bad options order in ↵jbbarth2011-08-281-1/+1
| | | | | | | | | | | | | | | | ActiveRecord::Migration::CommandRecorder#invert_rename_index
* | | | Don't find belongs_to target when the foreign_key is NULL. Fixes #2828Georg Friedrich2011-09-051-0/+4
| | | |
* | | | Use LIMIT sql word in last when it's possibleDamien Mathieu2011-09-051-1/+5
| | | |
* | | | use LIMIT SQL word in first - Closes #2783Damien Mathieu2011-09-051-1/+1
| | | |
* | | | We need to recorder here. Need to drop the order from default scope.Arun Agrawal2011-09-051-1/+1
| | | | | | | | | | | | Fixes #2832
* | | | Revert "Fixes bug in ActiveRecord::QueryMethods, #1697"Jon Leighton2011-09-041-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0df27c98d982ec87d2fb48cfda82694eb267993e. Reverted due to failing test, see #2845.
* | | | restores the API docs of AR::Fixtures, made a quick pass over them, revises ↵Xavier Noria2011-09-031-368/+361
| | | | | | | | | | | | | | | | link in fixture template [closes #2840]
* | | | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2011-09-021-1/+1
|\ \ \ \
| * | | | Improve examples: use each instead of for...inGabe Berke-Williams2011-08-311-1/+1
| | |_|/ | |/| |
* | | | * Psych errors with poor yaml formatting are proxied. Fixes #2645, #2731Aaron Patterson2011-09-012-2/+11
| | | |
* | | | make sure encoding_aware? is availableAaron Patterson2011-09-011-0/+2
| | | |
* | | | Fixes bug in ActiveRecord::QueryMethods, #1697Joshua Wehner2011-08-311-4/+2
|/ / / | | | | | | Replace split on comma with a regexp that will reverse all ASC/DESC specifically
* | | Fix test failures on 1.8.7, since Object#initialize_dup is not defined there ↵Jon Leighton2011-08-291-1/+0
| | | | | | | | | | | | (and this call to super is no essential, so easiest to simply remove)
* | | Merge pull request #2021 from dasch/more_postgres_utilsAaron Patterson2011-08-291-1/+3
|\ \ \ | | | | | | | | Make #extract_schema_and_table an instance method in Utils
| * | | Make #extract_schema_and_table an instance method in UtilsDaniel Schierbeck2011-07-091-1/+3
| | | | | | | | | | | | | | | | Also, move the utils test into its own test case.
* | | | Move clear_timestamp_attributes into Timestamp moduleJon Leighton2011-08-292-10/+14
| | | |
* | | | The join_nodes must be passed to the JoinDependency initializer and ↵Jon Leighton2011-08-292-13/+14
| | | | | | | | | | | | | | | | therefore counted by the alias tracker. This is because the association_joins are aliased on initialization and then the tables are cached, so it is no use to alias the join_nodes later. Fixes #2556.
* | | | Move the bulk alter table code into the abstract mysql adapter, hence it is ↵Jon Leighton2011-08-292-47/+42
| | | | | | | | | | | | | | | | supported for mysql2 as well now.
* | | | Extract simplified_type into the abstract classJon Leighton2011-08-293-23/+24
| | | |
* | | | Create an AbstractMysqlAdapter to abstract the common code between ↵Jon Leighton2011-08-293-1097/+706
| | | | | | | | | | | | | | | | MysqlAdapter and Mysql2Adapter.
* | | | clear and disable query cache when an exception is raised from called middlewareAaron Patterson2011-08-281-0/+6
| |/ / |/| |
* | | stop messing with the load path, load path should be adjusted in the test taskAaron Patterson2011-08-261-7/+0
| | |