📄 changelog.txt
字号:
* Fixed SQLSetPos that generated incorrect INSERT statement for result
columns without bound data buffers. (Bug #31246)
----
3.51.20 (7-Sep-2007)
Bugs fixed:
* The FLAG_NO_PROMPT option was not handled by SQLDriverConnect().
(Bug #30840)
* Removed checkbox in setup dialog for FLAG_FIELD_LENGTH ("Don't
Optimize Column Width"), which was removed from the driver in 3.51.18.
* The wrong column size was returned for binary data. (Bug #30547)
* The specified length of the username and authentication parameters to
SQLConnect() were not being honored. (Bug #30774)
* SQLGetData() will now always return SQL_NO_DATA_FOUND on second call
when no data left, even if requested size is 0. (Bug#30520)
* SQLSetParam() caused memory allocation errors due to driver manager's
mapping of deprecated functions (buffer length -1). (Bug#29871)
* SQLGetConnectAttr() did not reflect the connection state correctly.
(Bug#14639)
----
3.51.19 (8-Aug-2007)
Functionality added or changed:
* Because of Bug #10491 in the server, character string results were
sometimes incorrectly identified as SQL_VARBINARY. Until this server
bug is corrected, the driver will identify all variable-length
strings as SQL_VARCHAR.
----
3.51.18 (6-Aug-2007)
Functionality added or changed:
* An experimental binary package, without an installer, is available
for Microsoft Windows x64 Edition.
* Binary packages as disk images with installers are now available
for Mac OS X.
* Binary packages for Sun Solaris are available as PKG packages.
* Added FLAG_MULTI_STATEMENTS to allow issuing queries that contain
multiple statements. Also added to the setup GUI. (Bug #7445)
* Removed support for the TRACE and TRACEFILE DSN options. The standard
ODBC logging should be used.
* Added support for SQL_ATTR_ROW_BIND_OFFSET_PTR in normal cursors.
(Bug #6741)
* Added SSL options to the GUI setup dialog.
Bugs fixed:
* SQLColumns() incorrectly reported that an auto-incrementing
field was not nullable. (Bug #14407)
* SQLColumns() incorrectly reported that an auto-updating timestamp
field was not nullable. (Bug #14414)
* Lengths returned by SQLColumns(), SQLDescribeCol(), and SQLColAttribute()
were often incorrect. These lengths should now conform to the ODBC
specification. FLAG_FIELD_LENGTH no longer has any effect. The default
behavior was incorrect. (Bug #27862)
* The SQL_DATA_TYPE column in SQLColumns() results did not report the
correct value for date and time types.
* The SQL_DATETIME_SUB column in SQLColumns() was not correctly set for
date and time types.
* The value for SQL_DESC_FIXED_PREC_SCALE was not returned correctly
for decimal values in MySQL 5.0 and later.
* The wrong value from SQL_DESC_LITERAL_SUFFIX was returned for binary
fields.
* The wrong value for SQL_DESC_TYPE was returned for date and time types.
* The wrong value for DECIMAL_DIGITS in SQLColumns() was reported for
FLOAT and DOUBLE fields, as well as the wrong value for the scale
parameter to SQLDescribeCol(), and the SQL_DESC_SCALE attribute
from SQLColAttribute().
* MySQL BIT(n) fields were always treated as SQL_BIT data. When n > 1,
they are now treated as binary data.
* If the connection character set was set to a multibyte character set,
such as UTF-8, the wrong column size was reported. (Bug #19345)
* SQLSpecialColumns() returned all TIMESTAMP fields when queried for
SQL_ROWVER, not just an auto-updating TIMESTAMP field. (Bug #9927, still
limited by Bug #30081 in the server.)
* SQLConnect() and SQLDriverConnect() were rewritten to eliminate duplicate
code and ensure all options were supported using both connection methods.
SQLDriverConnect() now only requires the setup library to be present when
the call requires it.
* SQLColumns() failed when a catalog was specified due to an
incorrectly-generated query. (Bug #29888)
* SQLGetTypeInfo() returned incorrect information for date and time
fields, and would not return results when queried for the SQL_DATETIME
type. (Bug #28657)
* myodbc3i did not honor the 's' and 'u' modifier to the -d option for
installing the driver as a system or user driver. (Bug #29964)
* Tables from the mysql database (catalog) were listed as SYSTEM TABLES
by SQLTables() even when a different catalog was being queried. This
also introduced errors due to the fix for Bug #26934. (Bug #28662)
----
3.51.17 (13-Jul-2007)
Functionality added or changed:
* The setup library has been split into its own RPM package, to allow
installing the driver itself with no GUI dependencies.
* Added an option (CHARSET) for specifying the default character
set for a connection. This must be used instead of a "SET NAMES"
statement. Also available from the GUI setup dialog. (Related
to Bug #6667 and Bug #9498.)
* Dis-allow NULL ptr for null indicator when calling SQLGetData()
if value is null. Now returns SQL_ERROR w/state 22002.
* Fixed calling convention ptr and wrong free in myodbc3i, and fixed
the null terminating (was only one, not two) when writing DSN to string.
Bugs fixed:
* myodbc3i did not correctly format driver info, which could cause the
installation to fail. (Bug #29709)
* Multiple result sets were not correctly flushed when a statement
handle was closed. (Bug #16817)
* SQLProcedures() did not handle NULL parameters, which could lead to
crashes (Bug #28316)
* SQLColumns() did not handle many of its parameters correctly, which
could lead to incorrect results. The table name argument was not handled
as a pattern value, and most arguments were not escaped correctly when
they contained non-alphanumeric characters. (Bug #8860)
* If there was more than one unique key on a table, the correct fields
were not used in handling SQLSetPos(). (Bug #10563)
* SQLColAttribute() returned the wrong value for SQL_DESC_BASE_COLUMN_NAME
and SQL_DESC_BASE_TABLE_NAME for aliased fields. (Bug #6197)
* Calling SQLGetDiagField with RecNumber 0,DiagIdentifier
NOT 0 returns SQL_ERROR (Bug #16224)
* Correctly return error if SQLBindCol is called with an invalid column
* Fixed error handling of OOM and bad connections in catalog functions.
This might raise errors in code paths that had not seen them in the past.
Gathered the logic for internal result sets into one place. (Bug #26934)
* Fixed bad use of memory related to setup/util/GUI. (Bug #27315)
* Added a new DSN "OPTION" (FLAG_ZERO_DATE_TO_MIN) to retrieve XXXX-00-00
dates as the minimum allowed ODBC date (XXXX-01-01). Added another
option (FLAG_MIN_DATE_TO_ZERO) to mirror this but for bound parameters.
FLAG_MIN_DATE_TO_ZERO only changes 0000-01-01 to 0000-00-00. (Bug #13766)
* Fixed possible crash if SQLBindCol() was not called before SQLSetPos().
Fixed use of MYSQL structure pertaining to updating large blobs in
cursors. (Bug #10562)
----
3.51.16 (14-Jun-2007)
Functionality added or changed:
* Added support for using SSL. This is not yet exposed in the setup GUI,
but must be enabled through configuration files or the DSN. (Bug #12918)
Bugs fixed:
* Statements that return multiple result sets (such as calls to stored
procedures) would not free all results when closed. (Bug #27544)
* SQL_C_TYPE_DATE, SQL_C_TYPE_TIME, and SQL_C_TYPE_TIMESTAMP were formatted
without seperators, which could cause them to get interpreted incorrectly
in some cases due to server bugs. (Bug #15773)
* Calls to SQLNativeSql() could cause stack corruption due to an incorrect
pointer cast. (Bug #28758)
* SQLSetPos() could update or delete the wrong rows when the original result
set did not contain all columns of a multi-part primary key. (Bug #28255)
* SQLTables() did not distinguish tables from views. (Bug #23031)
* The wrong function was used for freeing the artificial result sets that
are created by some catalog functions. (Bug #22797)
* Accessing the results of catalog functions could cause a crash when the
"Don't cache results" option was set and a forward-only cursor was
being used. (Bug #4657)
* SQL_WVARCHAR and SQL_WLONGVARCHAR parameters were not properly quoted
and escaped. (Bug #16235)
* SQLForeignKeys() did not properly escape wildcard characters in its
table name parameters when retrieving information. (Bug #27723)
* Calls to SQLSetPos() could cause the driver to incorrectly calculate the
length of some fields. (Bug #16917)
----
3.51.15 (04-May-2007)
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -