Updated code that checks feature availability against postgres version

This commit is contained in:
Greg Barnett 2011-03-16 19:50:49 -07:00
parent 1fd5f5fecb
commit b5694e74c6

View file

@ -60,18 +60,15 @@ module ActiveRecord
class PostgreSQLAdapter < AbstractAdapter class PostgreSQLAdapter < AbstractAdapter
def db_version def db_version
@db_version ||= select_values( @db_version ||= select_value('SHOW SERVER_VERSION')
"SELECT CHARACTER_VALUE
FROM INFORMATION_SCHEMA.SQL_IMPLEMENTATION_INFO
WHERE IMPLEMENTATION_INFO_NAME = 'DBMS VERSION' ").join.to_s
end end
def cascade def cascade
@cascade ||= db_version >= "08.02" ? "CASCADE" : "" @cascade ||= db_version >= '8.2' ? 'CASCADE' : ''
end end
def restart_identity def restart_identity
@restart_identity ||= db_version >= "08.04" ? "RESTART IDENTITY" : "" @restart_identity ||= db_version >= '8.4' ? 'RESTART IDENTITY' : ''
end end
def truncate_table(table_name) def truncate_table(table_name)