Class: DataMapper::Adapters::PostgresqlAdapter::Commands::DeleteCommand

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

Instance Method Summary collapse

Instance Method Details

#execute(sql) ⇒ Object



122
123
124
125
126
127
# File 'lib/data_mapper/adapters/postgresql_adapter.rb', line 122

def execute(sql)
  @adapter.connection do |db|
    @adapter.log.debug(sql)
    db.exec(sql).status == PGresult::COMMAND_OK
  end
end

#execute_drop(sql) ⇒ Object



136
137
138
139
140
# File 'lib/data_mapper/adapters/postgresql_adapter.rb', line 136

def execute_drop(sql)
  @adapter.log.debug(sql)
  @adapter.connection { |db| db.exec(sql) }
  true
end

#to_truncate_sqlObject



129
130
131
132
133
134
# File 'lib/data_mapper/adapters/postgresql_adapter.rb', line 129

def to_truncate_sql
  table = @adapter[@klass_or_instance]
  sequence = @adapter.sequence_name(table)
  # truncate the table and reset the sequence value
  "DELETE FROM " << table.to_sql << "; SELECT setval('#{sequence}', (SELECT COALESCE(MAX(id)+(SELECT increment_by FROM #{sequence}), (SELECT min_value FROM #{sequence})) FROM #{table.to_sql}), false)"
end