Sha256: 980f83e3bcd0860d3eaf875b3debe20e5f73ddf980945694488555ff2d48c16f

Contents?: true

Size: 880 Bytes

Versions: 32

Compression:

Stored size: 880 Bytes

Contents

module Sequel
  class Dataset
    module Replace
      INSERT = Dataset::INSERT
      REPLACE = 'REPLACE'.freeze

      # Execute a REPLACE statement on the database (deletes any duplicate
      # rows before inserting).
      def replace(*values)
        execute_insert(replace_sql(*values))
      end

      # SQL statement for REPLACE
      def replace_sql(*values)
        clone(:replace=>true).insert_sql(*values)
      end

      # Replace multiple rows in a single query.
      def multi_replace(*values)
        clone(:replace=>true).multi_insert(*values)
      end

      # Databases using this module support REPLACE.
      def supports_replace?
        true
      end

      private

      # If this is an replace instead of an insert, use replace instead
      def insert_insert_sql(sql)
        sql << (@opts[:replace] ? REPLACE : INSERT)
      end
    end
  end
end

Version data entries

32 entries across 32 versions & 2 rubygems

Version Path
sequel-4.30.0 lib/sequel/adapters/utils/replace.rb
sequel-4.29.0 lib/sequel/adapters/utils/replace.rb
sequel-4.28.0 lib/sequel/adapters/utils/replace.rb
sequel-4.27.0 lib/sequel/adapters/utils/replace.rb
sequel-4.26.0 lib/sequel/adapters/utils/replace.rb
sequel-4.25.0 lib/sequel/adapters/utils/replace.rb
sequel-4.24.0 lib/sequel/adapters/utils/replace.rb
sequel-4.23.0 lib/sequel/adapters/utils/replace.rb
sequel-4.22.0 lib/sequel/adapters/utils/replace.rb
sequel-4.21.0 lib/sequel/adapters/utils/replace.rb
sequel-4.20.0 lib/sequel/adapters/utils/replace.rb
sequel-4.19.0 lib/sequel/adapters/utils/replace.rb
sequel-4.18.0 lib/sequel/adapters/utils/replace.rb
sequel-4.17.0 lib/sequel/adapters/utils/replace.rb
sequel-4.16.0 lib/sequel/adapters/utils/replace.rb
asana2flowdock-1.0.0 vendor/bundle/ruby/1.9.1/gems/sequel-4.15.0/lib/sequel/adapters/utils/replace.rb
sequel-4.15.0 lib/sequel/adapters/utils/replace.rb
sequel-4.14.0 lib/sequel/adapters/utils/replace.rb
sequel-4.13.0 lib/sequel/adapters/utils/replace.rb
sequel-4.12.0 lib/sequel/adapters/utils/replace.rb