Sha256: f9d95a2396c3e04d108e5baff46cc38ca7f7710bcfc963587f5bc579567270c1

Contents?: true

Size: 926 Bytes

Versions: 10

Compression:

Stored size: 926 Bytes

Contents

module Sequel
  module ActiveRecordConnection
    module Mysql2
      def execute(sql, opts=OPTS)
        original_query_options = activerecord_raw_connection.query_options.dup

        activerecord_raw_connection.query_options.merge!(
          as:             :hash,
          symbolize_keys: true,
          cache_rows:     false,
        )

        result = activerecord_connection.execute(sql)

        if opts[:type] == :select
          if block_given?
            yield result
          else
            result
          end
        elsif block_given?
          yield activerecord_raw_connection
        end
      rescue ActiveRecord::StatementInvalid => exception
        if exception.cause.is_a?(::Mysql2::Error)
          raise_error(exception.cause)
        else
          raise
        end
      ensure
        activerecord_raw_connection.query_options.replace(original_query_options)
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
sequel-activerecord_connection-0.4.1 lib/sequel/extensions/activerecord_connection/mysql2.rb
sequel-activerecord_connection-0.4.0 lib/sequel/extensions/activerecord_connection/mysql2.rb
sequel-activerecord_connection-0.3.0 lib/sequel/extensions/activerecord_connection/mysql2.rb
sequel-activerecord_connection-0.2.6 lib/sequel/extensions/activerecord_connection/mysql2.rb
sequel-activerecord_connection-0.2.5 lib/sequel/extensions/activerecord_connection/mysql2.rb
sequel-activerecord_connection-0.2.4 lib/sequel/extensions/activerecord_connection/mysql2.rb
sequel-activerecord_connection-0.2.3 lib/sequel/extensions/activerecord_connection/mysql2.rb
sequel-activerecord_connection-0.2.2 lib/sequel/extensions/activerecord_connection/mysql2.rb
sequel-activerecord_connection-0.2.1 lib/sequel/extensions/activerecord_connection/mysql2.rb
sequel-activerecord_connection-0.2.0 lib/sequel/extensions/activerecord_connection/mysql2.rb