aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/adapters
diff options
context:
space:
mode:
authorThomas Bianchini <thomas.bianchini@talent.io>2018-11-20 18:20:24 +0100
committerThomas Bianchini <thomas.bianchini@talent.io>2018-11-21 14:29:19 +0100
commita6e0eeb8623168acd62edd23478368f04d25faa5 (patch)
treefeccfe197fc3163b815e478ee3d041f992afb1a7 /activerecord/test/cases/adapters
parent536a190ab3690810a3b342b897f2585c4971229d (diff)
downloadrails-a6e0eeb8623168acd62edd23478368f04d25faa5.tar.gz
rails-a6e0eeb8623168acd62edd23478368f04d25faa5.tar.bz2
rails-a6e0eeb8623168acd62edd23478368f04d25faa5.zip
Fixing an issue when parsing an opclass by allowing indexed column
in indexdef to be wrapped up by double quotes Fixes #34493. *Thomas Bianchini*
Diffstat (limited to 'activerecord/test/cases/adapters')
-rw-r--r--activerecord/test/cases/adapters/postgresql/schema_test.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/activerecord/test/cases/adapters/postgresql/schema_test.rb b/activerecord/test/cases/adapters/postgresql/schema_test.rb
index a36d066c80..b8d21d5b24 100644
--- a/activerecord/test/cases/adapters/postgresql/schema_test.rb
+++ b/activerecord/test/cases/adapters/postgresql/schema_test.rb
@@ -507,6 +507,7 @@ class SchemaIndexOpclassTest < ActiveRecord::PostgreSQLTestCase
@connection = ActiveRecord::Base.connection
@connection.create_table "trains" do |t|
t.string :name
+ t.string :position
t.text :description
end
end
@@ -530,6 +531,17 @@ class SchemaIndexOpclassTest < ActiveRecord::PostgreSQLTestCase
assert_match(/opclass: \{ description: :text_pattern_ops \}/, output)
end
+
+ def test_opclass_class_parsing_on_non_reserved_and_cannot_be_function_or_type_keyword
+ @connection.enable_extension("pg_trgm")
+ @connection.execute "CREATE INDEX trains_position ON trains USING gin(position gin_trgm_ops)"
+ @connection.execute "CREATE INDEX trains_name_and_position ON trains USING btree(name, position text_pattern_ops)"
+
+ output = dump_table_schema "trains"
+
+ assert_match(/opclass: :gin_trgm_ops/, output)
+ assert_match(/opclass: \{ position: :text_pattern_ops \}/, output)
+ end
end
class SchemaIndexNullsOrderTest < ActiveRecord::PostgreSQLTestCase