Commit Graph

735 Commits

Author SHA1 Message Date
Rafael Mendonça França
f141919974 Add CHANGELOG entry for #13557 [ci skip] 2014-01-01 19:08:28 -02:00
Rafael Mendonça França
b94e2dd82c Merge pull request #13550 from vipulnsward/13437-fix
Fix for #13437

Conflicts:
	activerecord/CHANGELOG.md
2014-01-01 14:14:45 -02:00
Amr Tamimi
e0ad9ae27e Add the ability to nullify the enum column 2014-01-01 01:48:15 +02:00
Vipul A M
bb17c3b210 2075f39d72 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
2013-12-31 02:47:37 +05:30
schneems
5b96027ef6 Allow "url" sub key in database.yml configuration
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
2013-12-30 12:21:14 -05:00
Yves Senn
2ab3bd16f9 tidy AR CHANGELOG. [ci skip] 2013-12-30 12:18:45 +01:00
Robin Dupret
ec4b44b1a4 Add a missing changelog entry for #13534 [ci skip] 2013-12-30 12:15:14 +01:00
schneems
f0311c2487 Raise NoDatabaseError when db does not exist
Building on the work of #13427 this PR adds a helpful error message to the adapters: mysql, mysql2, and sqlite3
2013-12-24 10:13:12 -05:00
José Valim
ec11807368 Deprecate use of string in establish_connection as connection lookup 2013-12-24 10:18:54 +01:00
Carlos Antonio da Silva
9e1740af9c Tidy up fix for PG extensions quoting
Always pass in the column for quote_bound_value and quote using it in
case it exists there.
2013-12-23 16:28:35 -02:00
Tadas Tamosauskas
73bba4c1e1 Serialize postgres' hstore, json and array types correctly in AR update methods.
Fixes #12261. Closes #12395.

Conflicts:
	activerecord/CHANGELOG.md
	activerecord/test/cases/adapters/postgresql/array_test.rb
	activerecord/test/cases/adapters/postgresql/json_test.rb
2013-12-23 16:27:54 -02:00
Carlos Antonio da Silva
56510091fb Do not consider PG array columns as number or text columns
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.
2013-12-23 16:26:15 -02:00
schneems
0ec45cd15d Tell how to Create a Database in Error Message
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.
2013-12-23 10:23:48 -05:00
Paul Nikitochkin
2bcf7158d3 On destroying do not touch destroyed belongs to association.
Fixes: #13445
2013-12-23 15:44:48 +02:00
Yves Senn
1a6089f305 CHANGELOG entry for #13451. [ci skip] 2013-12-22 18:44:42 +01:00
Rafael Mendonça França
cf15e027b9 Improve CHANGELOG entry [ci skip] 2013-12-19 19:53:26 -02:00
Cody Cutrer
847e9a95da fix default select when from is used 2013-12-19 14:40:13 -07:00
Kuldeep Aggarwal
b082bece5e Fix PostgreSQL insert to properly extract table name from multiline string SQL.
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.
2013-12-19 18:46:17 +05:30
Lauro Caetano
d4ee09cda1 Create a blacklist to disallow mutator methods to be delegated to Array.
This change was necessary because the whitelist wouldn't work.
It would be painful for users trying to update their applications.

This blacklist intent to prevent odd bugs and confusion in code that call mutator
methods directely on the `Relation`.
2013-12-17 13:43:10 -02:00
Martin Emde
8062a30794 Better support for where() conditions that use an association name.
Using the name of an association in `where` previously worked only
if the value was a single `ActiveRecrd::Base` object. e.g.

    Post.where(author: Author.first)

Any other values, including `nil`, would cause invalid SQL to be
generated. This change supports arguments in the `where` query
conditions where the key is a `belongs_to` association name and the
value is `nil`, an `Array` of `ActiveRecord::Base` objects, or an
`ActiveRecord::Relation` object.

    # Given the Post model
    class Post < ActiveRecord::Base
      belongs_to :author
    end

    # nil value finds records where the association is not set
    Post.where(author: nil)
    # SELECT "posts".* FROM "posts" WHERE "posts"."author_id" IS NULL

    # Array values find records where the association foreign key
    # matches the ids of the passed ActiveRecord models, resulting
    # in the same query as Post.where(author_id: [1,2])
    authors_array = [Author.find(1), Author.find(2)]
    Post.where(author: authors_array)

    # ActiveRecord::Relation values find records using the same
    # query as Post.where(author_id: Author.where(last_name: "Emde"))
    Post.where(author: Author.where(last_name: "Emde"))

