Method: Sequel::MSSQL::DatabaseMethods#server_version

Defined in:
lib/sequel/adapters/shared/mssql.rb

#server_version(server = nil) ⇒ Object

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



202
203
204
205
206
207
208
209
210
211
212
213
214
215
# File 'lib/sequel/adapters/shared/mssql.rb', line 202

def server_version(server=nil)
  return @server_version if @server_version
  if @opts[:server_version]
    return @server_version = Integer(@opts[:server_version])
  end
  @server_version = synchronize(server) do |conn|
    (conn.server_version rescue nil) if conn.respond_to?(:server_version)
  end
  unless @server_version
    m = /^(\d+)\.(\d+)\.(\d+)/.match(fetch("SELECT CAST(SERVERPROPERTY('ProductVersion') AS varchar)").single_value.to_s)
    @server_version = (m[1].to_i * 1000000) + (m[2].to_i * 10000) + m[3].to_i
  end
  @server_version
end