tds v2.1.0 Release Notes
Release Date: 2020-03-21 // about 4 years ago-
๐ BugFix
- ๐ ColMetadata token that contains XML schema_info now is parsed correctly.
๐ Improvements
- ๐ Improved compatibiliy with
ecto_sql
TDS adapter - โ Removed
Tds.Types.VarChar
. From nowecto_sql
implementsTds.Ecto.VarChar
that should be used in fields if schema requires it. - ๐
Tds.Type.UUID
is moved toecto_sql
please useTds.Ecto.UUID
instead if you are using ecto. Tds.generate_uuid/0
is added so users can generate valid binary MS UUIDS, ๐ there is alsoTds.decode_uuid/1
that should help parsing MS UUID binary to its string representationsp_execute
is now using PROCID in protocol so message size is reduced for few bytes- In explicit transactions (
Tds.transaction/2
) now you can tell transaction manager what isolation level you need. You are encaruadged to use this instead ofSET TRANSACTION ISOLATION LEVEL ...
due:- Less roundtrips to database (saving 3 RPC calls)
- Less bytes are sent over wire since all is in single transaction manager call
- snapshot isolation level works in combination with connection settings
set_allow_snapshot_isolation: :on
- Elixir calendar types are supported if connection is configured with
use_elixir_calendar_types: true
, columns that are of sql typesSmallDateTime
,DateTime
,DateTime2
,DateTimeOffset
,Time
andDate
will be decoded into elixirNaiveDateTime
,DateTime
,Time
andDate
. If this falg is not set to connection tuples will be used. - Rustler dependency is not mandatory anymore. Requirements are muved to
tds_encoding
library. If you need non latin1 encoding ๐ง for your varchars please add this library to your dependency and add in configurationconfig :tds, :text_encoder, Tds.Encoding