All Versions
49
Latest Version
Avg Release Cycle
-
Latest Release
-

Changelog History
Page 2

  • v1.1.3 Changes

    ๐Ÿ‘Œ Improvements

    • ๐Ÿ“ฆ Improving traceability. Adding hostname and application/program name to login7 tds package so one could easier trace rpc calls in SQL Server. Program name is equal to FQ erlang node name, while hostname is what ever :inet.gethostname() returns. May fail to connect if :inet is unable to read hostname.
  • v1.1.2 Changes

    ๐Ÿ›  Bugfix

    • Float loses precision. Fix will force floats to be encoded as 64bit floats and param type as float(53) in order to keep all bits
    • ๐Ÿ›  Fix for: Rollback is called twice on failure in explicit transaction. (DBConnection [mode: :savepoint] support)
  • v1.1.0 Changes

    ๐Ÿ’ฅ Breaking Changes

    UUID/UNIQUEIDENTIFER column is now stored AS IS in database, meaning that compatibility with Ecto.UUID is broken, if you are using tds_ecto please use Tds.UUID to encode/decode value to its sting representation. MSSQL has its way of ๐Ÿ“œ parsing binary UUID value into string representation as following string illustration:

    Ecto.UUID string representation: f72f71ce-ee18-4db3-74d9-f5662a7691b8

    MSSQL string representation: ce712ff7-18ee-b34d-74d9-f5662a7691b8

    To allow other platforms to interprect corectly uuids we had to introduce Tds.UUID in tds_ecto library and Tds.Types.UUID in tds both are trying to keep binary storage in valid byte order so each platform can corectly decode it into string. So far unique identifiers were and will be returned in resultset as binary, if you need to convert it into ๐Ÿ“œ formatted string, use Tds.Types.UUID.parse(<<_::128>>=uuid) to get that string. It is safe to call this function several times since it will not fail if value is valid uuid string, it will just return same value. But if value do not match <<_::128>> or <<a::32, ?-, b::16, ?-, c::16, ?- d::16, ?-, e::48>> it will throw runtime error.

    If you are using tds_ecto :uuid, :binary_id, and Tds.UUID are types you want to use in your models. For any of those 3 types auto encode/decode will be performed.

    Since there was a bug where in some cases old version of tds_ecto library ๐Ÿ“œ could not detemine if binary is of uuid type, it interpeted such values as raw binary which caused some issues when non elixir apps interpreted that binary in wrong string format. This was ok as long as parsed string values were not shared between elixir and other platforms trough e.g. json messages, but if they did, this could be a problem where other app is not kapable to find object which missparsed uuid value.

  • v1.0.17 Changes

    ๐Ÿ›  Bugfix

    • Fixing missing case when string/varchar length is between 2_000 and 4_000 characters long.
  • v1.0.16 Changes

    ๐Ÿ‘Œ Improvements

    • expsing connection options such as:
      • set_language - check stored procedure sp_helplanguage name column value should be used here
      • set_datefirst - number in range 1..7
      • set_dateformat - atom :mdy | :dmy | :ymd | :ydm | :myd | :dym
      • set_deadlock_priority - one of :low | :high | :normal | -10..10
      • set_lock_timeout - number in milliseconds > 0
      • set_remote_proc_transactions - atom :on | :off
      • set_implicit_transactions - atom :on | :off
      • set_transaction_isolation_level - atom :read_uncommited | :read_commited | :repeatable_read | :snapshot | :serializable
      • set_allow_snapshot_isolation - atom :on | :off
  • v1.0.14 Changes

    ๐Ÿ‘Œ Improvements

    • Parameters :string, :varchar and :binary are encoded as nvarchar(max), varchar(max) and varbinary(max) when string or binary length is greater than 2000, otherwise nvarchar(2000), varchar(2000) and varbinary(2000). This change is added to avoid agresive execution plan caching on SQL Server since parameters may often vary in length, so SQL server will makes execution plan for each parameter lenght case.
  • v1.0.13 Changes

    ๐Ÿ›  Bugfix

    • issue #62 fixing info message token parsing
  • v1.0.12 Changes

    ๐Ÿ›  Bugfix

    • issue #59 fixing login error when database name contains special characters like "-"
  • v1.0.11 Changes

    ๐Ÿ›  Bugfix

    • fixing issue with done in proc token when stored pcedure is executed
  • v1.0.10 Changes

    ๐Ÿ›  Bugfix

    • fixing negative integer/bigint encoding