| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Closes: #11706
|
|
|
|
|
| |
tesetcases assertion to case insensitive because Oracle database adapter
handles table name in uppercase.
|
|
|
|
|
| |
decouple the builder classes from the model. Builder objects should be
easier to reuse now.
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
Make test order independent
|
| |
| |
| |
| |
| | |
postgresql test if randomly executed then executes "SHOW max_identifier_length". Hence
the need to ignore certain predefined sqls that deal with system calls.
|
| | |
|
|\ \
| | |
| | |
| | |
| | | |
Conflicts:
activerecord/CHANGELOG.md
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
order on the old ones
The previous behavior added a major backward incompatibility since it
impossible to have a upgrade path without major changes on the
application code.
We are taking the most conservative path to be consistent with the idea
of having a smoother upgrade on Rails 4.
We are reverting the behavior for what was in Rails 3.x and,
if needed, we will implement a new API to prepend the order clauses in
Rails 4.1.
|
|\ \
| |/
|/| |
Add ability to specify how a class is converted to Arel predicate when passed to where
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds the ability for rails apps or gems to have granular control
over how a domain object is converted to sql. One simple use case would
be to add support for Regexp. Another simple case would be something
like the following:
class DateRange < Struct.new(:start, :end)
def include?(date)
(start..end).cover?(date)
end
end
class DateRangePredicate
def call(attribute, range)
attribute.in(range.start..range.end)
end
end
ActiveRecord::PredicateBuilder.register_handler(DateRange,
DateRangePredicate.new)
More complex cases might include taking a currency object and converting
it from EUR to USD before performing the query.
By moving the existing handlers to this format, we were also able to
nicely refactor a rather nasty method in PredicateBuilder.
|
|\ \
| | |
| | |
| | |
| | | |
neerajdotname/log_should_mimick_original_log_method
interceptor should mimick original method
|
| |/
| |
| |
| | |
This fix also makes the test order independent.
|
|\ \
| | |
| | |
| | |
| | | |
neerajdotname/use_method_with_active_record_default_timezone
use method with_active_record_default_timezone
|
| |/ |
|
|/
|
|
| |
This method is already present in helper.rb
|
|
|
|
|
|
| |
This reverts commit 10259c3e906da2191ef0d43cd664a3b5504d9f8c.
reason: this causes rake test_mysql and test_mysql2 fail
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
Cleanup of class_name
|
| |
| |
| |
| | |
Don't think class name is needed as by default belongs_to :select will be linked to Select class.
|
|\ \
| | |
| | |
| | |
| | | |
neerajdotname/fix_order_dependent_test_for_migration
fix order dependent test related to migration
|
| | |
| | |
| | |
| | |
| | |
| | | |
If the order in which tests are executed is changed then test fails.
This commit ensures that all migrations are run before ensuring that
there are no pending migration.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
neerajdotname/make_test_order_independent_by_resetting_timezone
make test order independent by resetting timezone
|
| |/ / |
|
|\ \ \
| | | |
| | | | |
reset default timezone and make test order independent
|
| |/ / |
|
|\ \ \
| |_|/
|/| |
| | |
| | | |
neerajdotname/make_order_independent_association_test
make test not depend on order
|
| |/
| |
| |
| |
| |
| |
| | |
`NestedThroughAssociationsTest` adds records to `member_details` table.
When test performs `@member_details[0]` then the order of record
is not guaranteed. Hence it is best to start with a clean slate by
deleting unwanted records.
|
|/
|
|
|
| |
`ReflectionTest` uses column information in tests and those tests break
if tests are run in random order.
|
| |
|
| |
|
|
|
|
|
|
| |
change def self.primary_key to self.primary_key
change def self.primary_key to self.primary_key
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Some adapters require column information to do their job properly.
By enforcing the provision of the column for this internal method
we ensure that those using adapters that require column information
will always get the proper behavior.
|
|
|
|
|
|
| |
This includes fixing typos in changelog, removing a deprecated
mocha/setup test require, and preferring the `column_for_attribute`
accessor over direct access to the columns_hash in the new code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When calling quote_value the underlying connection sometimes requires
more information about the column to properly return the correct quoted
value.
I ran into this issue when using optimistic locking in JRuby and the
activerecord-jdbcmssql-adapter. In SQLSever 2000, we aren't allowed to
insert a integer into a NVARCHAR column type so we need to format it as
N'3' if we want to insert into the NVARCHAR type. Unfortuantely, without
the column type being passed the connection adapter cannot properly return
the correct quote value because it doesn't know to return N'3' or '3'.
This patch is fairly straight forward where it just passes in the column
type into the quote_value, as it already has the ability to take in the column,
so it can properly handle at the connection level.
I've added the tests required to make sure that the quote_value method
is being passed the column type so that the underlying connection can
determine how to quote the value.
|
|
|
|
|
|
|
|
|
| |
Fixes #11497
As `ActiveRecord::ConnectionAdapters::ConnectionManagement` middleware does not rescue from Exception (but only from StandardError),
the Connection Pool quickly runs out of connections when multiple erroneous Requests come in right after each other.
Recueing from all exceptions and not just StandardError, fixes this behaviour.
|
|
|
|
|
| |
This reverts commit cb1d07e43926bcec95cb8b4a663ca9889173395a, reversing
changes made to 754a373e301d2df0b12a11083405252722bc8366.
|
| |
|