3.51.15

  Bugs fixed:
  * SQLGetFunctions() reported that the driver supported SQLProcedureColumns(),
    even though it does not. (Bug #27591)
  * The row status array given to SQLExtendedFetch() was being stored
    as SQL_ATTR_ROW_STATUS_PTR, which could cause it to be used when it
    should not.
  * SQLSetPos() would not update a row unless all columns were bound,
    but it should only require that at least one column is bound and
    not set to be ignored.
  * SQLBulkOperations() and SQLSetPos() used the wrong indicator variable
    values when batch-inserting rows. (Bug #24306)
  * SQLGetConnectAttr() would report an incorrect isolation level if it
    was not explicitly set using SQLSetConnectAttr(). (Bug #27589)
  * The last argument of SQLColAttribute() and SQLColAttributes() was
    always being treated as a pointer to an SQLINTEGER even though it is
    sometimes a pointer to an SQLLEN.
  * SQLForeignKeys would return keys from the wrong tables due to improper
    handling of table names. (Bug #4518)
  * Changed the behavior of myodbc3i utility, so it loads the driver library
    prior to the setup library when creating a new DSN (Bug #27220)
  * SQLProcedures returned incomplete and incorrect information. (Bug #23033)
  * Statements that used "WHERE CURRENT OF" for positioned updates could
    not be re-executed or used with parameters that were provided using
    SQLPutData() and SQLParamData(). (Bug #5853)
  * SQLTransact() did not commit or rollback all transactions in the
    environment when no database connection was specified. (Bug #21588)
  * Updated use of FIELD_TYPE_* to MYSQL_TYPE_*, which has been preferred
    since the 3.23 days. (And FIELD_TYPE_* may finally disappear in 5.2.)

----

3.51.14 (08-Mar-2007)

  Functionality added or changed:
  * Added auto-reconnect option because automatic reconnect is now
    disabled by default in libmysql
  * Added auto is null option (Bug #10910)
  * Added support for SQLMoreResults
  * Checking SQL_ATTR_CONNECTION_DEAD now always calls mysql_ping() to
    check for a dead connection.
  * Remove ODBC escape syntax { and } that begin and terminate statements,
    allowing {CALL (?)} for procedures that don't require OUT or INOUT
    parameters
  * Improved regression tests
  * Added --with-separate-debug-driver ./configure option

  Bugs fixed:
  * SQL_ATTR_CONNECTION_TIMEOUT was inappropriately mapped to
    MYSQL_OPT_CONNECT_TIMEOUT. (Bug #19823)
  * Prepared statements using the embedded MySQL server would fail
    due to an uninitialized variable. (Bug #16535)
  * Fix positioned update and delete on statements derived from one
    table with no primary key but including all columns (Bug #22796)
  * Only initialize the ODBC version when the old-style SQLAllocEnv()
    is called. If SQLAllocHandle() is used, the ODBC version must be
    explicitly specified using a call to SQLSetEnvAttr()
  * On 64-bit systems, some types would be incorrectly returned. (Bug #26024) 
  * Using DataAdapter, Connector/ODBC may continually consume memory when
    reading the same records within a loop (Windows Server 2003 SP1/SP2 only).
    (Bug #20459)
  * Fix truncation of queries with leading spaces when SQL_ATTR_MAX_ROWS
    is set to a non-zero value (Bug #6609)
  * Fixed problem with memory allocation in Windows for BLOB and long
    queries that need re-allocation of net->buff
  * Using Connector/ODBC, with SQLBindCol and binding the length to the return
    value from SQL_LEN_DATA_AT_EXEC fails with a memory allocation error.
    (Bug #20547)
  * Fixed Windows-specific problems with the GUI for SQL_DRIVER_PROMPT
  * Fixed issues with numeric and decimal rounding
  * Fixed memory leak in SQLDriverConnect()
  * Fixed serious memory leak in SQLSpecialColumns() (up to 8KB/call)
  * Fixed handle leak in LibMain (Bug #21385, thanks to Leandro Becker)
  * Fixed field lengths reported by SQLDescribeCol() when using functions
    such as COMPRESS() in SELECT queries (Bug #20208)
  * Fixed 64-bit issues related to SQLINTEGER columns defined as int,
    but later cast to long.
  * TIME fields were incorrectly converted into date/time values. (Bug #25846,
    Bug #24867, and Bug #25432)
  * Fixed #Deleted issue in Microsoft Access by changing the default behavior
    of MyODBC driver regarding SQL_AUTO_IS_NULL variable. Added new option to
    the GUI and driver
  * Fixed memory leak in SQLSpecialColumns()
  * Corrected return size of SQLGetStmtAttr() when getting desc handles
  * Fixed SQLGetInfo() of SQL_TXN_CAPABLE to return SQL_TC_DDL_COMMIT
  * For SQL_C_TIME, handle conversion from the different time-related MySQL
    types, instead of always assuming it is just a TIME. (DATETIME, TIMESTAMP,
    and DATE were all handled incorrectly.)
  * Fix crash when default database is not set
  * Fix handling of lost connections (Bug #14639)
  * File DSNs could not be saved. (Bug #12019)
  * Nullability of auto_increment fields is incorrect. (Bug #10130)
  * Connector/ODBC may insert the wrong parameter values when using prepared
    statements under 64-bit Linux. (Bug #22446)
  * The SQLDriverConnect() ODBC method did not work with recent Connector/ODBC
    releases. (Bug #12393)
  * Some properties returned by SQLGetInfo() were set using the wrong data
    type, resulting in possible memory overruns. (Bug #20995)
  * Ending a transaction using SQLEndTran() on a environment handle was
    not supported. (Bug #21588)

----

3.51.13 (never officially released, changes listed with those for 3.51.14)

----

3.51.12 (25-Aug-2005)

  Functionality added or changed:
  * Improved README and other documentation
  * Improved source distribution for Microsoft Windows
  * Renamed package from 'MyODBC' to 'mysql-connector-odbc'
  * Improved configure script
  * Added -w option to myodbc3i to disable GUI popups
  * Redid help screen in myodbc3i
  * Added support for ODBCINI environment variable in SQLConnect()
  * Added CLIENT_MULTI_RESULTS client option
  * Added support for FIELD_TYPE_NEWDECIMAL
  * Moved to WiX-based installer for Windows
  * Made implied insert more intelligent (minimized the number of columns used)
  * Improved time/timestamp handling

  Bugs fixed:
  * Fixed problem with positioned update
  * Fixed SQLForeignKeys() to support more than 18 foreign keys
  * Fixed handling of quoting in SQLForeignKeys()
  * Fixed problem with SQLBulkOperations()
  * Fixed problems with SQL_C_BIT data type
  * Fixed problems with SQLGetTypeInfo() and date/time/timestamp
  * Fixed problems when SOCKET was something other than 'MySQL'

Binaries were made using MySQL 4.1.13 and unixODBC 2.2.11 (where applicable).

----

3.51.11-2 (11-Feb-2005)

  Bugs fixed:
  * Resources for last thread now freed
  * Rolled back a fix for Crystal Reports (force v3) because it 
    caused problems for Microsoft Access (wants v2)
  * Fixed binary RPM spec to no longer create sample DSN.
  * Fixed myodbcinst to exit with proper exit code.

----

3.51.11 (28-Jan-2005)

  Functionality added or changed:
  * Enhanced SQLGetTypeInfo(), mostly for blob types
  * Allow alternate keywords for DSN for read, silently converted upon write

  Bugs fixed:
  * Corrected SQLDriverConnect() to always prompt when SQL_DRIVER_PROMPT
    is specified
  * Fixed a number of problems with connecting using SQLDriverConnect
   
----

3.51.10a (15-Dec-2004)

  Functionality added or changed:
  * SQLDriverConnect() heavily reworked to support prompting
  * Port information now saved by GUI

  Bugs fixed:
  * Fixes for working with Crystal Reports

----

3.51.10 (25-Oct-2004)

  Functionality added or changed:
  * Qt-based setup library added
  * MyODBC now built against 4.1 client library

  Bugs fixed:
  * (Bug #3456)

----

3.51.07 (10-Oct-2003)

  Functionality added or changed:
  * MyODBC now built against 4.0 client library
  * ./configure now uses mysql_config to get library and include options
  * Compile as a thread-safe library by default
  * Disable SIGPIPE if not compiling threadsafe
  * Added test suite (run as user 'odbc' and no password)
  * Cleaned up code to conform to MySQL coding standards
  * Added bin-tar target to Makefile.am for building binary distribution
  * Added make_win_src_distribution script for building Windows source archive
  * Moved Windows-specific files into win32 directory

  Bugs fixed:
  * Fixed compiler warnings
  * Fixed crash when SQLSetPos() is called with SQL_ADD to insert a
    record with an empty value (pcbValue is SQL_COLUMN_IGNORE)
  * Fixed SQLFetch() to return and update SQL_ATTR_ROWS_FETCHED_PTR
    and SQL_ATTR_ROW_STATUS_PTR statement attribute pointers
  * Fixed SQLFetch() to properly handle SQL_ROWSET_SIZE
  * Fixed .NET crash when creating the MFC database project (Bug #913)
  * Added search pattern for all catalog APIs for all input parameters
  * Added support for SQLProcedures when connected to MySQL 5.0 server
  * Fixed SQL_ATTR_CURRENT_CATALOG to take a correct length pointer
  * Portability fixes

----

3.51.06 (27-Feb-2003)

  Bugs fixed:
  * Fixed handling long text field with 0 length data (for ADO)
  * Fixed syntax error due to error message overflow
  * Fixed problems when a dynamic cursor is  used for cursor-based
    updated and deletes and there ar eno key fields and the table
    schema is changed
  * Fixed to refresh the initialized SQLSTATE values in the driver
    when the ODBC version is changed and when multiple instances of
    the driver are loaded
  * Fixed a problem with bulk inserts are performed using SQLBulkOperations()
    or SQLSetPos() with SQL_ADD and the wrong pcbValue is given

----

3.51.05 Release Candidate (27-Feb-2003)

  Functionality added or changed:
  * Return the DRIVER name when no DSN is specified
  * Added support for new autoconf tools
  * Added scripts for producing binary distributions and source snapshots

  Bugs fixed:
  * Fixed core dumps when driver is built with debug options and
    the thread-safe client library is used
  * Return a valid list of catalog names in SQLTables() (for OpenOffice.org)
  * Fixed SQLTablePrivileges() and SQLColumnPrivileges() to return each
    privilege type in a distinct row
  * Fixed the time conversion format error from SQL_TIME_STRUCT (thanks
    to Ocke Janssen from Sun)
  * Fixed core dump on HP-UX in SQLSpecialColumns()
  * Fixed SQLGetTypeInfo to return individual rows for auto_increment
    status for all numeric types (requested by Gerry Sweeney)
  * Return an error when converting from SQL_C_NUMERIC. The driver is not able
    to handle SQL_NUMERIC_STRUCT conversion due to the lack of descriptors
    support.  (Requested by Michael Thomas of Microsoft's ODBC team)
  * Added missing ROWS_FETCH_PTR and PARAM_PROCESSED_PTR status updates to
    SQLFetch() and SQLExtendedFetch()
  * Fixed failure to set the default attributes for a new DSN when they were
    not set through the config APIs on Microsoft Windows
  * Cleaned up configure scripts to work on all UNIX platforms and gcc 3.x
  * Minor fixes for non-gcc compilers

----

3.51.04 (30-Sep-2002)

  Functionality added or changed:
  * Support for handling large tables without caching the entire result
    set. Now one can force the driver to use mysql_use_result() instead
    mysql_store_result(). Note that this can be used only with
    forward-only cursors.
  * Added options to ./configure to control whether to use the thread-safe
    client library
  * Cleaned up thread-safe code (debug calls)
  * Added checks for attempts to set pre-connection attributes (AUTOCOMMIT,
    TXN_ISOLATION) values after the connection instead of returning error
    when they are set before the connection
  * Added two new options, 'Force use of forward-only cursors' 
    and 'Don't cache results', to help large-scale applications
  * Made improvements to driver logging calls (myodbc.log and myodbc.sql)

  Bugs fixed:
  * Fixed SQLTables() to not return an data related to SYSTEM TABLES
  * Fixed core dumps on HP-UX and AIX
  * Portability changes for MySQL 4.0.3 and 4.1
  * Fixed SQLForeignKeys() when the CREATE TABLE had a COMMENT syntax
  * Fixed rs.update when server-side cursors are used
   
----

3.51.03 (29-May-2002)

  Functionality added or changed:
  * Added new DSN configuration dialog window
  * Added support for SQLForeignKeys() for InnoDB tables
  * Added support for new Query Log eoption, which allows the driver
    to log all SQL queries that it processes
  * Added code for one-time initialization when ODBC version is specified
    as SQL_OV_ODBC2 so that subsequent calls will not check ODBC version
  * Added MY_SQL_PRIMARY_KEY(1212) option to SQLColAttribute to make
    rs.resync work from ADO (info from Dan Perik)

  Bugs fixed:
  * Fixed multi-step generated errors when server-side cursor is used
    (Thanks to vrincon_dtt@hotmail.com and AdoAnywhere)
  * Fixed time conversion using SQL_C_TIME when hour has three digits
    (Reported by Michael Thomas)
  * Fixed ADO/DAO empty string issue (reported by Tom DeGerlia)
  * Fixed BLOB data reading from ADO/DAO (reported by Justin Goodwin)
  * Made SQLSetPos() return an error when float fields are used (info
    from Jim Dickenson)
  * Fixed errors generated during export of tables with VARCHAR/TEXT
    from Microsoft Access and Microsoft DTS to MySQL using MyODBC.
  * Fixed to handle SQL_C_BINARY properly (info from Spilka)
  * Updated SQLSTATE to return correct truncated data in warning
    cases (info from akbar ali)
  * Fixed type casting issues in SQLGetInfo to make OpenOffice.org
    work (reported by Ocke Janssen)
  * Fixed SQLFetch() when it is called after SQLFetchScroll() with
    SQL_FETCH_FIRST (reported by Simone Tregnago)
  * Mapped SQL_ATTR_CONNECTION_TIMEOUT option to mysql_options() with
    MYSQL_OPT_CONNECT_TIMEOUT
   
----

3.51.02 (05-Mar-2002)

  Functionality added or changed:
  * Added support for SQLTablePrivileges() and SQLColumnPrivileges()
   
  Bugs fixed:
  * Fixed SQLDriverConnect() to return  correct output string. This is
    the main fix for 'Reserved error (-7778)' from all Windows ODBC
    applications.
  * Fixed SQLError() to clear the error buffers on the first call when
    the ODBC version is SQL_OV_ODBC3, so subsequent calls will return
    SQL_NO_DATA.
  * Fixed SQL_UPDATE and SQL_ADD from SQLSetPos().
  * Fixed SQLSetPos() and SQLBulkOperations() to handle when the 
    application passes SQL_NTS as pcbValue
  * Fixed SQLColumns() to return the correct Nullability
  * Fixed SQL_ATTR_CONNECTION_DEAD. This should fix the issues from
    SQLExpress for XBase++ and .NET connection closed issues
  * Fixed SQLGetTypeInfo() to return correct values for SQL_DATE, 
    SQL_TYPE_DATE, SQL_TIME, SQL_TYPE_TIME, SQL_TIMESTAMP, and
    SQL_TYPE_TIMESTAMP.
  * Fixed tab ordering from DSN configuration dialog
  * Added default values for new DSN creation
  * Fixed export of tables from Microsoft Access 97 or Microsoft DTS
    when one of the field types are TEXT or VARCHAR

----

3.51.01 (30-Jan-2002)

  Functionality added or changed:
  * Added support for the following functions:
  - SQLAllocHandle()
  - SQLFreeHandle()
  - SQLSetEnvAttr()
  - SQLGetEnvAttr()
  - SQLSetConnectAttr
  - SQLGetConnectAttr
  - SQLSetStmtAttr
  - SQLGetStmtAttr
  - SQLFetchScroll
  - SQLBulkOperations with SQL_ADD (bulk inserts)
  - SQLGetDiagRec
  - SQLGetDiagField
  - SQLCloseCursor
  - SQLEndTran
  * SQLGetInfo() and SQLGetFunctions() were completely rewritten
  * Completely changed error handling, and driver returns SQLSTATE
    values based on the ODBC version
  * Enhanced cursor handling
  * Changed SQLGetTypeInfo() to return column headers as per ODBC 3.50
    specification
  * Changed all catalog functions to return column headers as per ODBC 3.50
    specification
  * Added support for dynamic cursor types
  * Added a feature called 'Test Data Source' in the DSN setup catalog so
    that DSN settings can be tested while configuring
  * Added 'Help' button to the DSN setup dialog
  * Added SOCKET option to the SQLConnect() interface
  * Added support for the deprecated SQLParamOptions() function so one
    can specify batch parameter processing with ODBC 2.x applications
  * Added server name and version to the statement error prefix
  * Added FILEDSN support
   
  Bugs fixed:
  * Fixed SQL_FETCH_RELATIVE from SQLExtendedFetch() or SQLFetchScroll() to
    handle the following cases:
    - BeforeStart AND FetchOffset <= 0
    - CurrRowsetStart = 1 AND FetchOffset < 0
    - CurrRowsetStart > 1 AND 
      CurrRowsetStart + FetchOffset < 1 AND
      |FetchOffset| > RowsetSize
    - CurrRowsetStart > 1 AND 
      CurrRowsetStart + FetchOffset < 1 AND
      |FetchOffset| <= RowsetSize         
   * Fixed SQL_FETCH_RELATIVE from SQLExtendedFetch() or SQLFetchScroll()
     to handle the case when:
     - FetchOffset  < 0 AND
       |FetchOffset| > LastResultRow AND
       |FetchOffset| > RowsetSize    
   * Fixed memory leaks when linked against iODBC or unixODBC

vim: ft=text
