* Security Fix: The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.2l. Issues fixed in the new OpenSSL version are described at http://www.openssl.org/news/vulnerabilities.html.
This change does not affect the Oracle-produced MySQL Community build of MySQL Server, which uses the yaSSL library instead.
Platform-Specific Notes
* Linux: The generic Linux build for MySQL 5.6 is now built on Oracle Linux 6 using glibc 2.12. Systems that use the build need to have glibc 2.12 or later installed on them.
Functionality Added or Changed
* For Windows, MSI installer packages now include a check for the required Visual Studio redistributable package, and produce a message asking the user to install it if it is missing.
* The mysql client now supports a --binary-as-hex option that causes display of binary data using hexadecimal notation (0xvalue). Thanks to Daniël van Eeden for the patch.
* mysqlaccess now looks for its configuration file only in the SYSCONFDIR directory and /etc.
Bugs Fixed
* InnoDB: The server allocated memory unnecessarily for an operation that rebuilt the table.
* InnoDB: When using an index merge optimizer switch, a SELECT COUNT(*) operation sometimes returned 0. Partitioning code incorrectly performed a memcpy instead of a column copy of columns read by the index, causing the wrong records to be copied.
* Replication: A USE statement that followed a SET GTID_NEXT statement sometimes had no effect.
* Replication: If the binary log on a master server was rotated and a full disk condition occurred on the partition where the binary log file was being stored, the server could stop unexpectedly. The fix adds a check for the existence of the binary log when the dump thread switches to next binary log file. If the binary log is disabled, all binary logs up to the current active log are transmitted to slave and an error is returned to the receiver thread.
* Replication: If a relay log index file named relay log files that did not exist, RESET SLAVE ALL sometimes did not fully clean up properly.
* Replication: mysqlbinlog, if invoked with the --raw option, does not flush the output file until the process terminates. But if also invoked with the --stop-never option, the process never terminates, thus nothing is ever written to the output file. Now the output is flushed after each event.
* Replication: A memory leak in mysqlbinlog was fixed. The leak happened when processing fake rotate events, or when using --raw and the destination log file could not be created. The leak only occurred when processing events from a remote server. Thanks to Laurynas Biveinis for his contribution to fixing this bug.
* Replication: Multi-threaded slaves could not be configured with small queue sizes using slave_pending_jobs_size_max if they ever needed to process transactions larger than that size. Any packet larger than slave_pending_jobs_size_max was rejected with the error ER_MTS_EVENT_BIGGER_PENDING_JOBS_SIZE_MAX, even if the packet was smaller than the limit set by slave_max_allowed_packet.
* With this fix, slave_pending_jobs_size_max becomes a soft limit rather than a hard limit. If the size of a packet exceeds slave_pending_jobs_size_max but is less than slave_max_allowed_packet, the transaction is held until all the slave workers have empty queues, and then processed. All subsequent transactions are held until the large transaction has been completed. The queue size for slave workers can therefore be limited while still allowing occasional larger transactions.
* mysqldump could write database names in USE statements incorrectly.
* If the mysql_stmt_close() C API function was called, it freed memory that later could be accessed if mysql_stmt_error(), mysql_stmt_errno(), or mysql_stmt_sqlstate() was called. To obtain error information after a call to mysql_stmt_close(), call mysql_error(), mysql_errno(), or mysql_sqlstate() instead.
* Queries could be cached incorrectly, leading to incorrect query results, under these circumstances: InnoDB table; rows are being inserted but have not yet been committed; a query uses the table as a base table in a derived table; the optimizer chooses to materialize the derived table.
* Man pages for a few utilities were missing from Debian/Ubuntu packages.
* The field-t unit test failed to run with AddressSanitizer enabled. Thanks to Laurynas Biveinis for the patch.
* Debian client packages were missing information about conflicts with native packages.
* The Perl path in #! lines at the beginning of Perl scripts has been adjusted to /usr/local/bin/perl for FreeBSD 11.
* The server exited abnormally attempting to access invalid memory.
* A race condition could occur for CREATE TABLE statements with DATA DIRECTORY or INDEX DIRECTORY clauses.
* MySQL compilation in different directories produced different builds to leakage of absolute paths into debug information and __FILE__.
* mysqld_failed to start the server if the --datadir option was specified with a relative path name.
* With read_only enabled, creation of non-TEMPORARY tables by non-SUPER users was permitted under certain conditions.
*Certain stored functions, if used in a query WHERE clause, could be handled using Index Condition Pushdown (which should not happen), resulting in a server exit.
* On x86 machines, the uint3korr() macro read 4 bytes of data instead of the intended 3 bytes.
* An assertion was raised during a fetch operation by the memcached plugin.
* Queries that contained UNION in a subquery and GROUP BY could return incorrect results.
* LOAD XML INFILE performance became noticeably slower when the XML file being read contained a great many spaces, such as those introduced by indenting or pretty-printing. Now all leading whitespace is trimmed from each such value before reading it into memory.
* Security Fix: The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.2l. Issues fixed in the new OpenSSL version are described at http://www.openssl.org/news/vulnerabilities.html.
This change does not affect the Oracle-produced MySQL Community build of MySQL Server, which uses the yaSSL library instead.
Platform-Specific Notes
* Linux: The generic Linux build for MySQL 5.6 is now built on Oracle Linux 6 using glibc 2.12. Systems that use the build need to have glibc 2.12 or later installed on them.
Functionality Added or Changed
* For Windows, MSI installer packages now include a check for the required Visual Studio redistributable package, and produce a message asking the user to install it if it is missing.
* The mysql client now supports a --binary-as-hex option that causes display of binary data using hexadecimal notation (0xvalue). Thanks to Daniël van Eeden for the patch.
* mysqlaccess now looks for its configuration file only in the SYSCONFDIR directory and /etc.
Bugs Fixed
* InnoDB: The server allocated memory unnecessarily for an operation that rebuilt the table.
* InnoDB: When using an index merge optimizer switch, a SELECT COUNT(*) operation sometimes returned 0. Partitioning code incorrectly performed a memcpy instead of a column copy of columns read by the index, causing the wrong records to be copied.
* Replication: A USE statement that followed a SET GTID_NEXT statement sometimes had no effect.
* Replication: If the binary log on a master server was rotated and a full disk condition occurred on the partition where the binary log file was being stored, the server could stop unexpectedly. The fix adds a check for the existence of the binary log when the dump thread switches to next binary log file. If the binary log is disabled, all binary logs up to the current active log are transmitted to slave and an error is returned to the receiver thread.
* Replication: If a relay log index file named relay log files that did not exist, RESET SLAVE ALL sometimes did not fully clean up properly.
* Replication: mysqlbinlog, if invoked with the --raw option, does not flush the output file until the process terminates. But if also invoked with the --stop-never option, the process never terminates, thus nothing is ever written to the output file. Now the output is flushed after each event.
* Replication: A memory leak in mysqlbinlog was fixed. The leak happened when processing fake rotate events, or when using --raw and the destination log file could not be created. The leak only occurred when processing events from a remote server. Thanks to Laurynas Biveinis for his contribution to fixing this bug.
* Replication: Multi-threaded slaves could not be configured with small queue sizes using slave_pending_jobs_size_max if they ever needed to process transactions larger than that size. Any packet larger than slave_pending_jobs_size_max was rejected with the error ER_MTS_EVENT_BIGGER_PENDING_JOBS_SIZE_MAX, even if the packet was smaller than the limit set by slave_max_allowed_packet.
* With this fix, slave_pending_jobs_size_max becomes a soft limit rather than a hard limit. If the size of a packet exceeds slave_pending_jobs_size_max but is less than slave_max_allowed_packet, the transaction is held until all the slave workers have empty queues, and then processed. All subsequent transactions are held until the large transaction has been completed. The queue size for slave workers can therefore be limited while still allowing occasional larger transactions.
* mysqldump could write database names in USE statements incorrectly.
* If the mysql_stmt_close() C API function was called, it freed memory that later could be accessed if mysql_stmt_error(), mysql_stmt_errno(), or mysql_stmt_sqlstate() was called. To obtain error information after a call to mysql_stmt_close(), call mysql_error(), mysql_errno(), or mysql_sqlstate() instead.
* Queries could be cached incorrectly, leading to incorrect query results, under these circumstances: InnoDB table; rows are being inserted but have not yet been committed; a query uses the table as a base table in a derived table; the optimizer chooses to materialize the derived table.
* Man pages for a few utilities were missing from Debian/Ubuntu packages.
* The field-t unit test failed to run with AddressSanitizer enabled. Thanks to Laurynas Biveinis for the patch.
* Debian client packages were missing information about conflicts with native packages.
* The Perl path in #! lines at the beginning of Perl scripts has been adjusted to /usr/local/bin/perl for FreeBSD 11.
* The server exited abnormally attempting to access invalid memory.
* A race condition could occur for CREATE TABLE statements with DATA DIRECTORY or INDEX DIRECTORY clauses.
* MySQL compilation in different directories produced different builds to leakage of absolute paths into debug information and __FILE__.
* mysqld_failed to start the server if the --datadir option was specified with a relative path name.
* With read_only enabled, creation of non-TEMPORARY tables by non-SUPER users was permitted under certain conditions.
*Certain stored functions, if used in a query WHERE clause, could be handled using Index Condition Pushdown (which should not happen), resulting in a server exit.
* On x86 machines, the uint3korr() macro read 4 bytes of data instead of the intended 3 bytes.
* An assertion was raised during a fetch operation by the memcached plugin.
* Queries that contained UNION in a subquery and GROUP BY could return incorrect results.
* LOAD XML INFILE performance became noticeably slower when the XML file being read contained a great many spaces, such as those introduced by indenting or pretty-printing. Now all leading whitespace is trimmed from each such value before reading it into memory.
The LDAP controls and extended operations (EXOP) has been merged upstream
with some modifications. The patches backports upstream code to php70
and php71, with additionnal EXOP REFRESH support that is missing for now.
* Use a modern PBR package
* Prepare for using standard python tests
* Set autoincrement to False when modifying to non-Integer datatype
* Raise VersionNotFoundError instead of KeyError
* Fix DeprecationWarning on setuptools >= 11.3
* Update .gitreview for new namespace
occurred more than once in the container.
HTTP Headers and URL query string require specific data structure: multidict.
It behaves mostly like a regular dict but it may have several values for the
same key and preserves insertion ordering.
renamed py-redis-py to py-redis
2.10.5
* Allow URL encoded parameters in Redis URLs. Characters like a "/" can
now be URL encoded and redis-py will correctly decode them.
* Added support for the WAIT command.
* Better shutdown support for the PubSub Worker Thread. It now properly
cleans up the connection, unsubscribes from any channels and patterns
previously subscribed to and consumes any waiting messages on the socket.
* Added the ability to sleep for a brief period in the event of a
WatchError occuring.
* Fixed a bug with pipeline error reporting when dealing with characters
in error messages that could not be encoded to the connection's
character set.
* Fixed a bug in Sentinel connections that would inadvertantly connect
to the master when the connection pool resets.
* Better timeout support in Pubsub get_message.
* Fixed a bug with the HiredisParser that would cause the parser to
get stuck in an endless loop if a specific number of bytes were
delivered from the socket. This fix also increases performance of
parsing large responses from the Redis server.
* Added support for ZREVRANGEBYLEX.
* ConnectionErrors are now raised if Redis refuses a connection due to
the maxclients limit being exceeded.
* max_connections can now be set when instantiating client instances.
=== 4.48.0 (2017-07-01)
* Deprecate Model.<< (jeremyevans)
* Deprecate Dataset#{and,exclude_where,range,interval}, move to
sequel_4_dataset_methods extension (jeremyevans)
* Make Database#indexes not include partial indexes on SQLite 3.8.8+
(jeremyevans)
* Make Database#indexes include indexes created automatically from unique
constraints on SQLite 3.8.8+ (jeremyevans)
* Deprecate Sequel::Postgres::PG_TYPES, conversion procs should not be
registered per-Database (jeremyevans)
* Add Database#add_conversion_proc method on PostgreSQL for registering
conversion procs (jeremyevans)
* Deprecate unexpected values passed to Dataset#insert_conflict on SQLite
(jeremyevans)
* Deprecate Sequel::SqlAnywhere::Dataset#convert_smallint_to_bool= method
(jeremyevans)
* Deprecate Sequel::SqlAnywhere.convert_smallint_to_bool accessor
(jeremyevans)
* Use savepoints around index creation if creating table inside transaction if
ignore_index_errors is used (jeremyevans)
* Deprecate treating :natrual_inner join type on MySQL as NATURAL LEFT JOIN
(jeremyevans)
* Deprecate Dataset#mssql_unicode_strings= on Microsoft SQL Server
(jeremyevans)
* Preserve encoding when parsing PostgreSQL arrays (jeltz) (#1387)
* Deprecate external modification of Sequel::JDBC::TypeConvertor (jeremyevans)
* Deprecate Sequel::DB2.use_clob_as_blob accessor (jeremyevans)
* Add Database#use_clob_as_blob accessor on DB2 (jeremyevans)
* Deprecate SEQUEL_POSTGRES_USES_PG constant (jeremyevans)
* Do not swallow original exception if exception is raised inside
Database#copy_table on PostgreSQL (jeremyevans)
* Deprecate Sequel::Postgres.client_min_messages and force_standard_strings
accessors (jeremyevans)
* Deprecate Sequel::Postgres.use_iso_date_format accessor (jeremyevans)
* Do not allow connection in postgres adapter if postgres-pr driver is used
and force_standard_strings is false (jeremyevans)
* Drop support for ancient postgres driver in postgres adapter, now only pg
and postgres-pr drivers are supported (jeremyevans)
* Deprecate Sequel::MySQL.convert_invalid_date_time accessor (jeremyevans)
* Deprecate Sequel::MySQL.convert_tinyint_to_bool accessor (jeremyevans)
* Deprecate Sequel::MySQL.default_{charset,collate,engine} accessors
(jeremyevans)
* Add Database#default_{charset,collate,engine} accessors on MySQL
(jeremyevans)
* Make mock adapter thread safe (jeremyevans)
* Deprecate Sequel::JDBC::Dataset#convert_types accessor (jeremyevans)
* Add Dataset#with_convert_types in jdbc adapter (jeremyevans)
* Deprecate Sequel::IBMDB::Dataset#convert_smallint_to_bool= method
(jeremyevans)
* Deprecate Sequel::IBMDB.convert_smallint_to_bool accessor (jeremyevans)
* Add Database#convert_smallint_to_bool accessor in the ibmdb adapter
(jeremyevans)
* Deprecate sequel_3_dataset_methods extension (jeremyevans)
* Deprecate query_literals extension (jeremyevans)
* Deprecate using subtype conversion procs added after registering composite
type in the pg_row extension (jeremyevans)
* Don't try canceling copy in Database#copy_into if copier is not created yet
(aakashAu) (#1384)
* Deprecate global conversion procs added by pg_* extensions, when extension
isn't loaded into Database instance (jeremyevans)
* Deprecate Sequel::Postgres::PGRange.register in the pg_range extension
(jeremyevans)
* Deprecate Sequel::Postgres::PGArray.register in the pg_array extension
(jeremyevans)
* Deprecate Database#copy_conversion_procs (private method) on PostgreSQL
(jeremyevans)
* Deprecate Database#reset_conversion_procs on PostgreSQL (jeremyevans)
* Deprecate meta_def extension (jeremyevans)
* Make class_table_inheritance plugin with :alias option not use subquery for
datasets that don't join (jeremyevans)
* Deprecate hash_aliases extension (jeremyevans)
* Deprecate filter_having extension (jeremyevans)
* Deprecate empty_array_ignore_nulls extension (jeremyevans)
* Deprecate Array#sql_array in the core_extensions extension (jeremyevans)
* Make validation_helpers plugin :allow_blank option work correctly when the
blank extension is not loaded (jeremyevans)
* Make validation_class_methods plugin no longer require the blank extension
(jeremyevans)
* Clear cached associations when touching associations in the touch plugin
(jeremyevans)
* Make pg_array_associations model plugin load pg_array extension into
database (jeremyevans)
* Remove support for :strict option in nested_attributes plugin, use
:unmatched_pk option instead (jeremyevans)
* Make to_json class/dataset method in json_serializer plugin accept
:instance_block option to pass block to Model#to_json (jeremyevans)
* Make to_json methods in json_serializer plugin accept blocks that are used
to transform values before serializing to JSON (jeremyevans)
* Make Sequel.object_to_json pass block to #to_json (jeremyevans)
* Deprecate identifier_columns plugin, not needed with Sequel.split_symbols =
false (jeremyevans)
* Make reloading column_conflicts plugin not remove existing conflict markings
(jeremyevans)
* Deprecate cti_base_model, cti_key, and cti_model_map class methods in
class_table_inheritance plugin (jeremyevans)
* Make Model.skip_auto_validations(:not_null) in the auto_validations plugin
skip not null checks for columns with default values (jeremyevans)
* Make Database#copy_into in jdbc/postgresql adapter respect :server option
(jeremyevans)
* Make #to_hash and #to_hash_groups handle options in the static_cache plugin,
and add rename #to_hash to #as_hash (jeremyevans)
* Rename Dataset#to_hash to #as_hash, and add #to_hash as an alias, to allow
undefing #to_hash to fix ruby calling it implicitly (jeremyevans) (#1375)
* Handle PG* constants deprecated in pg 0.21.0 in the postgres adapter
(jeremyevans) (#1377, #1378)
* Support :association_pks_use_associated_table association option in
association_pks plugin (jeremyevans)
* Make pg_hstore extension reset hstore conversion proc when running
Database#reset_conversion_procs (jeremyevans)
* Fix incorrect SQL used for inserting into a CTI subclass sharing the primary
table when using the :alias option (jeremyevans)
0.4.7
* Adding support for MYSQL_ENABLE_CLEARTEXT_PLUGIN flag (#845)
* Avoid invalidating re-assigned socket fd by fixing connected check (#847)
* Wait for close to be processed by server in test for Threads_connected (#850)
* Fix flaky test that used Process.wait without specifying a pid (#849)
* Add a Mysql2::Client#closed? method (#796)
* Fix use after free of client field when closing with reconnect option (#846)
* Fix leaky test that caused a re-assigned socket to be closed on GC. (#853)
* Close several unclosed clients in tests (#848)
* Fix spec that expected Client#socket on all platforms, it's not available on
WIndows
* Docs: Fix link in readme (#854)
* English grammar: Fix incorrect use of word "deprecated" (#855)
* Minimal required changes to make it work for mariadb 10.2 (#857)
* Fix segfault for Mysql2::Statement#fields on non-SELECT queries
* Fix for name change of struct NET.vio to .pvio in MariaDB Connector/C 3.x.
* Fix for MariaDB 10.2 which does not define CLIENT_LONG_PASSWORD
* Add README section to discuss the special meaning of localhost
* Move the section for Multple Result Sets
* Update MySQL Connector/C version for Windows
* Change the quoting for unzipping MySQL Connector/C for Windows
0.4.8
* Add ifdefs for MySQL 5.1 without MYSQL_ENABLE_CLEARTEXT_PLUGIN
Upstream changes:
2017-06-29 Patrick Galbraith, Michiel Beijen, DBI/DBD community (4.043)
YOUR ATTENTION PLEASE, THIS IS A REVERT TO 4.041
This version is the same as 4.041 with all its bugs and
limitations. In version 4.042 there were some changes to Unicode handling
that turned out to be causing issues with existing implementations.
While it is possible to argue that the old behaviour was wrong and buggy,
lots of applications and scripts were depending on this behaviour so it
is NOT a good idea to change this.
There were lots of commits since 4.041, we'll add those back bit by bit
in a future release, excluding the ones which cause problems.
2017-??-?? Patrick Galbraith, Michiel Beijen, DBI/DBD community (4.042_01)
* Use Devel::CheckLib 1.09 or newer, fixes
https://github.com/perl5-dbi/DBD-mysql/issues/109
* Improve CI testing on AppVeyor: caching, path to cpan, configure deps (pali)
* Specify bigint as test dependency.
2017-03-08 Patrick Galbraith, Michiel Beijen, DBI/DBD community (4.042)
* Full release to include development releases 4.041_2 and 4.041_1.
2017-02-28 Patrick Galbraith, Michiel Beijen, DBI/DBD community (4.041_2)
* Statement handle now also has mysql_sock attribute, just as database handle.
(by Pali)
* Fix type conversions for magic types. Issue reported by Dmitriy Yatsenko and
Giovanni Bechis, fix by Pali.
https://lists.amavis.org/pipermail/amavis-users/2016-December/004674.htmlhttps://github.com/perl5-dbi/DBD-mysql/issues/78
* Fix UTF8-encoding of table names, field names, warnings and error messages.
Reported by Tanabe Yoshinori, fix by Pali.
https://rt.cpan.org/Public/Bug/Display.html?id=120141
* Fix mysql_auto_reconnect when using mysql_server_prepare (pali). Reported by
Vladimir Marek.
https://github.com/perl5-dbi/DBD-mysql/pull/95
* Improve regex for removing database from dsn (pali)
https://rt.cpan.org/Public/Bug/Display.html?id=118837
* Locate MySQL libs using Devel::CheckLib (pali)
* Support async on Windows (pali)
* Fix test suite on range of older and newer MySQL and MariaDB versions
(https://github.com/perl5-dbi/DBD-mysql/pull/87)
* Fix compilation on MySQL 4.1 (pali)
* Do not leak dangling pointer to mysql result (pali)
* Fix logic when assigning to variable bind_comment_placeholders (pali)
* mysql_fd() still returned file descriptor after closing connection.
Reported by Larry Leszczynski, fixed by Pali Roh獺r.
(https://rt.cpan.org/Public/Bug/Display.html?id=110983)
* Fix parsing configure libs from mysql_config --libs output in Makefile.PL
Libraries in mysql_config --libs output can be specified by library name
with the -l prefix or by absolute path to library name without any prefix.
Parameters must start with a hyphen, so treat all options without leading
hyphen in mysql_config --libs output as libraries with full path.
Partially fixes bug https://rt.cpan.org/Public/Bug/Display.html?id=100898
Fix by Pali Roh獺r.
* Fix support for magic scalars (pali)
(https://github.com/perl5-dbi/DBD-mysql/pull/76)
2016-12-12 Patrick Galbraith, Michiel Beijen, DBI/DBD community (4.041_1)
* Unicode fixes: when using mysql_enable_utf8 or mysql_enable_utf8mb4,
previous versions of DBD::mysql did not properly encode input statements
to UTF-8 and retrieved columns were always UTF-8 decoded regardless of the
column charset.
Fix by Pali Roh獺r.
Reported and feedback on fix by Marc Lehmann
(https://rt.cpan.org/Public/Bug/Display.html?id=87428)
Also, the UTF-8 flag was not set for decoded data:
(https://rt.cpan.org/Public/Bug/Display.html?id=53130)
* Return INTs with ZEROFILL as strings. Reported by Knarf, fix by Pali Roh獺r.
(https://rt.cpan.org/Public/Bug/Display.html?id=118977)
=== Enhancements
Core::
* Explicitly reject duplicate data paths
Packaging::
* Set number of processes in systemd unit file
=== Bug fixes
Aggregations::
* Terms aggregation should remap global ordinal buckets when a
* sub-aggregator is used to sort the terms
Analysis::
* PatternAnalyzer should lowercase wildcard queries when `lowercase`
* is true.
Circuit Breakers::
* Checks the circuit breaker before allocating bytes for a new big
* array
Geo::
* Fix GeoPoint FieldStats ternary logic bug
* Fix GeoDistance Ordinal for BWC
Index APIs::
* Rollover max docs should only count primaries
Nested Docs::
* Fix the `max` score mode.
Network::
* Ensure pending transport handlers are invoked for all channel
* failures
Packaging::
* When stopping via systemd only kill the JVM, not its control group
Suggesters::
* Fix context suggester to read values from keyword type field
orm
[orm] [bug] Fixed issue with subquery eagerloading which continues on from the series of issues fixed in 2699, 3106, 3893 involving that the “subquery” contains the correct FROM clause when beginning from a joined inheritance subclass and then subquery eager loading onto a relationship from the base class, while the query also includes criteria against the subclass. The fix in the previous tickets did not accommodate for additional subqueryload operations loading more deeply from the first level, so the fix has been further generalized.
sql
[sql] [bug] Fixed AttributeError which would occur in WithinGroup construct during an iteration of the structure.
postgresql
[postgresql] [bug] Continuing with the fix that correctly handles Postgresql version string “10devel” released in 1.1.8, an additional regexp bump to handle version strings of the form “10beta1”. While Postgresql now offers better ways to get this information, we are sticking w/ the regexp at least through 1.1.x for the least amount of risk to compatibility w/ older or alternate Postgresql databases.
[postgresql] [bug] Fixed bug where using ARRAY with a string type that features a collation would fail to produce the correct syntax within CREATE TABLE.
mysql
[mysql] [bug] MySQL 5.7 has introduced permission limiting for the “SHOW VARIABLES” command; the MySQL dialect will now handle when SHOW returns no row, in particular for the initial fetch of SQL_MODE, and will emit a warning that user permissions should be modified to allow the row to be present.
mssql
[mssql] [bug] Fixed bug where SQL Server transaction isolation must be fetched from a different view when using Azure data warehouse, the query is now attempted against both views and then a NotImplemented is raised unconditionally if failure continues to provide the best resiliency against future arbitrary API changes in new SQL Server versions.
[mssql] [bug] Added a placeholder type mssql.XML to the SQL Server dialect, so that a reflected table which includes this type can be re-rendered as a CREATE TABLE. The type has no special round-trip behavior nor does it currently support additional qualifying arguments.
oracle
[oracle] [bug] Support for two-phase transactions has been removed entirely for cx_Oracle when version 6.0b1 or later of the DBAPI is in use. The two- phase feature historically has never been usable under cx_Oracle 5.x in any case, and cx_Oracle 6.x has removed the connection-level “twophase” flag upon which this feature relied.
== v0.21.0 [2017-06-12] Michael Granger <ged@FaerieMUD.org>
Enhancements:
- Move add_dll_directory to the Runtime namespace for newest versions
of RubyInstaller.
- Deprecate PGconn, PGresult, and PGError top-level constants; a warning
will be output the first time one of them is used. They will be
removed in the upcoming 1.0 release.
Documentation fixes:
- Update the docs for PG::Result#cmd_tuples
Features
- Add Duration type to cqlengine
- Community PR review: Raise error on primary key update only if its
value changed
- get_query_trace() contract is ambiguous
Bug Fixes
- Queries using speculative execution policy timeout prematurely
- Fix map where results are not consumed
- Driver fails to encode Duration's with large values
- UDT values are not updated correctly in CQLEngine
- UDT types are not validated in CQLEngine
- to_python is not implemented for types columns.Type and columns.Date
in CQLEngine
- Clients spin infinitely trying to connect to a host that is drained
- Resulset.get_query_trace returns empty trace sometimes
- Memory grows and doesn't get removed
- Fix RuntimeError caused by change dict size during iteration
- fix ExponentialReconnectionPolicy may throw OverflowError problem
- Avoid using nonexistent prepared statement in ResponseFuture
Other
- Update README
- Test python versions 3.5 and 3.6
- Docs Warning About Prepare "select *"
- Increase Coverage in CqlEngine Test Suite
- Example SSL connection code does not verify server certificates
=== Enhancements
Aggregations::
- Allow scripted metric agg to access `_score`
Core::
- Improve bootstrap checks error messages
Internal::
- Log JVM arguments on startup
Network::
- Disable the Netty recycler in the client
- Remove Netty logging hack
- Set available processors for Netty
Snapshot/Restore::
- Ensure every repository has an incompatible-snapshots blob
Stats::
- Show JVM arguments
=== Bug fixes
Aggregations::
- Fix ArrayIndexOutOfBoundsException when no ranges are specified in
the query
Allocation::
- Discard stale node responses from async shard fetching
Core::
- Fix cache expire after access
Index APIs::
- Fix legacy GeoPointField decoding in FieldStats
- Validates updated settings on closed indices
Internal::
- Remove `_UNRELEASED` from Version constants for released versions
- Avoid race when shutting down controller processes
- Fix NPE if field caps request has a field that exists not in all
indices
More Like This::
- Pass over _routing value with more_like_this items to be retrieved
Network::
- Notify onConnectionClosed rather than onNodeDisconnect to prune
transport handlers
- SniffNodesSampler should close connection after handling responses
Packaging::
- Handle parentheses in batch file path
Percolator::
- Fix range queries with date range based on current time in
percolator queries.
Plugin Repository HDFS::
- Fixing permission errors for `KERBEROS` security mode for HDFS
Repository
Plugins::
- X-Pack plugin download fails on Windows desktop [ISSUE]
- Fix plugin installation permissions
Reindex API::
- Reindex: don't duplicate _source parameter
- Add qa module that tests reindex-from-remote against pre-5.0
versions of Elasticsearch
Scroll::
- Fix single shard scroll within a cluster with nodes in version `>=
5.3` and `<= 5.3`
Search::
- Fix ExpandSearchPhase when response contains no hits
- Include all aliases including non-filtering in `_search_shards`
response
Settings::
- Allow resetting settings that use an IP validator
Snapshot/Restore::
- Removes completed snapshot from cluster state on master change
- Fix inefficient (worst case exponential) loading of snapshot
repository
=== Upgrades
Core::
- Upgrade to Lucene 6.5.1
Network::
- Upgrade to Netty 4.1.11.Final
- Upgrade Netty to 4.1.10.Final
mongo-c-driver 1.6.3
- mongoc_client_pool_t did not apply all TLS options to pooled connections
- SNI wasn't provided when allow_invalid_hostname is set
mongo-c-driver 1.6.2
- This release further improves HP-UX compatibility, especially when building
with CMake, adds missing Windows SSPI files to the distribution tarball, and
fixes distribution issues we introduced when porting the documentation from
Mallard to Sphinx.
mongo-c-driver 1.6.1
- Correct the rules to parse localThresholdMS option from the MongoDB URI.
- Prevent crash in mongoc_cursor_destroy if "query" or "filter" are invalid.
- Include a file, mongoc-cluster-sspi.c, that had been omitted from the
release archive.
- Fix logic bugs in mongoc_bulk_operation_t validation code.
mongo-c-driver 1.6.0
- Enterprise authentication on Windows now uses the native GSSAPI library;
Cyrus SASL is no longer required for enterprise auth on Windows.
- BSON documents are more thoroughly validated before insert or update.
- New function mongoc_uri_set_mechanism_properties to replace all the
authMechanismProperties on an existing URI.
- mongoc_uri_get_mechanism_properties asserts its inputs are not NULL.
- For consistency with other MongoDB drivers, mongoc_collection_save is
deprecated in favor of mongoc_collection_insert or mongoc_collection_update.
- The driver is now built and continuously tested with MinGW-W64 on Windows.
- Experimental support for HPUX.
- The correct operation ids are now passed to Command Monitoring callbacks.
- Fix a crash if the driver couldn't connect to the server to create an index.
- The documentation is ported from Mallard XML to ReStructured Text, the
HTML documentation is restyled, and numerous man page syntax errors fixed.
- Getter functions for options in mongoc_find_and_modify_opts_t:
* mongoc_find_and_modify_opts_get_bypass_document_validation
* mongoc_find_and_modify_opts_get_fields
* mongoc_find_and_modify_opts_get_flags
* mongoc_find_and_modify_opts_get_max_time_ms
* mongoc_find_and_modify_opts_get_sort
* mongoc_find_and_modify_opts_get_update
- All public functions now have the __cdecl calling convention on Windows.
mongo-c-driver 1.5.5
- This release fixes bugs parsing the localThresholdMS option from the MongoDB
URI, and a crash in mongoc_cursor_destroy if "query" or "filter" are
invalid.
mongo-c-driver 1.5.4
- This release fixes an error in cursor iteration when a readConcern is set.
v3.0.3
- Sandbox won't start correctly if autocommit=0 in my.cnf
- pt-online-schema-change should imply --no-drop-new-table
- Fixed pt-mext not working with not empty Rsa_public_key
- pt-stalk ps include memory usage outputs
- Recognize comments in ALTER
- pt-online-schema change eats data on adding a unique index. Added
--[no]use-insert-ignore
- Make DSNs params able to be repeatable
- Made OptionParser to accept repeatable DSNs
- Collect MySQL variables
- Add --skip-check-slave-lag to pt-table-checksum
- Added --skip-check-slave-lag to pt-osc
- Added support for slave status in pt-stalk
v3.0.2
- pt-mongodb tools add support for SSL connections
- pt-mongodb-summary Cannot get security settings when connected to a
mongod instance
- pt-mongodb-query-digest Change the default sort order to -count
(descending)
- pt-mysql-summary password doesn't support '&' and '#' symbols
- Update Makefile for mongodb tools
- Collect information about locks and transactions using P_S (Thanks
Agustin Gallego)
- pt-stalk top CPU usage is useless
- Fix pt-mongodb-query-digest query ID (Thanks Kamil Dziedzic)
- pt-online-schema-change makes duplicate rows in _t_new for UPDATE t
set pk=0 where pk=1
- Fixed PT tests
- pt-table-checksum ignores slave-user and slave-password
- pt-table-checksum fails if a database is dropped while the tool is
running
v3.0
- Improved fix (protocol parser fix): error when parsing tcpdump
capture with pt-query-digest
- pt-osc: Fails with duplicate key in table for self-referencing
(Thanks Amiel Marqeta)
- pt-summary exists with an error (Thanks Marcelo Altmann)
- pt-mongodb-summary
- pt-mongodb-query-digest
v2.2.20
- pt-slave-restart fails on MariaDB 10.0.13 (gtid_mode confusion)
- pt-show-grants fails against MariaDB10+
- pt-query-digest numbers in table or column names converted to
question marks (--preserve-embedded-numbers)
- pt-online-schema-change misses data. Fixed sort order for ENUM
fields
- pt-online-schema-change doesn't apply underscores to foreign keys
individually
- pt-upgrade fails with SELECT INTO
- pt-slave-restart --config does not recognize = as separator
- Added pause to NibbleIterator
- --data-dir parameter in order to create the table on a different
partition
- with pt-table-checksum automatically exclude checking schemas named
percona, percona_schema
- pt-online-schema-change Added --remove-data-dir feature
- Fixed several typos in the doc (Thanks Dario Minnucci)
- Add Transparent huge pages info to pt-summary
- Add Memory management library to pt-mysql-summary
Also some minor pkglint
Build 122 (2017-02-04)
Enhancements
Conditional execution of Workbench commands now support -isDBMS and -isNotDBMS
Added basic support for EXAsol
Added support for SSH tunneling per connection profile
When loading a SQL script it's now possible to automatically detect the encoding
It's now possible to filter the output of WbVarList
It's now possible to pin a result tab so that it doesn't get closed even if append mode is not enabled
WbExport, WbImport, WbCopy and WbConfirm now support conditional execution
WbTriggerSource now also supports writing the source to a file
For Postgres, dependencies between triggers and tables are no shown in the DbExplorer and DbTree
For Postgres, functions defined as "returns setof refcursor" are now processed correctly when using "select * from function()"
For Postgres, it's now possible to import values into array columns if the source data is formatted as a Postgres array literal (WbImport and WbCopy)
A new annotation (@WbCrossTab) is available to create simple crosstabs (aka "pivot") from query results.
Improved editing of Postgres' hstore result columns.
For SQL Server, the object dependencies now include named default constraints and custom data types
Bug fixes
For Oracle the DDL for tables using reference partitioning was not generated correctly
In batch mode when specifying a connection profile using -profile, the setting to ignore drop errors from the profile was ignored
The width of the DbTree was limited if the DbExplorer panel was also displayed
For HSQLDB, BIT columns were not displayed correctly.
For Oracle, the DEDUPLICATION option was not shown for LOB columns
Auto completion did not overwrite a partial table (or column) name if that part was a SQL keyword.
Activating the object list filter in the DbExplorer by using the toolbar button did not work reliably.
Passing connection properties using -connectionProperties to WbCreateProfile did not work
When using a profile specific macro file, opening a new window did not always work.
When using an Oracle 12.x JDBC driver, materialized views were always reported as missing with WbSchemaDiff
It was no longer possible to select "As Is" for the built-in SQL formatter
Several features in the DbExplorer did not work for Amazon Redshift
Feedback from connect scripts was not always shown in the message tab
Error messages were not shown for errors that occurred in connect scripts
For Postgres, the remarks for indexes were not retrieved correctly if indexes with the same name existed in different schemas
The formatter did not treat the := operator properly for MySQL
For Postgres, the source of a table was not shown when an old (unsupported) version of Postgres was used
For SQL Server (and other DBMS supporting schemas and catalogs) the list of schemas was not properly refreshed when the database was changed in the DbExplorer's dropdowns
For Oracle, value literals for RAW columns where not created correctly
For Oracle, -clobAsFile for WbExport was not working for XML columns
For Oracle, overloaded procedures inside packages where no longer displayed.
For SQL Server, the source of procedures, functions and triggers was not displayed correctly in the DbExplorer for databases other then the default database of the connection.
When using -configDir in console mode the connection profiles were still loaded from the default location.
For Postgres, when generating scripts for tables and sequences the owner column for a sequence was not correctly generated.
Build 121 (2016-07-31)
Bug fixes
Some DDL statements were not generated properly when changing tables or indexes in the DbExplorer
For Oracle, columns defined as TIMESTAMP WITH TIME ZONE or TIMESTAMP WITH LOCAL TIMEZONE where not displayed correctly
It was no longer possible to use a timestamp format without time for WbImport
When loading a new macro file, the macro menu was not updated.