Module: Sequel::MSSQL::DatasetMethods
- Defined in:
- lib/sequel/adapters/shared/mssql.rb
Constant Summary collapse
- SELECT_CLAUSE_ORDER =
%w'with limit distinct columns from table_options join where group order having compounds'.freeze
Instance Method Summary collapse
- #complex_expression_sql(op, args) ⇒ Object
- #full_text_search(cols, terms, opts = {}) ⇒ Object
- #multi_insert_sql(columns, values) ⇒ Object
-
#nolock ⇒ Object
Allows you to do .nolock on a query.
- #quoted_identifier(name) ⇒ Object
-
#supports_intersect_except? ⇒ Boolean
Microsoft SQL Server does not support INTERSECT or EXCEPT.
-
#supports_window_functions? ⇒ Boolean
MSSQL 2005+ supports window functions.
Instance Method Details
#complex_expression_sql(op, args) ⇒ Object
51 52 53 54 55 56 57 58 |
# File 'lib/sequel/adapters/shared/mssql.rb', line 51 def complex_expression_sql(op, args) case op when :'||' super(:+, args) else super(op, args) end end |
#full_text_search(cols, terms, opts = {}) ⇒ Object
60 61 62 |
# File 'lib/sequel/adapters/shared/mssql.rb', line 60 def full_text_search(cols, terms, opts = {}) filter("CONTAINS (#{literal(cols)}, #{literal(terms)})") end |
#multi_insert_sql(columns, values) ⇒ Object
64 65 66 67 |
# File 'lib/sequel/adapters/shared/mssql.rb', line 64 def multi_insert_sql(columns, values) values = values.map {|r| "SELECT #{expression_list(r)}" }.join(" UNION ALL ") ["#{insert_sql_base}#{source_list(@opts[:from])} (#{identifier_list(columns)}) #{values}"] end |
#nolock ⇒ Object
Allows you to do .nolock on a query
70 71 72 |
# File 'lib/sequel/adapters/shared/mssql.rb', line 70 def nolock clone(:table_options => "(NOLOCK)") end |
#quoted_identifier(name) ⇒ Object
74 75 76 |
# File 'lib/sequel/adapters/shared/mssql.rb', line 74 def quoted_identifier(name) "[#{name}]" end |
#supports_intersect_except? ⇒ Boolean
Microsoft SQL Server does not support INTERSECT or EXCEPT
79 80 81 |
# File 'lib/sequel/adapters/shared/mssql.rb', line 79 def supports_intersect_except? false end |
#supports_window_functions? ⇒ Boolean
MSSQL 2005+ supports window functions
84 85 86 |
# File 'lib/sequel/adapters/shared/mssql.rb', line 84 def supports_window_functions? true end |