class Mkxms::Mssql::TableType::KeyConstraint

Constants

SQL_OBJECT_TYPE

Attributes

ignore_duplicates[RW]
type[RW]

Public Class Methods

new(attrs) click to toggle source
# File lib/mkxms/mssql/table_type_handler.rb, line 88
def initialize(attrs)
  @type = attrs['type']
  @clustered = !!attrs['clustered']
  @ignore_duplicates = !!attrs['ignore-duplicates']
end

Public Instance Methods

clustered=(val) click to toggle source
# File lib/mkxms/mssql/table_type_handler.rb, line 98
def clustered=(val); @clustered = !!val; end
clustered?() click to toggle source
# File lib/mkxms/mssql/table_type_handler.rb, line 97
def clustered?; @clustered; end
ignore_duplicates=(val) click to toggle source
# File lib/mkxms/mssql/table_type_handler.rb, line 101
def ignore_duplicates=(val); @ignore_duplicates = !!val; end
ignore_duplicates?() click to toggle source
# File lib/mkxms/mssql/table_type_handler.rb, line 100
def ignore_duplicates?; @ignore_duplicates; end
to_sql() click to toggle source
# File lib/mkxms/mssql/table_type_handler.rb, line 103
def to_sql
  "#{type} #{clustered? ? "CLUSTERED" : "NONCLUSTERED"} (#{
    columns.map(&:spec).join(', ')
  })".tap do |result|
    result << " WITH (IGNORE_DUP_KEY = ON)" if ignore_duplicates?
  end
end