aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #7643 from steveklabnik/deprecate_silenceRafael Mendonça França2012-09-151-12/+18
|\ | | | | Deprecate ActiveSupport::Benchmarkable#silence.
| * Deprecate ActiveSupport::Benchmarkable#silence.Steve Klabnik2012-09-151-12/+18
| | | | | | | | | | | | | | Due to its lack of thread safety, we're deprecating this, and it will be removed in Rails 4.1. Fixes #4060.
* | Fix testJon Leighton2012-09-151-2/+2
| | | | | | | | Accidentally checked in commented test code. Fail. >_<
* | Ensure disconnecting or reconnecting resets the transaction stateJon Leighton2012-09-152-0/+36
| |
* | Remove our use of #outside_transaction?Jon Leighton2012-09-151-29/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This method was first seen in 045713ee240fff815edb5962b25d668512649478, and subsequently reimplemented in fb2325e35855d62abd2c76ce03feaa3ca7992e4f. According to @jeremy, this is okay to remove. He thinks it was added because at the time we didn't have much transaction state to keep track of, and he viewed it as a hack for us to track it internally, thinking it was better to ask the connection for the transaction state. Over the years we have added more and more state to track, a lot of which is impossible to ask the connection for. So it seems that this is just a relic of the passed and we will just track the state internally only.
* | Remove the transaction_open variableJon Leighton2012-09-151-0/+5
| |
* | Move transaction joinability into the transaction objectJon Leighton2012-09-151-0/+9
| |
* | Start to tease out transaction handling into a state machineJon Leighton2012-09-152-2/+3
|/
* refactor store_accessorMatt Jones2012-09-132-2/+22
|
* Fix nested association referencesJon Leighton2012-09-122-38/+32
| | | | | Previously the reflection would be looked up on the wrong class. However the test passed because the examples referred back to themselves.
* Merge pull request #7273 from beerlington/foreign_key_model_queriesJon Leighton2012-09-123-1/+73
|\ | | | | Convert model name to foreign key in queries
| * Accept belongs_to assoc. keys in ActiveRecord queriesbeerlington2012-09-113-1/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | Allows you to specify the model association key in a belongs_to relationship instead of the foreign key. The following queries are now equivalent: Post.where(:author_id => Author.first) Post.where(:author => Author.first) PriceEstimate.where(:estimate_of_type => 'Treasure', :estimate_of_id => treasure) PriceEstimate.where(:estimate_of => treasure)
* | fixed support for DATABASE_URL for rake db tasksGrace Liu2012-09-111-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | - added tests to confirm establish_connection uses DATABASE_URL and Rails.env correctly even when no arguments are passed in. - updated rake db tasks to support DATABASE_URL, and added tests to confirm correct behavior for these rake tasks. (Removed establish_connection call from some tasks since in those cases the :environment task already made sure the function would be called) - updated Resolver so that when it resolves the database url, it removes hash values with empty strings from the config spec (e.g. to support connection to postgresql when no username is specified).
* | Merge pull request #7601 from jrochkind/connection_pool_unify_exceptionsAaron Patterson2012-09-111-1/+1
|\ \ | |/ |/| ConnectionPool, unify exceptions, ConnectionTimeoutError
| * ConnectionPool, unify exceptions, ConnectionTimeoutErrorJonathan Rochkind2012-09-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As a result of different commits, ConnectionPool had become of two minds about exceptions, sometimes using PoolFullError and sometimes using ConnectionTimeoutError. In fact, it was using ConnectionTimeoutError internally, but then recueing and re-raising as a PoolFullError. There's no reason for this bifurcation, standardize on ConnectionTimeoutError, which is the rails2 name and still accurately describes semantics at this point. History In Rails2, ConnectionPool raises a ConnectionTimeoutError if it can't get a connection within timeout. Originally in master/rails3, @tenderlove had planned on removing wait/blocking in connectionpool entirely, at that point he changed exception to PoolFullError. But then later wait/blocking came back, but exception remained PoolFullError. Then in 02b233556377 pmahoney introduced fair waiting logic, and brought back ConnectionTimeoutError, introducing the weird bifurcation. ConnectionTimeoutError accurately describes semantics as of this point, and is backwards compat with rails2, there's no reason for PoolFullError to be introduced, and no reason for two different exception types to be used internally, no reason to rescue one and re-raise as another. Unify!
* | Use configuration['encoding'], because database configuration use not ↵kennyj2012-09-121-2/+2
| | | | | | | | charset but encoding.
* | Use native mysqldump command for 'rake db:structure:dump'.kennyj2012-09-121-15/+2
|/
* Fix annoy warning, when executing testcase.kennyj2012-09-112-0/+13
|
* Raise MissingAttributeError on query methodsErnie Miller2012-09-081-0/+1
| | | | | | | | | | | | | When calling a query method on an attribute that was not selected by an ActiveRecord query, an ActiveModel::MissingAttributeError is not raised. Instead, a nil value is returned, which will return false once cast to boolean. This is undesirable, as we should not give the impression that we know the attribute's boolean value when we haven't loaded the attribute's (possibly) non-boolean value from the database. This issue is present on versions going back as far as 2.3, at least.
* Dump schema using new style hashKonstantin Shabanov2012-09-081-44/+44
|
* Merge pull request #7545 from senny/7518_postgres_type_detectionAaron Patterson2012-09-072-2/+5
|\ | | | | postgres, map scaled intervals to string datatype
| * postgres, map scaled intervals to string datatype (#7518)Yves Senn2012-09-062-2/+5
| |
* | Fix AR tests due to builder change with nil values / empty stringsCarlos Antonio da Silva2012-09-071-6/+6
| | | | | | | | | | Check 0180e090ab6cbe66f7b521a0c03e278a0463accd for more reasoning about that.
* | Merge pull request #4976 from kreynolds/fix_eager_without_pkeyJon Leighton2012-09-071-0/+8
|\ \ | |/ |/| Fix eagerly loading associations without primary keys
| * Change JoinPart test from an integration to a unit testKelley Reynolds2012-07-052-13/+8
| |
| * Fix eagerly loading associations without primary keysKelley Reynolds2012-02-091-0/+13
| |
* | Put the create_table block in a transaction.Rafael Mendonça França2012-09-051-2/+4
| | | | | | | | | | This will solve the issue that abort the connection transaction when we skip the tests.
* | ActiveRecord support to PostgreSQL 9.2 JSON typeDickson S. Guedes2012-09-053-1/+86
| | | | | | | | | | | | | | | | | | This implements the support to encode/decode JSON data to/from database and creating columns of type JSON using a native type [1] supported by PostgreSQL from version 9.2. [1] http://www.postgresql.org/docs/9.2/static/datatype-json.html
* | Merge pull request #7532 from al2o3cr/fix_store_bugsRafael Mendonça França2012-09-052-2/+9
|\ \ | | | | | | correct handling of changes in AR::Store, combine multiple store_accessors
| * | correctly flag changed attributes in AR::Store, combine multiple calls to ↵Matt Jones2012-09-052-2/+9
| | | | | | | | | | | | store_accessor
* | | Merge pull request #7536 from pivotal/fix_pluck_with_reserved_wordsRafael Mendonça França2012-09-053-2/+16
|\ \ \ | | | | | | | | Fix pluck when columns/tables are reserved words.
| * | | Fix pluck when columns/tables are reserved words.Ian Lesperance2012-09-053-2/+16
| | | |
* | | | Merge pull request #7525 from ↵Rafael Mendonça França2012-09-051-5/+2
|\ \ \ \ | |/ / / |/| | | | | | | | | | | seamusabshere/use-mysql-binary-for-rake-db-structure-load Use the 'mysql' binary for 'rake db:structure:load'
| * | | Use the 'mysql' binary for 'rake db:structure:load'.Seamus Abshere2012-09-051-5/+2
| |/ / | | | | | | | | | The previous implementation had the strange requirement that db/structure.sql contain only CREATE TABLE sql statements, one per table, separated by double newlines. SQLite3 and PostgreSQL database tasks, on the other hand, simply spawn 'sqlite3' and 'psql' binaries to load the file directly. The new implementation follows this and attempts to respect all current MySQL configuration settings.
* | | Merge pull request #7337 from adzap/string_to_dummy_timeRafael Mendonça França2012-09-051-0/+12
|\ \ \ | | | | | | | | Fix for time type columns with invalid time value
| * | | Fix for time type columns with invalid timeAdam Meehan2012-09-051-0/+12
| |/ / | | | | | | | | | | | | | | | The string_to_dummy_time method was blindly parsing the dummy time string with Date._parse which returns a hash for the date part regardless of whether the time part is an invalid time string.
* | | Merge pull request #7447 from etehtsea/postgresql-adapterRafael Mendonça França2012-09-051-3/+0
|\ \ \ | |/ / |/| | Modularize postgresql adapter
| * | Modularize postgresql adapterKonstantin Shabanov2012-09-051-3/+0
| | |
* | | test cleanup, remove ruby_type because it's no longer neededYves Senn2012-09-037-16/+5
| | | | | | | | | | | | | | | All tests with a custom inheritance_column use the `Vegtable` model. The field ruby_type on the Company models is no longer needed
* | | rewrite inheritance tests with a custom inheritance_columnYves Senn2012-09-034-49/+61
| | | | | | | | | | | | | | | | | | previously the tests with and without a custom `inheritance_column` used the same models. Since the model then has both fields this can lead to false positives.
* | | set the configured #inheritance_column on #become (#7503)Yves Senn2012-09-034-1/+37
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | I had to create a new table because I needed an STI table, which does not have both a "type" and a "custom_type" the test fails with: 1) Error: test_alt_becomes_works_with_sti(InheritanceTest): NoMethodError: undefined method `type=' for #<Cabbage id: 1, name: "my cucumber", custom_type: "Cucumber"> /Users/username/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:432:in `method_missing' /Users/username/Projects/rails/activerecord/lib/active_record/attribute_methods.rb:100:in `method_missing' /Users/username/Projects/rails/activerecord/lib/active_record/persistence.rb:165:in `becomes' test/cases/inheritance_test.rb:134:in `test_becomes_works_with_sti' test/cases/inheritance_test.rb:140:in `test_alt_becomes_works_with_sti'
* | Key the attributes hash with symbolsJon Leighton2012-08-311-2/+2
| | | | | | | | | | | | | | | | This is a performance/GC optimisation. In theory, this could be optimised by the implementation (last time I checked, this would have no effect on JRuby). But in practise, this make attribute access faster.
* | Cache the connection pool for a given classJon Leighton2012-08-311-0/+2
| |
* | Make connection pool retrieval fasterJon Leighton2012-08-311-9/+4
| | | | | | | | | | | | * Loop rather than recurse in retrieve_connection_pool * Key the hash by class rather than class name. This avoids creating unnecessary strings.
* | Add a test to make sure preloading properly merges association and default ↵Pratik Naik2012-08-283-0/+23
| | | | | | | | scope conditions
* | Merge pull request #7458 from frodsan/fix_orddep_basicsRafael Mendonça França2012-08-281-5/+5
|\ \ | | | | | | fix order dependent test in AR::BasicsTest
| * | fix order dependent test in AR::BasicsTestFrancesco Rodriguez2012-08-271-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | This test https://github.com/rails/rails/blob/master/activerecord/test/cases/base_test.rb#L381 is failing because is not setting `CreditCard.pluralize_table_name` to `false`. In this case, i prefer to change to another model that is not in the `GUESSED_CLASSES` array.
* | | ensures that the test repairs the validation setupFrancesco Rodriguez2012-08-271-7/+9
|/ /
* | fix order dependent test in AggregationsTestFrancesco Rodriguez2012-08-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure class variable is set to nil. It prevents the following test to fail: def test_do_not_run_the_converter_when_nil_was_set customers(:david).non_blank_gps_location = nil assert_nil Customer.gps_conversion_was_run end Check https://github.com/rails/rails/blob/master/activerecord/test/models/customer.rb#L7 for more information.
* | Add test to ensure that save will raise SerializationTypeMismatch if theRafael Mendonça França2012-08-261-0/+6
| | | | | | | | serialized attribute value is not from the same class