Polymorphic `belongs_to` associations will continue to be handled
appropriately, with the polymorphic `association_type` field added
to the query to match the base class of the value. This feature
previously only worked when the value was a single `ActveRecord::Base`.

    class Post < ActiveRecord::Base
      belongs_to :author, polymorphic: true
    end

    Post.where(author: Author.where(last_name: "Emde"))
    # Generates a query similar to:
    Post.where(author_id: Author.where(last_name: "Emde"), author_type: "Author")
2013-12-16 14:16:15 -08:00
Rafael Mendonça França
89c46aaaab Improve CHANGELOG entry with examples [ci skip] 2013-12-15 17:07:44 -02:00
Rafael Mendonça França
a09659d59d Merge pull request #13313 from ccutrer/temp-tables
support creating temporary tables from queries

Conflicts:
	activerecord/CHANGELOG.md
2013-12-15 17:07:31 -02:00
Rafael Mendonça França
d150387a38 Improve the CHANGELOG entry [ci skip] 2013-12-15 16:46:12 -02:00
Arthur Neves
b3a806b7b2 db:test:clone and prepare must load environment
db:test:clone and db:test:prepare use
ActiveRecord::Base. configurations, so we need to load the rails
environment, otherwise the config wont be in place.
2013-12-14 17:33:50 -05:00
Cody Cutrer
75a2e4a8df support creating temporary tables from queries
also override drop_table in AbstractMySQLAdapter to properly drop
temporary tables without committing the transaction
2013-12-14 07:07:10 -07:00
laurocaetano
e87c3da2a2 Add changelog 2013-12-12 19:34:47 -02:00
Carlos Antonio da Silva
fe24f3560a Changelog improvements [ci skip] 2013-12-12 08:33:46 -02:00
Paul Nikitochkin
2a7fe7ae9b Fix type cast on group sum with custom expression
For PG adapters with custom expression and grouped result
of aggregate functions have not found correct column type
for it. Extract column type from query result.

Closes: #13230
2013-12-10 14:30:12 +02:00
Marc-Andre Lafortune
0aad463cfb find_in_batches now returns an Enumerator when called without a block, so that it
can be chained with other `Enumerable` methods.
2013-12-06 08:53:14 -05:00
Carlos Antonio da Silva
b372690b78 Improve AR changelog [ci skip] 2013-12-05 19:30:43 -02:00
Severin Schoepke
f1a646fa74 polymorphic belongs_to association with touch: true updates old record correctly
Example: Given you have a comments model with a polymorphic commentable
association (e.g. books and songs) with the touch option set.
Every time you update a comment its commentable should be touched.
This was working when you changed attributes on the comment or when you
moved the comment from one book to another. However, it was not working
when moving a comment from a book to a song. This is now fixed.
2013-12-05 16:03:07 +01:00
Yves Senn
64c784f553 end sentences with a .. [ci skip] 2013-12-05 11:33:12 +01:00
Carlos Antonio da Silva
0b35a0d762 Improve AR changelog, add entry for migration error improvements #12462 [ci skip] 2013-12-03 18:16:32 -02:00
Lauro Caetano
2a517e7291 Fix offset with last.
Closes #7441
2013-12-03 17:09:58 -02:00
Yves Senn
be5527b8e8 connection.type_to_sql returns a String for unmapped types.
Closes #13146.

This fixes an error when using:

```
change_colum :table, :column, :bigint, array: true
```
2013-12-03 17:54:25 +01:00
Vipul A M
1ed81e85ca Currently, we clear query_cache in cache block finish, even if we may already have cache true.
This commit takes into account the last cache_enabled value, before clearing query_cache.
2013-12-03 17:48:14 +05:30
Victor Costan
ddf27acbc2 Introduce a context for rendering fixtures ERB.
Fixture files are passed through an ERB renderer before being read as
YAML. The rendering is currently done in the context of the main object,
so method definitons leak into other fixtures, and there is no clean
place to define fixture helpers.

