Class: DataMapper::Adapters::PostgresqlAdapter::Commands::TableExistsCommand

Inherits:
Object
  • Object
show all
Defined in:
lib/data_mapper/adapters/postgresql_adapter.rb

Instance Method Summary collapse

Instance Method Details

#callObject



110
111
112
113
114
115
116
117
# File 'lib/data_mapper/adapters/postgresql_adapter.rb', line 110

def call
  sql = to_sql
  @adapter.log.debug(sql)
  reader = @adapter.connection { |db| db.exec(sql) }
  result = reader.entries.size > 0
  reader.clear
  result
end

#to_sqlObject



104
105
106
107
108
# File 'lib/data_mapper/adapters/postgresql_adapter.rb', line 104

def to_sql
  # TODO cache this somewhere
  schema_list = @adapter.connection { |db| db.exec('SHOW search_path').result[0][0].split(',').collect { |s| "'#{s}'" }.join(',') }
  "SELECT tablename FROM pg_tables WHERE schemaname IN (#{schema_list}) AND tablename = #{table_name}"
end