Row.datetime
andRow.datetime_exn
now work correctly for theDATETIME2
type- Queries should be slightly less likely to return errors due to previous queries not being cleaned up properly.
- Fix
execute_pipe
's exception handling. Previously, exceptions could cause the pipe to close and appear to finish successfully. Now, the pipe will be left open and an exception will be thrown. - Correctly parser SQL queries containing single quotes in comments. Previously, a $ parameter surrounded by comments containing quotes could fail to be replaced and would be treated as a literal currency value.
- Fix hang if
execute_map
's~f
throws an exception. This caused caused byf
being executed in a different Async context, so the exception wouldn't be caught by the correct context. - Ensure result sets can't be skipped when using
execute_pipe
. This makes us finish reading the previous result set before continuing to the next one. - Cancel query results immediately after an exception instead of waiting for the next query. This can prevent holding onto resources for an excessive amount of time.
- Fixed test build when using Core v0.13
- Add missing odoc dependency
- Skip tests if environment variables are not set
- Don't build the test folder in release mode (only when running tests)
- Streaming
execute_
helpers:execute_map
,execute_iter
,execute_fold
, andexecute_pipe
. Param.Array
now supports lists, which is useful forIN ($1)
clauses.
- Make
connect
'sport
argument optional - Support Core v0.13
- Result sets that don't contain row data aren't returned. For example,
INSERT ...; SELECT ...
now returns one result set instead of two.
- Correctly use
port
when provided - Various upstream fixes in
ocaml-freetds
- Exceptions shouldn't break the connection handle
- Runtime lock released during queries
- Logging always occurs in an Async context
- Logging occurs in the same Async context as the caller and not a random one
- We depend on Async_extra
Mssql.Test
. This module was for testing and shouldn't have been part of the public API. We recommend adding a module like this to your own code if you want it.- Semi-broken connection pool (
Mssql.Pool
) removed. Doing this safely requires setting theRESETCONNECTION
bit, which doesn't seem to be possible in FreeTDS.
- Switch build command from jbuilder to dune
Initial release