After this commit, the ERB renderer will use a new subclass of
ActiveRecord::FixtureSet.context_class each time a fixture is rendered.
2013-12-03 02:52:26 -05:00
Carlos Antonio da Silva
a2dad133d9 Improve AR changelog [ci skip] 2013-11-30 13:35:28 -02:00
Godfrey Chan
35fd2d4019 Raise ArgumentError when has_one is used with counter_cache
Previously, the `has_one` macro incorrectly accepts the `counter_cache` option
due to a bug, although that options was never supported nor functional on
`has_one` and `has_one ... through` relationships. It now correctly raises an
`ArgumentError` when passed that option.

For reference, this bug was introduced in 52f8e4b9.
2013-11-29 19:21:49 -08:00
Cody Cutrer
664c7bb361 fix mysql version check in rename_index
also clarify native rename_index support is >= 5.7, not > 5.7
2013-11-28 19:42:11 -07:00
Cody Cutrer
a9771ddba5 implement rename_index natively for MySQL > 5.7 2013-11-28 11:10:59 -07:00
Yves Senn
7c6d99e81e first pass through CHANGELOGS to extract 4_1_release_notes. [ci skip]
Extract **notable changes**, **deprecations** and **removals** from
each CHANGELOG.

I tried to reference the commits and pull requests for new features
and deprecations.

In the process I also made some minor changes to the CHANGELOGS.

The 4_1_release_notes guide is declared WIP.
2013-11-28 17:24:15 +01:00
Rafael Mendonça França
5fdbec7dd1 Merge pull request #13061 from laurocaetano/fix-uniqueness-validation-for-aliased-attribute
Fix bug when validating the uniqueness of an aliased attribute.
Conflicts:
	activerecord/CHANGELOG.md
2013-11-26 20:54:19 -02:00
heruku
45d4d141f9 changed update counter to act on unscoped model 2013-11-26 09:04:03 -06:00
Yves Senn
6eba8d27e6 rename_index: add the new index before removing the old one.
This prevents the following error when a MySQL index on a foreign key
column is renamed:

```
ActiveRecord::StatementInvalid: Mysql2::Error: Cannot drop index 'index_engines_on_car_id': needed in a foreign key constraint: DROP INDEX `index_engines_on_car_id` ON `engines`
```

refs: #13038.
2013-11-26 10:03:55 +01:00
Brian Thomas Storti
09f941c507 move changelog entry to the top 2013-11-25 23:17:31 -02:00
Brian Thomas Storti
5aab0c0538 Raise RecordNotDestroyed when children can't be replaced
Fixes #12812
Raise `ActiveRecord::RecordNotDestroyed` when a child marked with
`dependent: destroy` can't be destroyed.

The following code:
```ruby
class Post < ActiveRecord::Base
  has_many :comments, dependent: :destroy
end

class Comment < ActiveRecord::Base
  before_destroy do
    return false
  end
end

post = Post.create!(comments: [Comment.create!])
post.comments = [Comment.create!]
````

would result in a `post` with two `comments`.
With this commit, the same code would raise a `RecordNotDestroyed`
exception, keeping the `post` with the same `comment`.
2013-11-25 19:30:07 -02:00
Vipul A M
82de1eda7c Fix some minor typos [ci skip] 2013-11-26 00:13:35 +05:30
Evgeny Li
c449a74e89 Fix validation on uniqueness of empty association 2013-11-22 22:22:34 +04:00
Carlos Antonio da Silva
18964368f3 Improve changelogs
Also make Action Mailer changelog format more consistent with the
others [ci skip]
2013-11-22 08:30:04 -02:00
Jon Leighton
64b9e93bb5 Fix ActiveRecord::Relation#unscope
I'm pretty confused about the addition of this method. The documentation
says that it was intended to allow the removal of values from the
default scope (in contrast to #except). However it behaves exactly the
same as except: https://gist.github.com/jonleighton/7537008 (other than
having a slightly enhanced syntax).

The removal of the default scope is allowed by
94924dc32baf78f13e289172534c2e71c9c8cade, which was not a change we
could make until 4.1 due to the need to deprecate things. However after
that change #unscope still gives us nothing that #except doesn't already
give us.

However there *is* a desire to be able to unscope stuff in a way that
persists across merges, which would allow associations to be defined
which unscope stuff from the default scope of the associated model. E.g.

  has_many :comments, -> { unscope where: :trashed }

So that's what this change implements. I've also corrected the
documentation. I removed the guide references to #except as I think
unscope really supercedes #except now.

While we're here, there's also a potential desire to be able to write
this:

  has_many :comments, -> { unscoped }

However, it doesn't make sense and would not be straightforward to
implement. While with #unscope we're specifying exactly what we want to
be removed from the relation, with "unscoped" we're just saying that we
want it to not have some things which were added earlier on by the
default scope. However in the case of an association, we surely don't
want *all* conditions to be removed, otherwise the above would just
become "SELECT * FROM comments" with no foreign key constraint.

To make the above work, we'd have to somehow tag the relation values
which get added when evaluating the default scope in order to
differentiate them from other relation values. Which is way too much
complexity and therefore not worth it when most use cases can be
satisfied with unscope.

Closes #10643, #11061.
2013-11-20 22:23:16 +00:00
Yves Senn
f83c9b10b4 use arel nodes to represent non-string order_values.
This fixes a bug when merging relations of different classes.

```
Given:
  Post.joins(:author).merge(Author.order(name: :desc)).to_sql

