Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Feb 1 17:47:10 2020 +0000

    ctlib: Do not use fprintf(stdout, ...) but just printf

    Just style change, reduces lines length.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Feb 1 17:32:34 2020 +0000

    Minor build cleanup

    Ignore autogenerated charset_lookup.h file.
    Remove intermediate charset_lookup.gperf file.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Jan 30 21:32:36 2020 +0000

    ctlib: Optimize data padding

    Use memset instead of manually padding byte by byte.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Dec 9 13:25:38 2019 +0000

    tds: Avoid now useless casts calling tds_convert

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Dec 9 11:32:50 2019 +0000

    tds: Use "const void*" type for tds_convert "src" argument

    Allows to reduce useless conversion, the parameter is used to
    pass multiple data types.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Dec 8 21:18:56 2019 +0000

    tds: Check conversion from SYBFLT8 to SYBNUMERIC

Author: detule <ogjoneski@gmail.com>
Date:   Sat Dec 7 08:05:31 2019 -0500

    tds: More robust conversion from FLT to DECIMAL/NUMERIC

    Conversion follows flt->string->numeric code-path.  In the first step
    (flt->string via `sprintf`) we use `%f` conversion specifier to prevent
    receiving a string with scientific notation back (as is the case,
    potentially, with `%g`).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Dec 1 16:22:28 2019 +0000

    odbc: Fix genparams test for Sybase and old MSSQL

    Sybase and old MSSQL does not implicitly convert VARCHAR to MONEY.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 30 18:33:22 2019 +0000

    odbc: Improve utf8_4 test

    Factor out a function to reduce big preprocessor macro.
    Use some casts to avoid possible conversion warnings.
    Check output for ASCII odbc_dstr_copy_flag call.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Aug 26 21:54:42 2015 +0100

    odbc: Use size_t instead of a pointer for prepare_pos field

    Instead of using a pointer to another buffer save the position
    to reduce code unsafety.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 30 18:02:15 2019 +0000

    odbc: Check conversion from MONEY to string lead to 4 decimal digits

    The number of digits were changed time ago, check it in ODBC.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 29 19:51:06 2019 +0000

    Fix compile error on older MSVC versions

    Avoid mixing declaration and code.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 29 14:23:55 2019 +0000

    test: Check odbc_dstr_copy_flag function

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 29 14:27:10 2019 +0000

    odbc: Support UTF-16 surrogate pairs in odbc_wide2utf and odbc_set_string_flag

    This allows to accept code points above plane 0.
    This fixes https://github.com/FreeTDS/freetds/issues/317.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 29 17:59:22 2019 +0000

    odbc: Fix flags for utf8 and oldpwd tests

    Unicode build should be enabled for these tests.
    "if(var IN_LIST list)" requires "list" to be a variable.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 29 14:24:27 2019 +0000

    Use mnemonic to check decode_utf8 result

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 16 17:45:48 2019 +0000

    autoconf: Check for gperf presence if needed

    Avoid build failure, instead give error during configure.
    CMakeLists.txt (cmake file) has already this check.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 16 17:44:42 2019 +0000

    autoconf: Rename AC_ERROR to AC_MSG_ERROR

    AC_ERROR is obsolete, replaced by AC_MSG_ERROR

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 30 15:45:15 2019 +0000

    odbc: Change SQL_DESC_OCTET_LENGTH value for wide character columns

    SQL_DESC_OCTET_LENGTH should return the bytes needed for the buffer
    needed to store the default conversion of the column.
    For compatibility the default type for wide character columns
    is SQL_C_CHAR that is the strings will be converted to multi-byte.
    In FreeTDS the charset for multi-byte can be UTF-8 so assuming each
    character will take one byte is wrong.
    Use "max_bytes_per_char" value.

    This fixes issue #305 on GitHub (https://github.com/FreeTDS/freetds/issues/305).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Nov 12 14:35:38 2019 +0000

    ci: Fix build for old VS versions

    This fixes previous commit issue.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Nov 12 09:04:28 2019 +0000

    ci: Add VS 2017 to AppVeyor

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 2 14:25:36 2019 +0000

    odbc: Use canonic numbers to compute charset conversion

    This make SQLGetData and other functions faster as name
    lookup is not needed.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 30 11:54:09 2019 +0000

    tds: Generate charset lookup code using gperf

    Make tds_canonical_charset much faster

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 30 11:52:55 2019 +0000

    tds: Add missing dependency in generated sources

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 23 14:09:18 2019 +0100

    Allows describecol test to specify multiple possible values for attr command

    This will allow more flexibility in the values allowed.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Oct 14 09:18:40 2019 +0100

    cmake: Workaround issue using static OpenSSL on Windows

    It could happen that some system libraries are not included in
    the list of required OpenSSL libraries.
    This fixes Github issue #312.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Oct 17 09:42:10 2019 +0100

    tds: Fix compile if --disable-mars is specified

    This fix previous commit bug.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 16 15:26:45 2019 +0100

    tds: Fix some issues with server redirection

    Server redirection is a feature used by MSSQL, specially Azure
    to redirect a connection to another server.
    Due to a bug the TLS session was not correctly closed for the
    previous attempt causing the second connection to fail is
    the first was using TLS (which is the common case for MSSQL).
    Another issue was that Azure check the requested "server name"
    field in the login to select the databases to provide.
    Last was that MARS support was possibly disabled by first attempt
    and so MARS support was not enabled for the final connection.

    This fixed https://github.com/FreeTDS/freetds/issues/308

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 16 15:14:37 2019 +0100

    Minor messages and comments updates

    Fix some typos and grammar.
    Make one log message more clear.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 16 09:27:02 2019 +0100

    Rename session to client_session

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 16 09:23:56 2019 +0100

    Remove sd variable

    Not much needed, just use client_sd and server_sd, also much
    clear.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 13 14:25:56 2019 +0100

    userguide: Suggests DBD::ODBC instead of DBD::Sybase

    DBD::Sybase has not been updated for a while.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 21 07:23:36 2019 +0100

    Extends support for MS XML type

    Make sure MS XML type is supported by CT-Library and DB-Library.
    We need to map this type to a proper library type as MS XML
    is not supported by proprietary libraries (DB-Library was abandoned,
    CT-Library is written for Sybase).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Oct 11 19:42:00 2019 +0100

    Update script to prepare Windows test distribution

    Change default to 64 bit instead of 32 bit.
    Nowadays more and more systems are 64 bit.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Oct 7 12:48:16 2019 +0100

    Fix compilation under Solaris

    Use system header for u?intXX_t types to avoid collisions.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 6 20:51:20 2019 +0100

    ctlib: Fix an error message in a test

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 6 20:50:58 2019 +0100

    Add a comment to TDSSOCKET::sid

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Sep 22 15:20:50 2019 +0100

    Avoid macro side effect using MARS

    TDS_PUT_A4LE macro could expand value multiple times causing multiple
    increment of send_seq.
    This should affect big endian machines with no GCC compilers.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Sep 4 07:23:07 2019 +0100

    tds: Check iconv is behaving as expected in tds_iconv_init

    Avoids buggy iconv implementations.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Aug 31 16:52:16 2019 +0100

    tds: Apply character conversion for Sybase

    In FreeTDS 1.0 conversion was moved from server to client.
    However some code was missing to apply the conversion in all
    directions. Apply conversion in all sensing and receiving of data.
    For BCP we now need to use server column size as column_size
    is adjusted for client conversion so can be much bigger than
    server real column size (expected to match for BCP).

    This fixes issue #260 ("handle different encoding when retrieve
    rows got strange chars")

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Aug 31 09:18:08 2019 +0100

    tds: Rework TDS_COMPILETIME_SETTINGS

    Use bool instead of int.
    Add missing fields used by tsql (SSPI, Kerberos).
    Update tsql according.
    Used an helper in tsql to simplify booleans handling.

