aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
Commit message (Collapse)AuthorAgeFilesLines
* Rename first_or_new to first_or_initialize.Jon Leighton2011-09-132-22/+8
| | | | | 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-3/+3
| | | | | | 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.
* Reset column info when messing with columns.Jon Leighton2011-09-131-0/+2
| | | | | | | We are subclassing Session here, but messing with the columns will affect the attribute methods defined on the Session superclass, and therefore other tests, unless we properly isolate it by resetting column info before and after the test run.
* Always generate attribute methods on the base class.Jon Leighton2011-09-132-0/+17
| | | | | | | | | | | | | | 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-19/+32
| | | | | | | | | 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.
* Make protected method public so we avoid method_missing.Jon Leighton2011-09-131-4/+5
|
* Not used variables removed. Warnings removed.Arun Agrawal2011-09-101-1/+1
|
* Add missing require in base_test.rb, fixes isolated testGuillermo Iguaran2011-09-091-0/+1
|
* Merge pull request #2757 from andmej/first_or_create_pull_requestJon Leighton2011-09-082-0/+159
|\ | | | | Add first_or_create family of methods to Active Record
| * Adding first_or_create, first_or_create!, first_or_new and first_or_build to ↵Andrés Mejía2011-08-302-0/+159
| | | | | | | | | | | | | | | | | | | | 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-0/+47
| |
* | fixing file nameAaron Patterson2011-09-071-0/+0
| |
* | LRU should cache per process in postgresql. fixes #1339Aaron Patterson2011-09-071-0/+23
| |
* | Merge commit 'refs/pull/2909/head' of https://github.com/rails/rails into rawrAaron Patterson2011-09-071-0/+6
| | | | | | | | | | | | * https://github.com/rails/rails: Postgresql adapter: added current_schema check for table_exists? Postgresql adapter: added current_schema check for table_exists?
* | Add ROWNUM to test first and last to support Oracle.Yasuo Honda2011-09-071-2/+2
| |
* | Don't include any of includes, preload, joins, eager_load in the through ↵Jon Leighton2011-09-071-3/+5
| | | | | | | | association scope.
* | Merge pull request #2485 from akaspick/exists_fixJon Leighton2011-09-071-0/+9
|\ \ | | | | | | 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-0/+9
| | | | | | | | | | | | param)
* | | Merge pull request #2897 from rsutphin/ar31-remove_connectionAaron Patterson2011-09-061-1/+20
| | | | | | | | | | | | Patch for issue #2820
* | | Nested through associations: preloads from the default scope of a through ↵Jon Leighton2011-09-061-0/+9
| | | | | | | | | | | | 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-062-1/+11
| | | | | | | | | | | | HasManyAssociation#inverse_updates_counter_cache?. Fixes #2755, where a counter cache could be decremented twice as far as it was supposed to be.
* | | Disable active record marshalling tests on Ruby 1.8.7 on Travis CI, as they ↵Jon Leighton2011-09-062-0/+25
| | | | | | | | | | | | have been failing intermittently for a long while due to what appears to be a Ruby bug. If anyone has the skills/expertise/time to debug this, please speak to the Travis guys.
* | | #first doesn't take an order in this testDamien Mathieu2011-09-061-1/+1
| | |
* | | Merge pull request #2877 from dmathieu/fix_tests_pg_18Santiago Pastorino2011-09-051-2/+2
|\ \ \ | | | | | | | | Last orders the records by id
| * | | first and last orders the records by idDamien Mathieu2011-09-061-2/+2
| | | |
* | | | Merge pull request #2716 from jbbarth/fix_invert_rename_indexAaron Patterson2011-09-051-2/+2
|\ \ \ \ | | | | | | | | | | Fix bad options order in AR::Migration::CommandRecorder#invert_rename_index
| * | | | Fixed bad options order in ↵jbbarth2011-08-281-2/+2
| | | | | | | | | | | | | | | | | | | | ActiveRecord::Migration::CommandRecorder#invert_rename_index
* | | | | Don't find belongs_to target when the foreign_key is NULL. Fixes #2828Georg Friedrich2011-09-051-0/+6
| |/ / / |/| | |
* | | | Use LIMIT sql word in last when it's possibleDamien Mathieu2011-09-051-1/+18
| | | |
* | | | use LIMIT SQL word in first - Closes #2783Damien Mathieu2011-09-051-0/+9
| | | |
* | | | Sort here to make sure the order is ok.Arun Agrawal2011-09-051-1/+1
| | | |
* | | | We need to recorder here. Need to drop the order from default scope.Arun Agrawal2011-09-052-0/+30
| | | | | | | | | | | | Fixes #2832
* | | | Revert "Fixes bug in ActiveRecord::QueryMethods, #1697"Jon Leighton2011-09-041-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | 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-1/+1
| | | | | | | | | | | | | | | | link in fixture template [closes #2840]
* | | | Need to add here to pass the testArun Agrawal2011-09-031-0/+1
| | | | | | | | | | | | As in previous commit it's removed.
* | | | * Psych errors with poor yaml formatting are proxied. Fixes #2645, #2731Aaron Patterson2011-09-011-0/+16
| | | |
* | | | Fixes bug in ActiveRecord::QueryMethods, #1697Joshua Wehner2011-08-311-0/+5
| | | | | | | | | | | | Replace split on comma with a regexp that will reverse all ASC/DESC specifically
* | | | Ensure correct ordering of results in ↵Raimonds Simanovskis2011-08-301-1/+1
| |_|/ |/| | | | | | | | | | | | | | test_update_all_with_joins_and_offset_and_order Last two asserts in this test assume that all_comments are ordered by posts.id and then by comments.id therefore additional ordering is added. Without it test was failing on Oracle which returned results in different order.
* | | Merge pull request #2750 from rsim/fix_test_column_names_are_escaped_for_oracleJon Leighton2011-08-301-1/+7
| | | | | | | | | | | | Fix test column names are escaped for oracle
* | | Merge pull request #2021 from dasch/more_postgres_utilsAaron Patterson2011-08-292-15/+18
|\ \ \ | | | | | | | | Make #extract_schema_and_table an instance method in Utils
| * | | Make #extract_schema_and_table an instance method in UtilsDaniel Schierbeck2011-07-092-15/+18
| | | | | | | | | | | | | | | | Also, move the utils test into its own test case.
* | | | The join_nodes must be passed to the JoinDependency initializer and ↵Jon Leighton2011-08-292-0/+6
| | | | | | | | | | | | | | | | 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.
* | | | Create an AbstractMysqlAdapter to abstract the common code between ↵Jon Leighton2011-08-292-20/+20
| | | | | | | | | | | | | | | | MysqlAdapter and Mysql2Adapter.
* | | | fixing typoAaron Patterson2011-08-281-1/+1
| | | |
* | | | clear and disable query cache when an exception is raised from called middlewareAaron Patterson2011-08-281-1/+27
| |/ / |/| |
* | | Force binary data inserted for a string data type to utf-8 and log anAaron Patterson2011-08-251-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | error. Strings tagged as binary will be stored in sqlite3 as blobs. It is an error to insert binary data to a string column, so an error is emitted in the log file. People are highly encouraged to track down the source of the binary strings and make sure that the encoding is set correctly before inserting to the database.
* | | do not compute table names for abstract classesAkira Matsuda2011-08-241-0/+4
| | |
* | | Fix PredicateBuilder clobbering select_values in subquery.Ernie Miller2011-08-201-0/+13
| | |
* | | Fix assumption of primary key name in PredicateBuilder subquery.Ernie Miller2011-08-201-0/+10
| | |