module Sequel::ActiveRecord::Sqlite3::DatabaseMethods
Public Instance Methods
execute_ddl(sql, opts=OPTS)
click to toggle source
# File lib/sequel/adapters/activerecord/sqlite3.rb, line 5 def execute_ddl(sql, opts=OPTS) execute(sql, opts) end
Private Instance Methods
_execute(type, sql, opts, &block)
click to toggle source
# File lib/sequel/adapters/activerecord/sqlite3.rb, line 11 def _execute(type, sql, opts, &block) original_results_as_hash = activerecord_raw_connection.results_as_hash activerecord_raw_connection.results_as_hash = false case type when :select activerecord_connection.send(:log, sql) do ActiveSupport::Dependencies.interlock.permit_concurrent_loads do activerecord_raw_connection.query(sql, &block) end end when :insert activerecord_connection.execute(sql) activerecord_raw_connection.last_insert_row_id when :update activerecord_connection.send(:execute_batch, sql) activerecord_raw_connection.changes end rescue ::ActiveRecord::RecordNotUnique => exception raise Sequel::UniqueConstraintViolation, exception.cause.message, exception.cause.backtrace rescue ::ActiveRecord::StatementInvalid => exception if exception.cause.is_a?(SQLite3::Exception) raise_error(exception.cause) else raise end ensure activerecord_raw_connection.results_as_hash = original_results_as_hash end