| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Changed update to use prepared statements
|
| | |
|
| |
| |
| |
| |
| | |
object that has not yet been persisted. This behavior follows the
precedent set by update_columns.
|
| |
| |
| |
| | |
Taking the wise advice of @carlosantoniodasilva
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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).
|
|\ \
| | |
| | | |
remove config.auto_explain_threshold_in_seconds
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
delete_all will call callbacks if depdent option is specified as
:destroy. This behavior is not very clear from the documetation and
hence issue #7832 was raised.
closes #7832
|
|/ /
| |
| |
| |
| |
| | |
We should only type cast when we need to use.
Related to 4b005fb371c2e7af80df7da63be94509b1db038c
|
|\ \
| | |
| | | |
multiple actions for :on option with `after_commit` and `after_rollback`
|
| | |
| | |
| | |
| | | |
Closes #988.
|
|/ / |
|
| |
| |
| |
| |
| | |
As requested by @fxn
https://github.com/schuetzm/rails/commit/743d15bba182df80d003d205690ead988970299c#commitcomment-2661417
|
| |
| |
| |
| |
| | |
Explain that it doesn't create indices by default and
that it also has a block form.
|
|\ \
| | |
| | |
| | |
| | | |
wangjohn/change_name_of_query_method_argument_checker_for_clarity
Renaming the check_empty_arguments method to something more descriptive.
|
| | |
| | |
| | |
| | |
| | | |
The function is now called has_arguments? so that it's easier to tell
that it's just checking to see if the args are blank or not.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
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.
|
|/ / |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | |
| | |
| | | |
wangjohn/adding_documentation_to_error_raising_in_query_methods
Tests to make sure empty arguments in WhereChain raise errors
|
| | |
| | |
| | |
| | |
| | | |
for query methods in a where_clause. Also, modified the CHANGELOG entry
because it had false information and added tests.
|
|\ \ \
| | | |
| | | | |
Fix ActiveRecord::ConnectionAdapters::ConnectionSpecification::ResolverTest
|
| |/ / |
|
|/ /
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| | |
make connection_url_to_hash a class method
This als prevents loading database.yml if it doesn't exist
but DATABASE_URL does
|
| | |
|
| |
| |
| |
| | |
arguments are meaningless.
|
| |
| |
| |
| | |
see: https://github.com/blog/1406-namespaced-gists
|
| |
| |
| |
| |
| |
| |
| | |
This revision makes the terminology uniform with the rest of the file.
In general we describe these methods in terms of the adapter, rather
than the database. (As a side note, if we wanted to refer to the
database we would write "PostgreSQL".)
|
| |
| |
| |
| |
| | |
It was supposed to be removed by the preceding two reversions but I did
them in the wrong order.
|
|\ \
| | |
| | |
| | |
| | | |
Conflicts:
guides/source/upgrading_ruby_on_rails.md
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 5d528f835e871f5f9d4b68e8a81cfbe900b7e718.
Relates to f8c8ad5 which is also getting reverted due to failing test.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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'
|
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 8aa4603a5adaa56c818a7bd1c0b761b4ecca3d3e.
Reverting the revert because I reverted the wrong thing! Fail.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 1fc6876b57f2e1d31731e74eb4271b5655e746d2, reversing
changes made to 0268b5d8cdc3c5a1337462135f0a326a2654ba1a.
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
|
| | | |
| | | |
| | | |
| | | | |
closes #8423.
|
|/ / / |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Before writing a numeric attribute value, ActiveRecord does an implicit conversion of boolean types (true => 1 and false => 0). If the numeric value being assigned is a BigDecimal, then ActiveRecord compares a BigDecimal to true and false.
This is known to be very slow in Ruby 1.9.3 (see http://www.ruby-forum.com/topic/4409452 and https://bugs.ruby-lang.org/issues/7645#change-35188).
The Ruby core team has implemented a fix for this issue that will be included in Ruby 2, but they appear to have no intention of back-porting this fix to Ruby 1.9.3. In my case, the performance impact of this issue was enormous (200% - 300% performance hit) for some of the pages in my application.
See c75b5a88a82c79fdf95dfea4d72bf3c5a829930e applied to 3-2-stable branch for more reasoning and a benchmark.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
conversion of boolean types (true => 1 and false => 0). If the numeric value
being assigned is a BigDecimal, then ActiveRecord compares a BigDecimal to
true and false. This is known to be very slow in Ruby 1.9.3.
|
|/ / /
| | |
| | |
| | | |
fixes #5802
|
|\ \ \
| | | |
| | | | |
schema dumper tests now conducted by ActiveRecord::Base.Connection
|