aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #13550 from vipulnsward/13437-fixRafael Mendonça França2014-01-011-1/+1
|\ | | | | | | | | | | | | Fix for #13437 Conflicts: activerecord/CHANGELOG.md
| * https://github.com/rails/rails/commit/2075f39d726cef361170218fd16421fc52bed5 ↵Vipul A M2013-12-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a8 introduced a regression in includes/preloades by calling `read_attribute` on an association when preloading takes places, instead of using loaded records in `association.target`. tl;dr Records are not made properly available via `read_attribute` when preloding in simultaneous, but value of `@loaded` is already set true, and records concatenated in `association.target` on an association object. When `@loaded` is true we return an object of `AlreadyLoaded` in preload_for. In `AlreadyLoaded` to return preloaded records we make wrong use of `read_attribute`, instead of `target` records. The regression is fixed by making use of the loaded records in `association.target` when the preloading takes place. Fixes #13437
* | Add the ability to nullify the `enum` columnAmr Tamimi2014-01-011-1/+6
| |
* | Make outer joins on proper parentWashington Luiz2013-12-311-1/+1
| | | | | | | | | | Outer joins were being built on the root relation klass rather than the one specified in the join dependency root
* | Allow "url" sub key in database.yml configurationschneems2013-12-301-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently a developer can pass in a YAML configuration that fully specifies connection information: ``` production: database: triage_production adapter: password pool: 5 ``` They can also pass in a string that specifies a connection URL directly to an environment key: ``` production: postgresql://localhost/foo ``` This PR allows the use of both a connection url and specifying connection attributes via YAML through the use of the "url" sub key: ``` production: url: postgresql://localhost/foo pool: 3 ``` This will allow developers to inherit Active Record options such as `pool` from `&defaults` and still use a secure connection url such as `<%= ENV['DATABASE_URL'] %>`. The URL is expanded into a hash and then merged back into the YAML hash. If there are any conflicts, the values from the connection URL are preferred. Talked this over with @josevalim
* | Merge pull request #13536 from schneems/schneems/connection-spec-docsRichard Schneeman2013-12-301-14/+80
|\ \ | | | | | | [ci skip] ConnectionSpecification::Resolver Docs
| * | [ci skip] ConnectionSpecification::Resolver Docsschneems2013-12-301-14/+80
| | | | | | | | | | | | | | | Document the internal interfaces of `ConnectionSpecification::Resolver` Change method name from `config` to `env` to better match the most common use case.
* | | Remove deprecation warning for FIXTURES_PATHPiotr Sarnacki2013-12-301-6/+0
|/ / | | | | | | | | | | | | | | FIXTURES_PATH has a bit different case than DatabaseTasks.fixtures_path, which was added along with deprecation. A use case for FIXTURES_PATH could be loading fixtures from a different directory just for a given test run. The implementation is fairly simple, so leaving it as it is won't hurt.
* | Merge pull request #13535 from schneems/schneems/extract-url-logicRafael Mendonça França2013-12-291-34/+79
|\ \ | | | | | | Extract db url connection logic to class
| * | Extract db url connection logic to classschneems2013-12-291-34/+79
| |/
* / raise `ArgumentError` exception if `Model.where.not` is called with `nil` ↵Kuldeep Aggarwal2013-12-301-0/+2
|/ | | | argument
* setting `changed_attributes` instance variable if it is already initialized.Kuldeep Aggarwal2013-12-281-1/+1
|
* Merge pull request #13474 from jdelStrother/becomesYves Senn2013-12-271-0/+1
|\ | | | | Copy changed_attributes across to newly become'd records
| * Copy changed_attributes across to newly become'd recordsJonathan del Strother2013-12-271-0/+1
| | | | | | Without this, the original record's values won't get saved, since the partial insertions support (https://github.com/rails/rails/commit/144e8691cbfb8bba77f18cfe68d5e7fd48887f5e) checks for changed values and thinks there are none.
* | Cast env to symbol, fixes deprecation warningŁukasz Strzałkowski2013-12-251-1/+1
| | | | | | | | | | | | Warning: DEPRECATION WARNING: Passing a string to ActiveRecord::Base.establish_connection for a configuration lookup is deprecated, please pass a symbol (:development) instead.
* | Avoid getting redefined method warningŁukasz Strzałkowski2013-12-251-0/+1
| | | | | | | | | | | | | | Warning: ~/projects/rails/activerecord/lib/active_record/railtie.rb:140: warning: method redefined; discarding old extend_message ~/projects/rails/activerecord/lib/active_record/errors.rb:104: warning: previous definition of extend_message was here
* | Merge pull request #13482 from aayushkhandelwal11/typoArun Agrawal2013-12-251-1/+1
|\ \ | |/ |/| Typo rectified commom => common[ci skip]
| * Typo rectified commom => common[ci skip]Aayush khandelwal2013-12-251-1/+1
| |
* | Raise NoDatabaseError when db does not existschneems2013-12-243-0/+18
| | | | | | Building on the work of #13427 this PR adds a helpful error message to the adapters: mysql, mysql2, and sqlite3
* | Deprecate use of string in establish_connection as connection lookupJosé Valim2013-12-242-9/+23
| |
* | Only build a ConnectionSpecification if requiredJosé Valim2013-12-243-28/+30
| |
* | Fix build failures related to the new ENV options in ymlJosé Valim2013-12-242-4/+4
| |
* | Merge pull request #13463 from josevalim/jv-envJosé Valim2013-12-235-51/+48
|\ \ | | | | | | Do not store production information in .yml files
| * | Guarantee the connection resolver handles string valuesJosé Valim2013-12-235-51/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | This commit also cleans up the rake tasks that were checking for DATABASE_URL in different places. In fact, it would be nice to deprecate DATABASE_URL usage in the long term, considering the direction we are moving of allowing those in .yml files.
* | | Tidy up fix for PG extensions quotingCarlos Antonio da Silva2013-12-231-4/+6
| | | | | | | | | | | | | | | Always pass in the column for quote_bound_value and quote using it in case it exists there.
* | | Serialize postgres' hstore, json and array types correctly in AR update methods.Tadas Tamosauskas2013-12-231-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #12261. Closes #12395. Conflicts: activerecord/CHANGELOG.md activerecord/test/cases/adapters/postgresql/array_test.rb activerecord/test/cases/adapters/postgresql/json_test.rb
* | | Do not consider PG array columns as number or text columnsCarlos Antonio da Silva2013-12-231-1/+9
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code uses these checks in several places to know what to do with a particular column, for instance AR attribute query methods has a branch like this: if column.number? !value.zero? end This should never be true for array columns, since it would be the same as running [].zero?, which results in a NoMethodError exception. Fixing this by ensuring that array columns in PostgreSQL never return true for number?/text? checks. Since most of the array support was based on the postgres_ext lib, it's worth noting it does the same thing for numeric array columns too: https://github.com/dockyard/postgres_ext/blob/v1.0.0/lib/postgres_ext/active_record/connection_adapters/postgres_adapter.rb#L72 This extended the same logic for text columns to ensure consistency.
* | Tell how to Create a Database in Error Messageschneems2013-12-233-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently if you attempt to use a database that does not exist you get an error: ``` PG::ConnectionBad FATAL: database "db_error" does not exist ``` The solution is easy, create and migrate your database however new developers may not know these commands by memory. Instead of requiring the developer to search for a solution, tell them how to fix the problem in the error message: ``` ActiveRecord::NoDatabase: FATAL: database "db_error" does not exist Run `$ bin/rake db:create db:migrate` to create your database ``` Active Record should not know about `rake db:migrate` so this additional information needs to come from the railtie. Potential alternative implementation suggestions are welcome.
* | Fix comment example in AR enum [ci skip]Carlos Antonio da Silva2013-12-231-1/+1
| |
* | On destroying do not touch destroyed belongs to association.Paul Nikitochkin2013-12-231-1/+1
| | | | | | | | Fixes: #13445
* | fix quoting non-stringsDamien Mathieu2013-12-221-1/+1
| | | | | | | | Closes #13444
* | Use the same enum definition in the docs and in the comments [ci skip]Godfrey Chan2013-12-221-6/+6
| |
* | fix url connections for sqlite3Aaron Patterson2013-12-201-1/+12
| |
* | Merge pull request #13417 from TalkativeTree/comments_changeRichard Schneeman2013-12-191-1/+1
|\ \ | | | | | | fix CollectionAssociation's comments
| * | change CollectionAssociation's comments to say Association instead of ↵Ben Angel2013-12-191-1/+1
| | | | | | | | | | | | AssociationProxy to match changes for 3.1 removing Association proxy.
* | | Merge pull request #13412 from arthurnn/quote_id_not_idRafael Mendonça França2013-12-191-1/+3
|\ \ \ | | | | | | | | quoting: Check if id is a valid method before using it
| * | | quoting: Check if id is a valid method before using itArthur Neves2013-12-191-1/+3
| | | | | | | | | | | | | | | | | | | | Need to check if valud also respond_to :id before calling it, otherwise things could explode.
* | | | fix default select when from is usedCody Cutrer2013-12-191-1/+3
|/ / /
* | | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2013-12-203-3/+3
|\ \ \
| * | | Typos. return -> returns. [ci skip]Lauro Caetano2013-12-033-3/+3
| | | |
* | | | Merge pull request #13395 from kuldeepaggarwal/postgres-table-ref-regexCarlos Antonio da Silva2013-12-191-1/+1
|\ \ \ \ | | | | | | | | | | modified regex for finding table_name from a multiline sql query in postgresql
| * | | | Fix PostgreSQL insert to properly extract table name from multiline string SQL.Kuldeep Aggarwal2013-12-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, executing an insert SQL in PostgreSQL with a command like this: insert into articles( number) values( 5152 ) would not work because the adapter was unable to extract the correct articles table name.
* | | | | Merge pull request #13400 from nishant-cyro/docsGuillermo Iguaran2013-12-181-1/+1
|\ \ \ \ \ | | | | | | | | | | | | fix typos and grammar mistake [ci skip]
| * | | | | fix typos and grammar mistake [ci skip]nishant-cyro2013-12-191-1/+1
| | | | | |
* | | | | | Fix typo: data --> dateAlex Ghiculescu2013-12-191-1/+1
| | | | | |
* | | | | | Fix to_param when attribute has multibyte characterrono232013-12-191-2/+4
| | | | | |
* | | | | | Fix nil assignment to polymorphic belongs_toJeremy Kemper2013-12-181-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Assigning nil to a polymorphic belongs_to would nullify its _id field by not its _type field. Fixes failing test from c141dfc838a5dca9f197814410fa5d44c143129c. Regression from 1678e959e973de32287b65c52ebc6cce87148951.
* | | | | | Merge pull request #13340 from akshay-vishnoi/typoGodfrey Chan2013-12-181-5/+4
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | #none documentation updated [ci skip]
| * | | | | #none documentation updated [ci skip]Akshay Vishnoi2013-12-181-5/+4
| | | | | |
* | | | | | Get ready to release 4.1.0.beta1David Heinemeier Hansson2013-12-171-1/+1
| | | | | |