Sha256: c637e3d10a882439614c3c004b4fde4b90321eb3cb2b6e839275266853a9b5e7

Contents?: true

Size: 483 Bytes

Versions: 7

Compression:

Stored size: 483 Bytes

Contents

module ActiveRecordPgStuff
  module Connection

    module TemporaryTable

      def with_temporary_table(name, sql, &block)
        transaction do
          begin
            sql = sql.gsub(/\n/, ' ').gsub(/ +/, ' ').strip
            sql = "CREATE TEMPORARY TABLE #{name} ON COMMIT DROP AS #{sql}"
            execute sql
            yield name
          ensure
            execute("DROP TABLE IF EXISTS #{name}") rescue nil
          end
        end
      end

    end

  end
end

Version data entries

7 entries across 7 versions & 4 rubygems

Version Path
activerecord_pg_stuff-0.2.1 lib/activerecord_pg_stuff/connection/temporary_table.rb
envoy-activerecord_pg_stuff-0.3.0 lib/activerecord_pg_stuff/connection/temporary_table.rb
activerecord_pg_stuff-0.2.0 lib/activerecord_pg_stuff/connection/temporary_table.rb
envoy-activerecord_pg_stuff-0.0.3 lib/activerecord_pg_stuff/connection/temporary_table.rb
envoy_activerecord_pg_stuff-0.0.2 lib/activerecord_pg_stuff/connection/temporary_table.rb
directory_diff-0.4.5 vendor/gems/activerecord_pg_stuff-0.0.1/lib/activerecord_pg_stuff/connection/temporary_table.rb
directory_diff-0.4.4 vendor/gems/activerecord_pg_stuff-0.0.1/lib/activerecord_pg_stuff/connection/temporary_table.rb