| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
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.
|
|\
| |
| | |
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
|
| |
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
This reverts commit 5d528f835e871f5f9d4b68e8a81cfbe900b7e718.
Relates to f8c8ad5 which is also getting reverted due to failing test.
|
|
|
|
|
|
| |
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'
|
| |
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
schema dumper tests now conducted by ActiveRecord::Base.Connection
|
| | |
|
|\ \
| | |
| | | |
Use define method instead of class_eval
|
| |/ |
|
| | |
|
| | |
|
| |
| |
| |
| | |
[ci skip]
|
| |
| |
| |
| | |
ActiveRecord::ConnectionAdapters::PostgreSQLAdapter#extensions to allow dumping of enabled extensions to schema.rb, add ActiveRecord::SchemaDumper#extensions to dump extensions to schema.rb
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
extensions
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
or the ConnectionPool silently fails to close connections inside the Thread
|
| |
| |
| |
| | |
Travis only has PostgreSQL 9.1.x but 9.2 is required for range datatypes.
|
| | |
|
|/
|
|
| |
new transaction state object upon initialization.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we set encoding latin1 for a PostgreSQL database, it calls
PostgreSQLAdapter::create_database with options that have,
among other things:
{ 'encoding' => 'latin1' }
Then, we use reverse_merge(:encoding => "utf8") to setup the default
encoding. In the end, the hash looks like:
{ :encoding => 'utf8', 'encoding' => 'latin1' }
The call to options.symbolize_keys calls to_sym on each_key of this
Hash. It usually means that the encoding passed overwrites the default
utf8, but it's not guaranteed. So, we shouldn't rely on it.
The same was happening in ActiveRecord::ConnectionHandling.
|
|
|
|
|
|
|
|
|
| |
All the valids parameters for libpq are used.
See http://www.postgresql.org/docs/9.1/static/libpq-connect.html for the
full list
Fixes #8784
|
| |
|
|
|
|
|
|
|
|
|
| |
Also covers any non-castable case by returning nil, which
is in-line with the intention of the former implementation,
but covers the odd cases which respond to to_i but raise
an error when it's called, such as NaN, Infinity and -Infinity.
Fixes #8757
|
|
|
|
|
|
| |
* dependencies/autoload
* concern
* deprecation
|
| |
|