diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2016-02-01 00:23:36 +0900 |
---|---|---|
committer | Jeremy Daer <jeremydaer@gmail.com> | 2016-04-24 14:56:29 -0700 |
commit | edc2b7718725016e988089b5fb6d6fb9d6e16882 (patch) | |
tree | 2dc5eb1b68ff7c0f71c5de73578e48cb5edb6d68 /activerecord/test/cases/adapters/postgresql/postgresql_adapter_test.rb | |
parent | c41ef01aec40bfaa9af707551d1e8a1f9f7380d1 (diff) | |
download | rails-edc2b7718725016e988089b5fb6d6fb9d6e16882.tar.gz rails-edc2b7718725016e988089b5fb6d6fb9d6e16882.tar.bz2 rails-edc2b7718725016e988089b5fb6d6fb9d6e16882.zip |
Add Expression Indexes and Operator Classes support for PostgreSQL
Example:
create_table :users do |t|
t.string :name
t.index 'lower(name) varchar_pattern_ops'
end
Fixes #19090.
Fixes #21765.
Fixes #21819.
Fixes #24359.
Signed-off-by: Jeremy Daer <jeremydaer@gmail.com>
Diffstat (limited to 'activerecord/test/cases/adapters/postgresql/postgresql_adapter_test.rb')
-rw-r--r-- | activerecord/test/cases/adapters/postgresql/postgresql_adapter_test.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/activerecord/test/cases/adapters/postgresql/postgresql_adapter_test.rb b/activerecord/test/cases/adapters/postgresql/postgresql_adapter_test.rb index 8b08ebc3c4..9832df7839 100644 --- a/activerecord/test/cases/adapters/postgresql/postgresql_adapter_test.rb +++ b/activerecord/test/cases/adapters/postgresql/postgresql_adapter_test.rb @@ -259,6 +259,22 @@ module ActiveRecord end end + def test_expression_index + with_example_table do + @connection.add_index 'ex', 'mod(id, 10), abs(number)', name: 'expression' + index = @connection.indexes('ex').find { |idx| idx.name == 'expression' } + assert_equal 'mod(id, 10), abs(number)', index.columns + end + end + + def test_index_with_opclass + with_example_table do + @connection.add_index 'ex', 'data varchar_pattern_ops', name: 'with_opclass' + index = @connection.indexes('ex').find { |idx| idx.name == 'with_opclass' } + assert_equal 'data varchar_pattern_ops', index.columns + end + end + def test_columns_for_distinct_zero_orders assert_equal "posts.id", @connection.columns_for_distinct("posts.id", []) |