aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2015-05-03 18:32:01 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2015-05-03 18:32:01 -0300
commit1515c4d98da3f730ef971fa5a13cad828bd9bef4 (patch)
tree4bbaa9baa7e048f8e54bceceb144cb94157d6f5c /activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
parent03b0911cff6545c84b83c1adca0e66822c336b2e (diff)
parentf8e748b4e85996cb70a3e6f258944ad45f07a802 (diff)
downloadrails-1515c4d98da3f730ef971fa5a13cad828bd9bef4.tar.gz
rails-1515c4d98da3f730ef971fa5a13cad828bd9bef4.tar.bz2
rails-1515c4d98da3f730ef971fa5a13cad828bd9bef4.zip
Merge pull request #19978 from kamipo/collation_option_support_for_postgresql
PostgreSQL: `:collation` support for string and text columns
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
index 332ac9d88c..7e15c2ab26 100644
--- a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
@@ -772,7 +772,9 @@ module ActiveRecord
def column_definitions(table_name) # :nodoc:
exec_query(<<-end_sql, 'SCHEMA').rows
SELECT a.attname, format_type(a.atttypid, a.atttypmod),
- pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
+ pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod,
+ (SELECT c.collname FROM pg_collation c, pg_type t
+ WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation)
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '#{quote_table_name(table_name)}'::regclass