Module: Sequel::MSSQL::DatasetMethods

Includes:
Dataset::UnsupportedIntersectExcept
Defined in:
lib/sequel/adapters/shared/mssql.rb

Constant Summary collapse

SELECT_CLAUSE_ORDER =
%w'limit distinct columns from with join where group order having compounds'.freeze

Instance Method Summary collapse

Methods included from Dataset::UnsupportedIntersectExcept

#except, #intersect

Instance Method Details

#complex_expression_sql(op, args) ⇒ Object



44
45
46
47
48
49
50
51
# File 'lib/sequel/adapters/shared/mssql.rb', line 44

def complex_expression_sql(op, args)
  case op
  when :'||'
    super(:+, args)
  else
    super(op, args)
  end
end

#full_text_search(cols, terms, opts = {}) ⇒ Object



53
54
55
# File 'lib/sequel/adapters/shared/mssql.rb', line 53

def full_text_search(cols, terms, opts = {})
  filter("CONTAINS (#{literal(cols)}, #{literal(terms)})")
end

#multi_insert_sql(columns, values) ⇒ Object



57
58
59
60
# File 'lib/sequel/adapters/shared/mssql.rb', line 57

def multi_insert_sql(columns, values)
  values = values.map {|r| "SELECT #{expression_list(r)}" }.join(" UNION ALL ")
  ["INSERT INTO #{source_list(@opts[:from])} (#{identifier_list(columns)}) #{values}"]
end

#nolockObject

Allows you to do .nolock on a query



63
64
65
# File 'lib/sequel/adapters/shared/mssql.rb', line 63

def nolock
  clone(:with => "(NOLOCK)")
end

#quoted_identifier(name) ⇒ Object



67
68
69
# File 'lib/sequel/adapters/shared/mssql.rb', line 67

def quoted_identifier(name)
  "[#{name}]"
end