Before:
 SELECT "posts".* FROM "posts"
   INNER JOIN "authors" ON "authors"."id" = "posts"."author_id"
   ORDER BY "posts"."name" DESC

After:
 SELECT "posts".* FROM "posts"
   INNER JOIN "authors" ON "authors"."id" = "posts"."author_id"
   ORDER BY "authors"."name" DESC
```
2013-11-19 17:40:21 +01:00
Rafael Mendonça França
728096542a Revert "Explicitly exit with status "1" for create and drop failures"
This reverts commit 22f80ae57b26907f662b7fd50a7270a6381e527e.

See
22f80ae57b (commitcomment-4640676)

Conflicts:
	activerecord/CHANGELOG.md
2013-11-19 13:07:28 -02:00
Rafael Mendonça França
c069e0fa34 Merge pull request #12918 from versioncontrol/rails-12866
Checks to see if the record contains the foreign_key to set the inverse automatically

Conflicts:
	activerecord/CHANGELOG.md
2013-11-16 18:28:03 -02:00
Edo Balvers
02ca5580bd Checks to see if the record contains the foreign_key to set the inverse automatically 2013-11-16 21:18:02 +01:00
Rafael Mendonça França
8c66623627 Merge pull request #12531 from iamvery/database-tasks-exit-status
Explicitly exit with status "1" for create and drop task failures

Conflicts:
	activerecord/CHANGELOG.md
2013-11-15 16:59:29 -02:00
Carlos Antonio da Silva
6cad0e317b Fix AR Changelog examples and improve syntax highlight [ci skip] 2013-11-14 23:45:30 -02:00
Javan Makhmali
547999df25 Add AR::Base.to_param for convenient "pretty" URLs derived from a model's attribute or method. 2013-11-14 13:38:08 -05:00
Damien Mathieu
b32ba367f5 add #no_touching on ActiveRecord models 2013-11-13 08:42:38 +01:00
dm1try
dbb7ee1bfd Prevent the counter cache from being decremented twice
when destroying a record on a has_many :through association.
:destroy method has own counter_cache callbacks.
2013-11-11 19:53:02 +03:00
Yves Senn
07ae1e9b55 Unifies mysql and mysql2 casting of booleans. 2013-11-11 16:15:00 +01:00
Jay Hayes
22f80ae57b Explicitly exit with status "1" for create and drop failures
* A non-zero exit status allows subsequent shell commands to be chained
  together such as: `rake db:reset test:prepare && rspec && cap deploy`
  (if you're feeling brave :)
* Any exceptions raised during the `create` and `drop` tasks are caught
  in order to print a "pretty" message to the user. Unfortunately doing
  so prevents rake from aborting with a non-zero exit status to the shell.
* Therefore we re-raise the exceptions after the "pretty" message and
  re-catch them in the task.
* From the task we explicitly exit with a non-zero status. This method
  was chosen (rather than just letting rake fail from the exception) so
  that the backtrace is suppressed and the output to stderr is
  unchanged.
* Update activerecord CHANGELOG
2013-11-11 07:54:30 -06:00
Yves Senn
db56c0fcf5 tidy Active Record CHANGELOG. [ci skip]. 2013-11-11 12:03:36 +01:00
Denis Redozubov
3ed5642e69 Fixes problem with replacing has_one association record with itself 2013-11-11 14:19:12 +04:00
Carlos Antonio da Silva
5deec016fe Improve changelogs formatting [ci skip] 2013-11-09 16:44:58 -02:00
Yves Senn
97f0d9a0dd log bind variables after they were type casted.
The log output used to be confusing in situation where type casting has
"unexpected" effects. For example when finding records with a `String`.

BEFORE:

irb(main):002:0> Event.find("im-no-integer")
D, [2013-11-09T11:10:28.998857 #1706] DEBUG -- :   Event Load (4.5ms)  SELECT "events".* FROM "events" WHERE "events"."id" = $1 LIMIT 1  [["id", "im-no-integer"]]

AFTER:

irb(main):002:0> Event.find("im-no-integer")
D, [2013-11-09T11:10:28.998857 #1706] DEBUG -- :   Event Load (4.5ms)  SELECT "events".* FROM "events" WHERE "events"."id" = $1 LIMIT 1  [["id", 0]]
2013-11-09 11:23:34 +01:00
Jason Ayre
746d286026 revised changelog comment to be less than 80 chars 2013-11-07 07:57:13 -07:00
Jason Ayre
83689bec77 add autoload :TransactionState to fix Marshal.load issues 2013-11-07 07:57:13 -07:00
Carlos Antonio da Silva
caf2390aee Fix changelog indent [ci skip] 2013-11-04 12:42:47 -02:00
David Heinemeier Hansson
430b252d3d Revert "ActiveRecord::Base#<=> has been removed. Primary keys may not be in order," -- will be replaced with a check to ensure that the keys used for comparison are integers, and only fail if they are not.
This reverts commit 6256734e2d0bdd89f4b5d11da259d40afa0c95c7.

Conflicts:
	activerecord/CHANGELOG.md
2013-11-02 19:56:58 -07:00
David Heinemeier Hansson
f950b2699f Added ActiveRecord::QueryMethods#rewhere which will overwrite an existing, named where condition. 2013-11-02 17:36:45 -07:00
Rafael Mendonça França
4d7080f80c unscope now works on default_scope after 94924dc32baf78f13e289172534c2e71c9c8cade 2013-11-02 22:11:20 -02:00
David Heinemeier Hansson
e94e97ca79 Extend ActiveRecord::Base#cache_key to take an optional list of timestamp attributes of which the highest will be used. 2013-11-02 16:05:19 -07:00
Carlos Antonio da Silva
6963e8959f Fix to work on Ruby 1.9.3, example and changelog improvements 2013-11-02 18:08:37 -02:00
David Heinemeier Hansson
db41eb8a6e Added ActiveRecord::Base#enum for declaring enum attributes where the values map to integers in the database, but can be queried by name 2013-11-02 12:01:31 -07:00
Rafael Mendonça França
1918b12c04 Fix wrong behavior where associations with dependent: :destroy options
was using nullify strategy

This caused a regression in applications trying to upgrade.

Also if the user set the dependent option as destroy he expects to get
the records removed from the database.
2013-11-01 19:04:30 -02:00
Yves Senn
ea296fcc2b no need for a CHANGELOG entry. [ci skip]. 2013-10-30 18:21:56 +01:00
Yves Senn
d0ea5c5b20 fix code typo in MysqlAdapter .Closes #12647. 2013-10-30 18:12:26 +01:00
Jan Bernacki
510601ce8e short arrays in inspect 2013-10-30 08:47:54 +04:00
David Heinemeier Hansson
8bf3411de9 Fix typo 2013-10-27 19:49:15 -07:00
Rafael Mendonça França
6fb056e3b6 Merge pull request #12578 from jeradphelps/configurable_schema_migrations_table_name
Configurable name for schema_migrations table

Conflicts:
	activerecord/CHANGELOG.md
2013-10-27 21:07:03 -02:00
Paul Nikitochkin
6b71a1416c Skip include_values from through associations chains for building target scope
Fixes: #12242, #9517, #10240
2013-10-27 21:15:41 +02:00
Jerad Phelps
26638f0ac9 added schema_migrations_table_name to ActiveRecord::Base in order that the name of the schema migrations table can be configured.
consolidated test_schema_migrations_table_name tests

Added changelog entry

edited changelog

removed commented lines

removed reader

ensure the schema migrations table is reset at end of test

added entry to configuration guide

guides typo and changelog order
2013-10-27 08:50:35 -05:00
Severin Schoepke
c3606afb2a cast json values on write to be consistent with reading from the db.
See also commit 5ac2341fab689344991b2a4817bd2bc8b3edac9d
2013-10-25 17:05:42 +02:00
Yves Senn
0492ea6d39 ActiveRecord::Store works together with PG hstore columns.
This is necessary because as of 5ac2341 `hstore` columns are always stored
as `Hash` with `String` keys. `ActiveRecord::Store` expected the attribute to
be an instance of `HashWithIndifferentAccess`, which led to the bug.
2013-10-25 08:35:35 +02:00
Yves Senn
bf43b4c33f stored_attributes need to be specific to a subclass.
Currently they are all stored globally in the same `Hash`.
This commit forces the creation of a per-class variable if necessary.

The behavior was exposed through the following test-case:

```
  1) Failure:
