| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/ /
| |
| |
| | |
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.
|
| | |
|
| | |
|
| |
| |
| |
| | |
These are duplicated with the tests which are in relations_test.rb
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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'
|
| |
| |
| |
| | |
closes #8423.
|
| |
| |
| |
| | |
fixes #5802
|
|\ \
| | |
| | | |
schema dumper tests now conducted by ActiveRecord::Base.Connection
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Allow store accessors to be overrided like other attribute methods,
e.g.:
class User < ActiveRecord::Base
store :settings, accessors: [ :color, :homepage ], coder: JSON
def color
super || 'red'
end
end
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
active_record: Quote numeric values compared to string columns.
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | | |
Travis failed because the postgresql version installed there does not
support extensions, so we just need to skip this for now.
|
| | |
| | |
| | |
| | |
| | | |
There is no need to create the extension in the database just to test if
it's dumped, we can stub that instead.
|
| | |
| | |
| | |
| | |
| | | |
When extensions are supported but there's no one enabled in the
database, we should not print anything related to them in schema.rb.
|
| | |
| | |
| | |
| | | |
dumped extensions if they are unsupported by the database
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
the strings true and false into boolean types, in order to match how
YAML would parse the same values from database.yml and prevent
unexpected type errors in the database adapters.
|
|\ \ \
| | | |
| | | | |
Raise an exception with a useful message if a rake task is requested for an unknown adapter
|
| | | |
| | | |
| | | |
| | | | |
for an unknown adapter
|
|/ / / |
|
| |/
|/| |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This caused a bug with the new associations implementation, because now
association conditions are represented as Arel nodes internally right up
to when the whole thing gets turned to SQL.
In Rails 3.2, association conditions get turned to raw SQL early on,
which prevents Relation#merge from interfering.
The current implementation was buggy when a default_scope existed on the
target model, since we would basically end up doing:
default_scope.merge(association_scope)
If default_scope contained a where(foo: 'a') and association_scope
contained a where(foo: 'b').where(foo: 'c') then the merger would see
that the same column is representated on both sides of the merge and
collapse the wheres to all but the last: where(foo: 'c')
Now, the RHS of the merge is left alone.
Fixes #8990
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
because of an ambiguous column name. This happened if the association
model had a default scope that referenced a third table, and the third
table also referenced the original table (with an identical
foreign_key).
Mysql requires that ambiguous columns are deambiguated by using the full
table.column syntax. Postgresql and Sqlite use a different syntax for
updates altogether (and don't tolerate table.name syntax), so the fix
requires always including the full table.column and discarding it later
for Sqlite and Postgresql.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, when `time_zone_aware_attributes` were enabled, after
changing a datetime or timestamp attribute and then changing it back
to the original value, `changed_attributes` still tracked the
attribute as changed. This caused `[attribute]_changed?` and
`changed?` methods to return true incorrectly.
Example:
in_time_zone 'Paris' do
order = Order.new
original_time = Time.local(2012, 10, 10)
order.shipped_at = original_time
order.save
order.changed? # => false
# changing value
order.shipped_at = Time.local(2013, 1, 1)
order.changed? # => true
# reverting to original value
order.shipped_at = original_time
order.changed? # => false, used to return true
end
|
| |
| |
| |
| | |
closes #6865
|
| |
| |
| |
| | |
https://github.com/rails/rails/commit/4beb4dececcf10c642c74fbcb8548c833e921a86#commitcomment-2482869
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
This reverts commit 4e05bfb8e254c3360a3ca4a6cb332995314338fe.
Reason: BlankTopic#blank? should not be removed to check that dynamic finder with a bang can find a model that responds to `blank?`
|
| | |
|
| |
| |
| |
| | |
this would give us some more clues in case a test silently dies inside Thread
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Travis only has PostgreSQL 9.1.x but 9.2 is required for range datatypes.
|
|\ \
| | |
| | | |
Postgresql range support
|