lib/tds/versions.ex
defmodule Tds.Version do
import Tds.Protocol.Grammar
@default_version :v7_4
@default_code 0x74000004
@versions [
{0x71000001, :v7_1},
{0x72090002, :v7_2},
{0x730A0003, :v7_3_a},
{0x730B0003, :v7_3_b},
{0x74000004, :v7_4}
]
def decode(<<key::little-dword>>) do
List.keyfind(@versions, key, 0, @default_version)
end
def encode(ver) do
val = List.keyfind(@versions, ver, 1, @default_code)
<<val::little-dword>>
end
end