Author: Evan Miller <emmiller@gmail.com>
Date:   Fri Aug 30 15:03:04 2019 -0400

    New CS_DATABASE property

    Microsoft Azure does not allow switching databases after the connection
    has been made, so we need a way to define the database name prior to the
    call to `ct_connect`. Introduce a new, optional CS_DATABASE property
    that can be configured with a string value using `ct_con_props`.

    I have defined the constant / enum as 9302, as it appears that the other
    93XX properties (CS_PORT and CS_CLIENTCHARSET) are also inventions of
    FreeTDS.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Aug 9 18:02:32 2019 +0100

    ci: Remove old AppVeyor workaround

    Do not rename wdf directory, this used to fix an issue compiling
    however now is not necessary and making the build fail

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Aug 9 17:39:21 2019 +0100

    tds: Decrease log level for state changes

    This erroneously was marked as ERROR but is just informational.
    This fixes GitHub issue #300 raised by Francesco Abeni.

Author: albert-github <albert.tests@gmail.com>
Date:   Wed Jul 10 16:46:06 2019 +0200

    Documentation errors

    Some obvious documentation errors

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Jul 9 09:26:43 2019 +0100

    tds: Make sure UDT has varint set to 8

Author: Eran Amitai <mayonada@gmail.com>
Date:   Sat Jun 29 08:52:28 2019 +0100

    dblib: read of varbinary columns into DBVARYBIN variables

    Fix: varbinary columns don't bind correctly when bound to variables
    declared as DBVARYBIN using the VARYBINBIND bind type - variable doesn't
    get updated.

