Module Sequel::MSSQL::DatabaseMethods
In: lib/sequel/adapters/shared/mssql.rb

Methods

Constants

AUTO_INCREMENT = 'IDENTITY(1,1)'.freeze
SERVER_VERSION_RE = /^(\d+)\.(\d+)\.(\d+)/.freeze
SERVER_VERSION_SQL = "SELECT CAST(SERVERPROPERTY('ProductVersion') AS varchar)".freeze
SQL_BEGIN = "BEGIN TRANSACTION".freeze
SQL_COMMIT = "COMMIT TRANSACTION".freeze
SQL_ROLLBACK = "IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION".freeze
SQL_ROLLBACK_TO_SAVEPOINT = 'ROLLBACK TRANSACTION autopoint_%d'.freeze
SQL_SAVEPOINT = 'SAVE TRANSACTION autopoint_%d'.freeze
TEMPORARY = "#".freeze

Public Instance methods

Microsoft SQL Server uses the :mssql type.

[Source]

    # File lib/sequel/adapters/shared/mssql.rb, line 16
16:       def database_type
17:         :mssql
18:       end

The version of the MSSQL server, as an integer (e.g. 10001600 for SQL Server 2008 Express).

[Source]

    # File lib/sequel/adapters/shared/mssql.rb, line 22
22:       def server_version(server=nil)
23:         return @server_version if @server_version
24:         @server_version = synchronize(server) do |conn|
25:           (conn.server_version rescue nil) if conn.respond_to?(:server_version)
26:         end
27:         unless @server_version
28:           m = SERVER_VERSION_RE.match(fetch(SERVER_VERSION_SQL).single_value.to_s)
29:           @server_version = (m[1].to_i * 1000000) + (m[2].to_i * 10000) + m[3].to_i
30:         end
31:         @server_version
32:       end

MSSQL supports savepoints, though it doesn‘t support committing/releasing them savepoint

[Source]

    # File lib/sequel/adapters/shared/mssql.rb, line 35
35:       def supports_savepoints?
36:         true
37:       end

Microsoft SQL Server supports using the INFORMATION_SCHEMA to get information on tables.

[Source]

    # File lib/sequel/adapters/shared/mssql.rb, line 41
41:       def tables(opts={})
42:         m = output_identifier_meth
43:         metadata_dataset.from(:information_schema__tables___t).
44:           select(:table_name).
45:           filter(:table_type=>'BASE TABLE', :table_schema=>(opts[:schema]||default_schema||'dbo').to_s).
46:           map{|x| m.call(x[:table_name])}
47:       end

[Validate]