StoreTest#test_all_stored_attributes_are_returned [/Users/senny/Projects/rails/activerecord/test/cases/store_test.rb:151]:
--- expected
+++ actual
@@ -1 +1 @@
-[:color, :homepage, :favorite_food]
+[:resolution, :color, :homepage, :favorite_food]
```
2013-10-25 08:35:35 +02:00
Rafael Mendonça França
7160ffbe59 Merge pull request #12621 from laurocaetano/fix_has_one_association_with_primary_key_set
Save association when primary key is manually set

Conflicts:
	activerecord/CHANGELOG.md
2013-10-24 22:37:29 -02:00
laurocaetano
8022fc4913 Save association when primary key is manually set 2013-10-24 22:30:30 -02:00
Rafael Mendonça França
8f6e6e3e59 Add CHANGELOG entry for #12635 [ci skip] 2013-10-24 19:33:26 -02:00
Yves Senn
99044beb81 minor Active Record CHANGELOG cleanup. [ci skip]. 2013-10-22 09:36:49 +02:00
Rafael Mendonça França
b98c10c164 Merge pull request #12588 from jetthoughts/12586_subquery_with_unprepared_sql
Inline bind values for sub-queries generated for Relation in where

Conflicts:
	activerecord/CHANGELOG.md
2013-10-21 19:13:04 -02:00
Kevin Mook
a733e00b10 Fix loading a sql structure file on postgres when the file's path has whitespace in it 2013-10-21 13:30:05 -04:00
Eric Hankins
b057765817 Allow unscope to work with where.not
Allows you to call #unscope on a relation with negative equality operators,
i.e. Arel::Nodes::NotIn and Arel::Nodes::NotEqual that have been generated
through the use of where.not.
2013-10-21 09:43:57 -05:00
Shimpei Makimoto
e2419a451a Raise an exception when model without primary key calls .find_with_ids 2013-10-21 17:07:47 +09:00
Paul Nikitochkin
a2ed5d2381 Process sub-query relation's binding values
Generated sub-query for Relation as array condition for `where` method
did not take in account its bind values, in result generates invalid SQL query.

Fixed by adding sub-query relation's binding values to base relation

Closes: #12586
2013-10-20 21:07:07 +03:00
Szymon Nowak
4ba9c508ec In Relation#empty? use #exists? instead of #count. 2013-10-19 21:53:45 +02:00
Kenta Okamoto
bc5148da3d Convert Fixnum into String the port number in MySQL 2013-10-18 21:56:59 +09:00
Lucas Mazza
2f1c9c8d60 Fix code blocks identation on AR and AS CHANGELOGs 2013-10-16 10:53:43 -03:00
Rafael Mendonça França
9f80937e82 Merge pull request #12547 from derekprior/dp-fix-null-relation-pluck
Pluck on NullRelation should accept a list of columns
2013-10-15 12:09:46 -07:00
Vijay Dev
e3e3851ed6 grammar fix (reverted in e9a1ecd) 2013-10-15 23:34:59 +05:30