Author: food-spotter <48453986+food-spotter@users.noreply.github.com>
Date:   Mon Jun 24 14:03:28 2019 +0100

    Update INSTALL.GIT.md

    Typo correction:
    "Intall" -> "Install"

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Apr 29 11:59:11 2019 +0100

    utils: Optimise a bit the way bytes are encoded

    This should affect some architectures only.
    Potentially Windows using Microsoft compiler and Linux big endians.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri May 10 17:18:01 2019 +0100

    tds: Override correctly if "asa database" is used

    The configuration section was not taken into account if "server:port"
    was used.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri May 10 16:58:11 2019 +0100

    tds: Override always port using "server:port" syntax

    Avoid global setting in case there's no section for "server".

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu May 9 21:58:47 2019 +0100

    Fix overriding server_name if "server:port" or "server\instance" are used

    This allows Azure Managed SQL Server connections easily.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu May 9 21:18:19 2019 +0100

    tds: Add a test for parsing "server:port" or "server\instance" syntaxes

    Combination of this syntaxes are quite tricky.
    They are supposed to override port or instance but still using
    full configuration sections if available.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri May 10 09:41:54 2019 +0100

    dblib: Rename t0021 test to dbsafestr

    Much more meaningful name.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri May 10 09:38:21 2019 +0100

    dblib: Improve test for dbsafestr

    Check an additional overflow for DBBOTH.
    Update a bit style.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri May 10 09:07:54 2019 +0100

    dblib: Support DBVERSION_UNKNOWN in dbsetlversion

    Allows to explicitly set version to "auto".

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri May 10 09:07:20 2019 +0100

    dblib: Use same mnemonic prefix in dbsetlversion

    Do not mix "DBVER" and "DBVERSION_" prefixes.
    The constants are the same, just different names.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri May 10 09:05:36 2019 +0100

    dblib: Avoid useless check

    dbproc is tested for NULL in CHECK_PARAMETER.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri May 10 09:05:00 2019 +0100

    dblib: Some space and style minor updates

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed May 8 15:51:30 2019 +0100

    dblib: Correctly trim unicode fields from bcp file

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed May 8 15:18:07 2019 +0100

    dblib: Separate trimming bcp data into a function

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon May 6 08:23:14 2019 +0100

    build: Update files due to Markdown renames

Author: Evan Carroll <me@evancarroll.com>
Date:   Sat Oct 28 14:11:05 2017 -0500

    updated to use markdown

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed May 1 08:52:31 2019 +0100

    tds: Fix corrupt test for big endian machines

    The code writes always using little endian on network so
    adjust numbers accordingly.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Apr 29 18:40:57 2019 +0100

    typo: Translate small italian comment

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Apr 29 18:40:29 2019 +0100

    utils: Ignore generated file

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Apr 29 13:18:31 2019 +0100

    Remove "emulate little endian" setting

    Always use little endian at protocol level.
    MS servers only implement little endian.
    Also many big endian architectures have facilities to deal with
    little endian so removing the check for little/big endian make
    code faster and smaller.
    This also reduce conditional code.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Apr 29 12:29:04 2019 +0100

    Make TDS_ADDITIONAL_SPACE required

    This is already a requirement in src/tds/stream.c and code was tested
    with this value set to 16 since long time ago.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Apr 29 11:57:03 2019 +0100

    utils: Add a test for byte handling

    Check we correctly write integers with right order and alignment.
    This will avoid problems like the previous PPC bug.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Apr 28 19:30:11 2019 +0100

    Fix endian adjustment on PPC little endian

    Code assumed PPC were always big endian.

Author: Mark Harmstone <mark@harmstone.com>
Date:   Tue Apr 9 20:46:53 2019 +0100

    server: work with IPv6

Author: Mark Harmstone <mark@harmstone.com>
Date:   Tue Apr 9 20:48:38 2019 +0100

    server: set state to TDS_IDLE when client connects

