aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
Commit message (Collapse)AuthorAgeFilesLines
* `Connection#structure_dump` is no longer used. #9518Yves Senn2013-03-063-16/+0
| | | | | | | As of ccc6910c we use `mysqldump` to create the `structure.sql`. The old `#structure_dump` code is still in AR but never used. I removed all relevant parts from the code-base.
* Merge pull request #9507 from senny/9483_migrations_without_transactionsRafael Mendonça França2013-03-062-4/+40
|\ | | | | Transactions can be turned off per Migration
| * transactions can be turned off per Migration.Yves Senn2013-03-052-1/+33
| | | | | | | | | | | | | | | | | | | | | | Closes #9483. There are SQL Queries that can't run inside a transaction. Since the Migrator used to wrap all Migrations inside a transaction there was no way to run these queries within a migration. This patch adds `self.disable_ddl_transaction!` to the migration to turn transactions off when necessary.
| * transactional migration test-case was broken.Yves Senn2013-03-051-3/+7
| | | | | | | | | | | | The cleanup commit a85625d broke the test-case. The schema was no longer modified so there was no way to check that the rollback actually happened.
* | Remove unused return value, because collecting_queries_for_explain isn't ↵kennyj2013-03-061-2/+1
|/ | | | public API.
* assigning '0.0' to a nullable numeric column does not make it dirtyYves Senn2013-03-051-0/+15
|
* `ActiveRecord::Base.include_root_in_json` is `false` by default.Yves Senn2013-03-041-0/+4
| | | | | | | | | | | | Closes #9459. The PR #6597 unified the configuration for `include_root_in_json` in AM and AR to `false`. Later on with the refactoring commit: e030f26 the value in AR was set to `true` but I think this was not on purpose. With this commit both AM and AR will have the same configuration for `include_root_in_json`, which is `false`.
* rewrite tests to have no side-effects on `include_root_in_json`.Yves Senn2013-03-041-33/+55
|
* Created an unscope method for removing relations from a chain ofwangjohn2013-03-031-0/+144
| | | | | relations. Specific where values can be unscoped, and the unscope method still works when relations are merged or combined.
* Merge pull request #9431 from troyk/patch-2Andrew White2013-03-021-0/+2
|\ | | | | | | Fix PostgreSQL TIMESTAMP WITH TIME ZONE to return ActiveSupport::Time
| * Fix PostgreSQL TIMESTAMP WITH TIME ZONE to return ActiveSupport::TimeTroy Kruthoff2013-03-011-0/+2
| | | | | | | | | | | | | | | | | | | | In an AR model a timestamptz attribute would return a ruby string and AR tests did not check for any type casting. Previous tests would pass only because an assert_equal was being used on a Time.utc object, which will parse the right side of the eq to a valid Time instance for comparision. switch to test instance of Time instead of ActiveSupport::TimeWithZone
* | deal with `#append` and `#prepend` on association collections.Yves Senn2013-03-011-1/+13
|/ | | | | | | | | | | Closes #7364. Collection associations behave similar to Arrays. However there is no way to prepend records. And to append one should use `<<`. Before this patch `#append` and `#prepend` did not add the record to the loaded association. `#append` now behaves like `<<` and `#prepend` is not defined.
* Wrong exception is occured when raising no translatable exceptionkennyj2013-03-011-0/+6
|
* Support PostgreSQL specific column types when using `change_table`.Yves Senn2013-02-282-0/+30
| | | | | | | | Closes #9480. We use `TableDefinition` for `#create_table` and `Table` for `#change_table`. The PostgreSQL sepcifc types were only defined on `TableDefinition` so I also added them to `Table`.
* Revert "Merge pull request #9207 from dylanahsmith/mysql-quote-numeric"Steve Klabnik2013-02-274-37/+10
| | | | | This reverts commit 408227d9c5ed7de26310d72a1a99c1ee02311c63, reversing changes made to dca0b57d03deffc933763482e615c3cf0b9a1d97.
* Fix default output for postgres network address typesErik Peterson2013-02-262-9/+9
|
* Fix touching an invalid parent record for belongs_toOlek Janiszewski2013-02-261-0/+12
| | | | | | | | | | | | | | | | | | | | | | If the parent of a `belongs_to` record fails to be saved due to validation errors, `touch` will be called on a new record, which causes an exception (see https://github.com/rails/rails/pull/9320). Example: class Owner < ActiveRecord::Base validates_presence_of :name end class Pet < ActiveRecord::Base belongs_to :owner, touch: true end pet = Pet.new(owner: Owner.new) # Before, this line would raise ActiveRecord::ActiveRecordError # "can not touch on a new record object" pet.save
* Merge pull request #9414 from senny/9275_order_with_symbol_and_joinRafael Mendonça França2013-02-262-2/+20
|\ | | | | Expand order(:symbol) to "table".symbol to prevent broken queries on PG.
| * Expand order(:symbol) to "table".symbol to prevent broken queries on PG.Yves Senn2013-02-252-3/+21
| | | | | | | | | | | | | | | | | | | | Fixes #9275. When `#order` is called with a Symbol this patch will prepend the quoted_table_name. Before the postgresql adapter failed to build queries containg a join and an order with a symbol. This expansion happens for all adapters.
* | Do not override attributes on `dup` by default scopesHiroshige Umino2013-02-261-0/+9
| |
* | :scissors:Rafael Mendonça França2013-02-251-1/+1
|/
* Merge pull request #9246 from Noemj/update_prepared_statementsAaron Patterson2013-02-241-0/+14
|\ | | | | Changed update to use prepared statements
| * Changed update_record to use prepared statements.Noemj2013-02-111-0/+14
| |
* | Raising an ActiveRecordError when one tries to use .touch(name) on a newwangjohn2013-02-251-0/+7
| | | | | | | | | | object that has not yet been persisted. This behavior follows the precedent set by update_columns.
* | Remove warningRafael Mendonça França2013-02-241-1/+1
| |
* | don't apply invalid ordering when preloading hmt associations.Yves Senn2013-02-241-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | closes #8663. When preloading a hmt association there two possible scenarios: 1.) preload with 2 queries: first hm association, then hmt with id IN () 2.) preload with join: hmt association is loaded with a join on the hm association The bug was happening in scenario 1.) with a normal order clause on the hmt association. The ordering was also applied when loading the hm association, which resulted in the error. This patch only applies the ordering the the hm-relation if we are performing a join (2). Otherwise the order will only appear in the second query (1).
* | Merge pull request #9400 from senny/remove_auto_explain_threshold_in_secondsXavier Noria2013-02-241-68/+4
|\ \ | | | | | | remove config.auto_explain_threshold_in_seconds
| * | remove AR auto-explain (config.auto_explain_threshold_in_seconds)Yves Senn2013-02-241-68/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We discussed that the auto explain feature is rarely used. This PR removes only the automatic explain. You can still display the explain output for any given relation using `ActiveRecord::Relation#explain`. As a side-effect this should also fix the connection problem during asset compilation (#9385). The auto explain initializer in the `ActiveRecord::Railtie` forced a connection.
* | | Skip connection url test when the machine is using socket configuration.Rafael Mendonça França2013-02-241-0/+3
| | | | | | | | | | | | The connection url parssing don't accept the socket option
* | | Do not type cast all the database url values.Rafael Mendonça França2013-02-241-21/+0
|/ / | | | | | | | | | | We should only type cast when we need to use. Related to 4b005fb371c2e7af80df7da63be94509b1db038c
* | Merge pull request #9356 from senny/988_multiple_actions_for_after_commitSteve Klabnik2013-02-241-0/+35
|\ \ | | | | | | multiple actions for :on option with `after_commit` and `after_rollback`
| * | multiple actions for :on option with `after_commit` and `after_rollback`Yves Senn2013-02-211-0/+35
| | | | | | | | | | | | Closes #988.
* | | test case to prevent duplicated associations with custom PK.Yves Senn2013-02-242-0/+12
| | | | | | | | | | | | closes #9201
* | | Oracle enhanced adapter shortens its name if it is longer than 30 bytesYasuo Honda2013-02-241-2/+10
| | | | | | | | | | | | because of Oracle database index length spec.
* | | also rename the test-case class inside columns_test.rbYves Senn2013-02-241-1/+1
| | |
* | | rename_column_test.rb -> columns_test.rb to reveal intent.Yves Senn2013-02-231-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | I renamed the test to better communicate it's intention. Since it also tests: - add_column - remove_column - change_column There is no reason to call it rename_column_test.
* | | forwardport #9388 rename/remove column preserves custom PK.Yves Senn2013-02-231-1/+15
|/ /
* | Fix warningRafael Mendonça França2013-02-211-1/+1
| |
* | Skip failing test and add a FIXME noteRafael Mendonça França2013-02-201-0/+2
| |
* | also rename indexes when a table or column is renamedYves Senn2013-02-202-3/+34
| | | | | | | | When a table or a column is renamed related indexes kept their name. This will lead to confusing names. This patch renames related indexes when a column or a table is renamed. Only indexes with names generated by rails will be renamed. Indexes with custom names will not be renamed.
* | reserve index name chars for internal rails operationsYves Senn2013-02-202-5/+34
| | | | | | | | | | | | | | | | | | | | | | Some adapter (SQLite3) need to perform renaming operations to support the rails DDL. These rename prefixes operate with prefixes. When an index name already uses up the full space provieded by `index_name_length` these internal operations will fail. This patch introduces `allowed_index_name_length` which respects the amount of characters used for internal operations. It will always be <= `index_name_length` and every adapter can define how many characters need to be reserved.
* | Merge pull request #9332 from ↵Rafael Mendonça França2013-02-201-0/+16
|\ \ | | | | | | | | | | | | wangjohn/adding_documentation_to_error_raising_in_query_methods Tests to make sure empty arguments in WhereChain raise errors
| * | Added comments about the check_empty_arguments method which is calledwangjohn2013-02-201-0/+16
| | | | | | | | | | | | | | | for query methods in a where_clause. Also, modified the CHANGELOG entry because it had false information and added tests.
* | | Reduced memory leak problem in transactions by lazily updating AR objects ↵wangjohn2013-02-201-2/+2
|/ / | | | | | | with new transaction state. If AR object has a callback, the callback will be performed immediately (non-lazily) so the transaction still has to keep records with callbacks.
* | Whitespace :heart: and hash syntax changeRafael Mendonça França2013-02-201-23/+22
| |
* | descriptive error message when AR adapter was not found. Closes #7313.Yves Senn2013-02-201-0/+9
| |
* | delete duplicated tests in AR base_test.rbTakehiro Adachi2013-02-191-23/+0
| | | | | | | | These are duplicated with the tests which are in relations_test.rb
* | add tests for ActiveRecord::Base#createTakehiro Adachi2013-02-181-0/+8
| |
* | Revert "checking in the abstractions for valid type checking:"Jon Leighton2013-02-153-27/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c321b309a9a90bbfa0912832c11b3fef52e71840. Conflicts: activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb Reason: failing test 1) Error: test_valid_column(ActiveRecord::ConnectionAdapters::SQLite3AdapterTest): NoMethodError: undefined method `column' for test/cases/adapters/sqlite3/sqlite3_adapter_test.rb:29:in `test_valid_column'
* | don't cache invalid subsets when preloading hmt associations.Yves Senn2013-02-141-0/+6
| | | | | | | | closes #8423.