Author: rayrapetyan <robert.ayrapetyan@gmail.com>
Date:   Tue Apr 16 20:26:57 2019 -0700

    change severity for "DBPROCESS is dead or not enabled": EXINFO -> EXCOMM

    "DBPROCESS is dead or not enabled" is a connectivity issue on the client
    side, severity level should be EXCOMM at least.
    It makes e.g.
    https://github.com/pymssql/pymssql/blob/fda5fd38f30eaeeb40a911235692144493d69864/src/_mssql.pyx#L1168
    to spin infinitely, never raising StopIteration (in case issue occurred in
    the middle of fetching process).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Mar 29 09:44:34 2019 +0000

    Do not install not executable files as executable

    Configuration files and some documentation were installed as
    executable using "make install".

    Reported-by: Rüdiger Ihle

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Mar 28 03:54:45 2019 +0000

    cmake: Allow build from stable packaged version

    For stable packaged version the version string was extracted from
    configure file however the regular expression used not
    supporting 1.x versions.

Author: Alexey Basov <r313pp@gmail.com>
Date:   Mon Mar 4 17:24:20 2019 +0300

    Fix bulk insert multibyte string support in names

    When column name (or table name in blob type case) has non ASCII characters length of such string was calculated incorrectly.
    In such cases bulk insert has failed with:
    Msg 4804, Level 17, State 1
            While reading current row from host, a premature end-of-message was encountered--an incoming data stream was interrupted when the server expected to see more data. The host program may have terminated. Ensure that you are using a supported client application programming interface (API).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Mar 18 12:21:26 2019 +0000

    odbc: Fix SQLGetPrivateProfileString call for connect test

    If unicode was used the proper encoding was not used.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Mar 18 12:05:22 2019 +0000

    cmake: Use UNICODE build for tests like for autoconf

    If ENABLE_ODBC_WIDE was specified unicode build were not used.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Mar 18 12:04:14 2019 +0000

    odbc: Cleanup tables on bcp test

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Mar 18 12:03:56 2019 +0000

    odbc: Add missing test to CMake build

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Mar 17 17:12:44 2019 +0000

    ctlib: Add a test for cs_will_convert

    Still needs some tweak but at least check that is using the
    right types (not TDS ones).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Mar 17 19:02:35 2019 +0000

    ctlib: Fix cs_will_convert

    Use CT-Library types, not TDS ones.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Mar 17 18:32:26 2019 +0000

    ctlib: Define CS_MIN_SYBTYPE and CS_MAX_SYBTYPE

    Allows to know the range of the type supported by CT-Library.
    Sybase headers have these defines.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 9 00:02:49 2018 +0100

    Reduce TDSSOCKET size

    Small structure optimisation.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    ct.c (_ct_get_server_type): Handle CS_LONGCHAR_TYPE.

    Map it to SYBVARCHAR when (possibly) using TDS 7+, and to SYBLONGCHAR
    with older protocol versions.  Unconditional use of SYBLONGCHAR would
    result in gratuitous Sybase-style substitution of single spaces for empty
    strings under Microsoft SQL Server, which otherwise leaves them intact.

    Add a comment summarizing the types that remain unhandled.

    Co-Authored-By: Sergey Sikorskiy <ssikorsk@ncbi.nlm.nih.gov>

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Feb 10 13:57:01 2019 +0000

    Convert DocBook to XML format

    Use xmlto instead of openjade.
    Update main document, style sheet and build files.
    Update documentation.
    Now is not necessary to define DOCBOOK_DSL, if xmlto is found
    the guide is compiled.

    ---
    TODO: Missing some styles like ODBC preparation box and minors

    MINOR Notes have no title, just a ruler to separate

    MINOR Index has next on top

    MINOR footnote numbers does not restart at every page

    Top title is always the same on SGML

    "ODBC Preparation" come with a nice box around in SGML
    see sidebar css

    SGML "Possible linker problems" output and commands have a darker background

    freetdsconf chapter table into a table in XML has no borders

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Mar 13 15:43:43 2019 +0000

    tds: Pass all collation to tds7_srv_charset_changed

    Allows tds7_srv_charset_changed to inspect all collation data.
    This will be needed to support SQL Server 2019 UTF-8 encoding.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Mar 15 08:23:26 2019 +0000

    tds: Propagate error from tds_put_params

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Mar 14 23:45:24 2019 +0000

    dblib: Update declaration style

    Avoid identifiers starting with underscore and capital letter,
    now reserved.
    Avoid structure names starting with tag_, only very few occurrences.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 4 22:48:43 2016 +0000

    tds: Small improve to encodings.pl script

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Mar 1 09:19:43 2019 +0000

    tds: Update collations test

    Do not cache collation digests, potentially could change even
    with same locale/charset (like UTF-8 support).
    Print locale and flags in hexadecimal, locale is usually shown
    in that way, flags are easier to read as they are bit combination.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Mar 1 09:22:43 2019 +0000

    tds: Small optimisation

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Mar 14 08:33:34 2019 +0000

    Small NEWS update

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Mar 13 16:22:39 2019 +0000

    start development release
