== 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.
Override INSTALL script to make sure owner/group args do not leak
into the binary packages. Fixes problems with building software
manually against binary postgresql*-client packages built under an
unprivileged setup. Bump respective PKGREVISION.
=== 4.47.0 (2017-06-01)
* Deprecate pg_typecast_on_load plugin, only useful on deprecated do and swift
adapters (jeremyevans)
* Deprecate association_autoreloading and many_to_one_pk_lookup plugins, which
were made the default model behavior in Sequel 4 (jeremyevans)
* Deprecate setting invalid datasets for models unless required_valid_table =
false (jeremyevans)
* Make Model.require_valid_table = true not raise for datasets where
Database#schema raises an error but Dataset#columns works (jeremyevans)
* Make Database#with_server in the server_block extension accept a second
argument for a different read_only shard (jeremyevans) (#1355)
* Make schema_dumper extension handle Oracle 11g XE inclusion of not null in
the db_type (StevenCregan, jeremyevans) (#1351)
* Add Model.default_association_type_options for changing default association
options per association type (jeremyevans)
* Add :materialized option to Database#views on PostgreSQL to return
materialized views (Blargel) (#1348)
* Make defaults_setter plugin inherit custom default values when subclassing
(jeremyevans)
=== 4.46.0 (2017-05-01)
* Recognize additional disconnect error on MySQL (jeremyevans)
* Deconstantize dataset SQL generation, speeding up ruby 2.3+, slowing down
earlier versions (jeremyevans)
* Deprecate calling Dataset#set_graph_aliases before Dataset#graph
(jeremyevans)
* Don't swallow exception if there is an exception when rolling back a
transaction when using :rollback=>:always option (jeremyevans)
* Deprecate passing 2 arguments to Database#alter_table (jeremyevans)
* Deprecate passing Schema::CreateTableGenerator instance as second argument
to Database#create_table (jeremyevans)
* Deprecate Database::DatasetClass as a way for getting default dataset
classes for datasets (jeremyevans)
* Deprecate SQLite pragma getting and setting methods (jeremyevans)
* Remove handling of EMULATED_FUNCTION_MAP from adapter dataset classes,
overide Dataset#native_function_name instead (jeremyevans)
* Deprecate {Integer,Timestamp}Migrator::DEFAULT_SCHEMA_{COLUMN,TABLE}
(jeremyevans)
* Deprecate Database#jdbc_* methods for jdbc/db2 adapter Database instances
(jeremyevans)
* Remove addition of Database#jdbc_* to JDBC::Database in jdbc/db2 adapter
(jeremyevans)
* Deprecate many internal Database and Dataset string/regexp constants in core
and included adapters (jeremyevans)
* Remove use of Fixnum in sqlanywhere shared adapter (jeremyevans)
* Deprecate Sequel::Schema::Generator constant, use
Sequel::Schema::CreateTableGenerator instead (jeremyevans)
* Deprecate Database#log_yield (jeremyevans)
* Deprecate the set_overrides extension (jeremyevans)
* If passing an empty array or hash and a block to a filtering method, ignore
the array or hash and just use the block (jeremyevans)
* Deprecate ignoring explicit nil argument when there is no existing filter
(jeremyevans)
* Deprecate ignoring explicit nil argument to filtering methods when passing a
block (jeremyevans)
* Deprecate ignoring empty strings and other empty? arguments passed to the
filtering methods without a block (jeremyevans)
* Deprecate calling filtering methods without an argument or a block
(jeremyevans)
* Deprecate Sequel::VirtualRow#` to create literal SQL, use Sequel.lit instead
(jeremyevans)
* Add auto_literal_strings extensions for treating plain strings passed to
filtering/update methods as literal SQL (jeremyevans)
* Deprecate automatically treating plain strings passed to filtering/update
methods as literal SQL (jeremyevans)
* Passing a PlaceholderLiteralString to a filtering method now uses
parentheses around the expression (jeremyevans)
* Make Dataset#full_text_search work on Microsoft SQL Server when
no_auto_literal_strings extension is used (jeremyevans)
* Fix Database#disconnect when using the single connection pool without an
active connection (jeremyevans) (#1339)
* Handle conversion of datetimeoffset values when using the jdbc/sqlserver
adapter in some configurations (iaddict, jeremyevans) (#1338)
* Fix conversion of some time values when using the jdbc/sqlserver adapter in
some configurations (iaddict, jeremyevans) (#1337)
* Use microsecond precision for time values on Microsoft SQL Server, instead
of millisecond precision (jeremyevans)
* Add Dataset#sqltime_precision private method for adapters to use different
precision for Sequel::SQLTime than Time and Date (jeremyevans)
* Use utc timezone in Sequel::SQLTime.create if Sequel.application_timezone is
:utc (jeremyevans) (#1336)
* Include migration filename in message about migration file without a single
migration (jmettraux) (#1334)
* Deprecate conversion of - to _ in adapter schemes (jeremyevans)
* Don't quote function names that are SQL::Identifiers, unless
SQL::Function#quoted is used (jeremyevans)
* Deprecate splitting virtual row method names (jeremyevans)
* Deprecate passing blocks to virtual row methods, move to
virtual_row_method_block extension (jeremyevans)
* Deprecate Sequel::SQL::Expression#sql_literal and #lit (jeremyevans)
* Don't issue deprecation warnings on ruby 1.8.7, as Sequel 5 is dropping
support for it (jeremyevans)
* Deprecate Sequel::BasicObject#remove_methods! (jeremyevans)
* Deprecate sequel/no_core_ext file (jeremyevans)
* Deprecate model dataset #insert_sql accepting model instances (jeremyevans)
* Deprecate model dataset #join_table and #graph accepting model classes
(jeremyevans)
* Support :alias option to class_table_inheritance plugin, wrapping subclass
datasets in a subquery to fix ambiguous column issues (jeremyevans)
* Deprecate Model.set_allowed_columns and
Model#{set_all,set_only,update_all,update_only}, move to whitelist security
plugin (jeremyevans)
* Do not raise MassAssignmentRestriction when setting nested attributes and
using the :fields option, only check for fields given (jeremyevans)
* Do not add class methods for private methods definined in dataset_module
(jeremyevans)
* Deprecate Model.def_dataset_method and Model.subset, move to
def_dataset_method plugin (jeremyevans)
* Deprecate Model.finder and Model.prepared_finder, move to finder plugin
(jeremyevans)
* Deprecate calling Model.db= on a model with a dataset (jeremyevans)
* Deprecate splitting symbols to look for qualified/aliased identifiers
(e.g. :table__column) (jeremyevans)
* Allow optimized lookups and deletes for models using SQL::Identifier and
SQL::QualifiedIdentifier values as the FROM table (jeremyevans)
0.4.6 2017/5/4
New Features
None.
Bugfixes
* Mysql2::Error: This connection is still waiting for a result, try again once
you have the result (#772)
* Handle being terminated while reading query result (#811 )
* Fix segfault on SIGINT race condition (#816, #813)
* Better error messages when the connection options have errors (#831)
Changes
* Use bool instead of my_bool which has been removed since MySQL 8.0.1 (#840,
#838)
* Reminder for Mac users to install xcode-select (#832)
* Update Travis CI and AppVeyor matrix (#820, #819, #812)
* Update Travis CI for MySQL 8.0 tests (#818, #817)
Added slapd support for OpenSSL 1.1.0 series (ITS-8353, ITS-8533, ITS-8634)
Fixed libldap to fail ldap_result if the handle is already bad (ITS-8585)
Fixed libldap to expose error if user specified CA doesn't exist (ITS-8529)
Fixed libldap handling of Diffie-Hellman parameters (ITS-7506)
Fixed libldap GnuTLS use after free (ITS-8385)
Fixed libldap SASL initialization (ITS-8648)
Fixed slapd bconfig rDN escape handling (ITS-8574)
Fixed slapd segfault with invalid hostname (ITS-8631)
Fixed slapd sasl SEGV rebind in same session (ITS-8568)
Fixed slapd syncrepl filter handling (ITS-8413)
Fixed slapd syncrepl infinite looping mods with delta-sync MMR (ITS-8432)
Fixed slapd callback struct so older modules without writewait should function.
Custom modules may need to be updated for sc_writewait callback (ITS-8435)
Fixed slapd-ldap/meta broken LDAP_TAILQ macro (ITS-8576)
Fixed slapd-mdb so it passes ITS6794 regression test (ITS-6794)
Fixed slapd-mdb double free with size zero paged result (ITS-8655)
Fixed slapd-meta uninitialized diagnostic message (ITS-8442)
Fixed slapo-accesslog to honor pauses during purge for cn=config update (ITS-8423)
Fixed slapo-accesslog with multiple modifications to the same attribute (ITS-6545)
Fixed slapo-relay to correctly initialize sc_writewait (ITS-8428)
Fixed slapo-sssvlv double free (ITS-8592)
Fixed slapo-unique with empty modifications (ITS-8266)
Build Environment
Added test065 for proxyauthz (ITS-8571)
Fix test008 to be portable (ITS-8414)
Fix test064 to wait for slapd to start (ITS-8644)
Fix its4336 regression test (ITS-8534)
Fix its4337 regression test (ITS-8535)
Fix regression tests to execute on all backends (ITS-8539)
Contrib
Added slapo-autogroup(5) man page (ITS-8569)
Added passwd missing conversion scripts for apr1 (ITS-6826)
Fixed contrib modules where the writewait callback was not correctly initialized (ITS-8435)
Fixed smbk5pwd to build with newer OpenSSL releases (ITS-8525)
Documentation
admin24 fixed tls_cipher_suite bindconf option (ITS-8099)
admin24 fixed typo cn=config to be slapd.d (ITS-8449)
admin24 fixed slapo-syncprov information to be curent (ITS-8253)
admin24 fixed typo in access control docs (ITS-7341, ITS-8391)
admin24 fixed minor typo in tuning guide (ITS-8499)
admin24 fixed information about the limits option (ITS-7700)
admin24 fixed missing options for syncrepl configuration (ITS-7700)
admin24 fixed accesslog documentation to note it should not be replicated (ITS-8344)
Fixed ldap.conf(5) missing information on SASL_NOCANON option (ITS-7177)
Fixed ldapsearch(1) information on the V[V] flag behavior (ITS-7177, ITS-6339)
Fixed slapd-config(5), slapd.conf(5) clarification on interval keyword for refreshAndPersist (ITS-8538)
Fixed slapd-config(5), slapd.conf(5) clarify serverID requirements (ITS-8635)
Fixed slapd-config(5), slapd.conf(5) clarification on loglevel settings (ITS-8123)
Fixed slapo-ppolicy(5) to clearly note rootdn requirement (ITS-8565)
Fixed slapo-memberof(5) to note it is not safe to use with replication (ITS-8613)
Fixed slapo-syncprov(5) documentation to be current (ITS-8253)
Fixed slapadd(8) manpage to note slapd-mdb (ITS-8215)
Fixed various minor grammar issues in the man pages (ITS-8544)
Fixed various typos (ITS-8587)
Fix more bugs in the LEFT JOIN flattening optimization. Ticket 7fde638e94287d2c.
Changes carried forward from version 3.19.1 (2017-05-24):
Fix a bug in the LEFT JOIN flattening optimization. Ticket cad1ab4cb7b0fc.
Remove a surplus semicolon that was causing problems for older versions of MSVC.
* Disable PaX MPROTECT for bin/mongo
Changelog:
3.4.4 – Apr 21, 2017
Issues fixed:
SERVER-18794: Add an aggregation operator $objectToArray to convert an object to an array of key, value pairs.
SERVER-23310: Add an aggregation operator $arrayToObject to convert an array of pairs to an object.
SERVER-22611: ChunkManager refresh can occasionally cause a full reload.
3.4.4 Changelog
All JIRA issues closed in 3.4.4
3.4.3 – Mar 28, 2017
Issues fixed:
SERVER-27863: Reschedule firing of early alarms in NetworkInterfaceASIO to avoid mongos crash.
SERVER-28017: $ne should respect collection’s default collation.
SERVER-27700: Improve WiredTiger performance on secondary when cache is full.
3.4.3 Changelog
All JIRA issues closed in 3.4.3
3.4.2 – Feb 1, 2017
Issues fixed:
SERVER-27125: Arbiters in pv1 should vote no in elections if they can see a healthy primary of equal or greater priority to the candidate.
SERVER-27584 Add support for filter to listDatabases
WT-2670 Inefficient I/O when read full DB (poor readahead)
3.4.2 Changelog
All JIRA issues closed in 3.4.2
3.4.1 – Dec 20, 2016
Issues fixed:
SERVER-27124: Disallow readConcern: majority reads on replica set protocolVersion 0 (pv0).
SERVER-27201: $graphLookup triggers null pointer dereference.
SERVER-27207: Find operation with a sort on a view via mongos may incorrectly return empty result set.
SERVER-27213: Two $match pipeline stages can combine incorrectly to produce incorrect results.
3.4.1 Changelog
All JIRA issues closed in 3.4.1
Version 3.6.2 Released May 23, 2017 (git tag 3.6.2)
- Remove errant debugging aid from test suite
Version 3.6.1 Released May 22, 2017 (git tag 3.6.1)
- Various fixes to support testing against Postgres 10beta
[David Christensen]
---------------------
The SQLITE_READ authorizer callback is invoked once with a column name that is an empty string for every table referenced in a query from which no columns are extracted.
When using an index on an expression, try to use expression values already available in the index, rather than loading the original columns and recomputing the expression.
Enhance the flattening optimization so that it is able to flatten views on the right-hand side of a LEFT JOIN.
Use replace() instead of char() for escaping newline and carriage-return characters embedded in strings in the .dump output from the command-line shell.
Avoid unnecessary foreign key processing in UPDATE statements that do not touch the columns that are constrained by the foreign keys.
On a DISTINCT query that uses an index, try to skip ahead to the next distinct entry using the index rather than stepping through rows, when an appropriate index is available.
Avoid unnecessary invalidation of sqlite3_blob handles when making changes to unrelated tables.
Transfer any terms of the HAVING clause that use only columns mentioned in the GROUP BY clause over to the WHERE clause for faster processing.
Reuse the same materialization of a VIEW if that VIEW appears more than once in the same query.
Enhance PRAGMA integrity_check so that it identifies tables that have two or more rows with the same rowid.
Enhance the FTS5 query syntax so that column filters may be applied to arbitrary expressions.
Enhance the json_extract() function to cache and reuse parses of JSON input text.
Added the anycollseq.c loadable extension that allows a generic SQLite database connection to read a schema that contains unknown and/or application-specific collating sequences.
Bug Fixes:
----------
Fix a problem in REPLACE that can result in a corrupt database containing two or more rows with the same rowid.
Fix a problem in PRAGMA integrity_check that was causing a subsequent VACUUM to behave suboptimally.
Fix the PRAGMA foreign_key_check command so that it works correctly with foreign keys on WITHOUT ROWID tables.
Disallow leading zeros in numeric constants in JSON.
Disallow control characters inside of strings in JSON.
Limit the depth of recursion for JSON objects and arrays in order to avoid excess stack usage in the recursive descent parser.
=== Breaking changes
Settings::
- Remove support for default settings
=== Breaking Java changes
Aggregations::
- Move getProperty method out of MultiBucketsAggregation.Bucket
interface
- Remove getProperty method from Aggregations interface and impl
- Move getProperty method out of Aggregation interface
Java API::
- Fold InternalSearchHits and friends into their interfaces
=== Deprecations
Aggregations::
- Deprecate Stats#getCountAsString
Java API::
- Add BulkProcessor methods with XContentType parameter
Network::
- Deprecate Netty 3
Packaging::
- Add deprecation warnings for $ES_USER and $ES_GROUP
Plugin Delete By Query::
- Deprecate delete_by_query requests without an explicit query
Plugin Repository Azure::
- Deprecate global `repositories.azure` settings
Plugin Repository S3::
- Deprecate repositories.s3 settings
REST::
- Deprecate ldjson support and document ndjson for bulk/msearch
Stats::
- Deprecate `_field_stats` endpoint
=== New features
Analysis::
- Adds pattern keyword marker filter support
- Expose WordDelimiterGraphTokenFilter
Index APIs::
- Add FieldCapabilities (`_field_caps`) API
Search::
- Introduce incremental reduction of TopDocs
Similarities::
- Adds boolean similarity to Elasticsearch
=== Enhancements
Aggregations::
- Add BucketMetricValue interface
- Move aggs CommonFields and TYPED_KEYS_DELIMITER from
InternalAggregation to Aggregation
- Use ParseField for aggs CommonFields rather than String
- Share XContent rendering code in terms aggs
- Add unit tests for ParentToChildAggregator
- First step towards incremental reduction of query responses
Allocation::
- Trigger replica recovery restarts by master when primary relocation
completes
- Makes the same_shard host dynamically updatable
Analysis::
- Support Keyword type in Analyze API
Cluster::
- Prevent nodes from joining if newer indices exist in the cluster
Core::
- Detect remnants of path.data/default.path.data bug
- Await termination after shutting down executors
- Add early-access check
- Adapter action future should restore interrupts
- Disable bootstrap checks for single-node discovery
- Enable explicitly enforcing bootstrap checks
- Add equals/hashcode method to ReplicationResponse
Dates::
- Improve error handling for epoch format parser with time zone
(#22621)
Discovery::
- Introduce single-node discovery
- UnicastZenPing shouldn't ping the address of the local node
- MasterFaultDetection can start after the initial cluster state has
been processed
Highlighting::
- Add support for fragment_length in the unified highlighter
- Add BreakIteratorBoundaryScanner support
Index APIs::
- Wildcard cluster names for cross cluster search
Ingest::
- Lazy load the geoip databases
Internal::
- Add a dedicated TransportRemoteInfoAction for consistency
- Simplify sorted top docs merging in SearchPhaseController
- Synchronized CollapseTopFieldDocs with lucenes relatives
- Cleanup SearchPhaseController interface
- Do not create String instances in 'Strings' methods accepting
StringBuilder
Java API::
- Added types options to DeleteByQueryRequest
Java High Level REST Client::
- Convert suggestion response parsing to use NamedXContentRegistry
- UpdateRequest implements ToXContent
- Add javadoc for DocWriteResponse.Builders
- Expose WriteRequest.RefreshPolicy string representation
- Use `typed_keys` parameter to prefix suggester names by type in
search responses
- Add parsing methods to BulkItemResponse
Logging::
- Warn on not enough masters during election
Mapping::
- Improve error message for ipv6 on legacy ip fields
Nested Docs::
- Avoid adding unnecessary nested filters when ranges are used.
Network::
- Adjust default Netty receive predictor size to 64k
- Keep the pipeline handler queue small initially
- Set network receive predictor size to 32kb
- TransportService.connectToNode should validate remote node ID
Packaging::
- Introduce Java version check
- Cleanup some things after removal of joda-time hack
Percolator::
- Allowing range queries with now ranges inside percolator queries
- Add term extraction support for MultiPhraseQuery
Plugin Discovery EC2::
- Settings: Migrate ec2 discovery sensitive settings to elasticsearch
keystore
Plugin Lang Painless::
- Allow painless to load stored fields
- Start on custom whitelists for Painless
- Fix Painless's implementation of interfaces returning primitives
- Allow painless to implement more interfaces
Plugin Repository Azure::
- Add Backoff policy to azure repository
Plugin Repository S3::
- Removes the retry mechanism from the S3 blob store
- S3 Repository: Eagerly load static settings
Plugins::
- Modify permissions dialog for plugins
- Plugins: Add plugin cli specific exit codes
- Plugins: Output better error message when existing plugin is
incompatible
Query DSL::
- Make it possible to validate a query on all shards instead of a
single random shard
REST::
- Validate top-level keys when parsing mget requests
- Cluster stats should not render empty http/transport types
- Add parameter to prefix aggs name with type in search responses
Search::
- Set shard count limit to unlimited
- Streamline shard index availability in all SearchPhaseResults
- Search took time should use a relative clock
- Prevent negative `from` parameter in SearchSourceBuilder
- Remove unnecessary result sorting in SearchPhaseController
- Expose `batched_reduce_size` via `_search`
- Adding fromXContent to Suggest and Suggestion class
- Adding fromXContent to Suggestion.Entry and subclasses
- Add CollapseSearchPhase as a successor for the FetchSearchPhase
- Integrate IndexOrDocValuesQuery.
- Detach SearchPhases from AbstractSearchAsyncAction
- Fix GraphQuery expectation after Lucene upgrade to 6.5
- Nested queries should avoid adding unnecessary filters when
possible.
- Add xcontent parsing to completion suggestion option
- Add xcontent parsing to suggestion options
- Separate reduce (aggs, suggest and profile) from merging fetched
hits
Settings::
- Add secure file setting to keystore
- Add a setting which specifies a list of setting
- Add a property to mark setting as final
- Remove obsolete index setting `index.version.minimum_compatible`.
- Provide a method to retrieve a closeable char[] from a SecureString
- Update indices settings api to support CBOR and SMILE format
- Improve setting deprecation message
Snapshot/Restore::
- Change snapshot status error to use generic SnapshotException
Stats::
- Add cross-cluster search remote cluster info API
Task Manager::
- Allow task to be unregistered by ClusterStateApplier
- Limit IndexRequest toString() length
=== Bug fixes
Aggregations::
- Align behavior HDR percentiles iterator with percentile() method
- The `filter` and `significant_terms` aggregations should parse the
`filter` as a filter, not a query.
- Completion suggestion should also consider text if prefix/regex is
missing
- Fixes the per term error in the terms aggregation
- Fixes terms error count for multiple reduce phases
- Restore support for the `include/pattern` syntax.
Bulk::
- Reject empty IDs
CRUD::
- Fix backport executing ops as single item bulk
Cluster::
- Don't set local node on cluster state used for node join validation
- Allow a cluster state applier to create an observer and wait for a
better state
- Cluster allocation explain to never return empty response body
Core::
- Check for default.path.data included in path.data
- Improve performance of extracting warning value
- Reject duplicate settings on the command line
- Restrict build info loading to ES jar, not any jar
Discovery::
- ZenDiscovery - only validate min_master_nodes values if local node
is master
Index APIs::
- Fixes restore of a shrunken index when initial recovery node is gone
- Honor update request timeout
Ingest::
- Improve missing ingest processor error
- update _ingest.timestamp to use new ZonedDateTime
Inner Hits::
- Replace NestedChildrenQuery with ParentChildrenBlockJoinQuery
- Changed DisMaxQueryBuilder to extract inner hits from leaf queries
Internal::
- Add infrastructure to mark contexts as system contexts
- Always restore the ThreadContext for operations delayed due to a
block
Java High Level REST Client::
- Correctly parse BulkItemResponse.Failure's status
Java REST Client::
- Make buffer limit configurable in HeapBufferedConsumerFactory
- RestClient asynchronous execution should not throw exceptions
Mapping::
- Preserve response headers when creating an index
- Improves disabled fielddata error message
- Switch include_in_all in multifield to warning
- Fix MapperService StackOverflowError
- Fix NPE with scaled floats stats when field is not indexed
Network::
- Fix possible hang in local transport when nodes get concurrently
disconnected
- Respect promises on pipelined responses
- Ensure that releasing listener is called
Packaging::
- Fall back to non-atomic move when removing plugins
Percolator::
- Fix memory leak when percolator uses bitset or field data cache
Plugin Ingest Attachment::
- Remove support for Visio and potm files
Plugin Lang Painless::
- Fix painless's regex lexer and error messages
- Replace Painless's Cast with casting strategies
- Fix Bad Casts In Painless
Plugin Repository Azure::
- Azure blob store's readBlob() method first checks if the blob exists
Plugin Repository S3::
- Handle BlobPath's trailing separator case. Add test cases to
BlobPathTests.java
Plugins::
- Fix delete of plugin directory on remove plugin
- Use a marker file when removing a plugin
Query DSL::
- FuzzyQueryBuilder should error when parsing array of values
REST::
- [API] change wait_for_completion default according to docs
- Deprecate request_cache for clear-cache
- HTTP transport stashes the ThreadContext instead of the
RestController
- Ensure we try to autodetect content type for handlers that support
plain text
- Fix date format in warning headers
- Align REST specs for HEAD requests
- Correct warning header to be compliant
- Fix get HEAD requests
- Fix search scroll request with a plain text body
- Handle bad HTTP requests
- Fix get source HEAD requests
- Properly encode location header
- Fix template HEAD requests
- Fix index HEAD requests
- Fix alias HEAD requests
Recovery::
- Provide target allocation id as part of start recovery request
Reindex API::
- Fix throttled reindex_from_remote
- Fix reindex with a remote source on a version before 2.0.0
- Make reindex wait for cleanup before responding
Scripting::
- Remove unnecessary Groovy deprecation logging
- Convert script/template objects to json format internally
- Script: Fix value of `ctx._now` to be current epoch time in
milliseconds
Search::
- Cross Cluster Search: propagate original indices per cluster
- Query string default field
- Speed up parsing of large `terms` queries.
- IndicesQueryCache should delegate the scorerSupplier method.
- Fork LRUQueryCache from Lucene to work around LUCENE-7749
- Disable graph analysis at query time for shingle and cjk filters
producing tokens of different size
- Fix cross-cluster remote node gateway attributes
- Use a fixed seed for computing term hashCode in TermsSliceQuery
- Honor max concurrent searches in multi-search
- Avoid stack overflow in multi-search
- Fix query_string_query to transform "foo:*" in an exists query on
the field name
- Factor out filling of TopDocs in SearchPhaseController
- Replace blocking calls in ExpandCollapseSearchResponseListener by
asynchronous requests
Search Templates::
- No longer add illegal content type option to stored search templates
Settings::
- Do not set path.data in environment if not set
- Correct handling of default and array settings
- Fix merge scheduler config settings
- Settings: Fix keystore cli prompting for yes/no to handle console
returning null
Similarities::
- Fix similarity upgrade when "default" similarity is overridden
Snapshot/Restore::
- Fixes maintaining the shards a snapshot is waiting on
- Fixes snapshot status on failed snapshots
- Fixes snapshot deletion handling on in-progress snapshot failure
- Prioritize listing index-N blobs over index.latest in reading
snapshots
Stats::
- Avoid overflow when computing total FS stats
- Handle existence of cgroup version 2 hierarchy
- Handle long overflow when adding paths' totals
- Fix control group pattern
- Fix total disk bytes returning negative value
=== Regressions
Bulk::
- Fix _bulk response when it can't create an index
=== Upgrades
Aggregations::
- Upgrade HDRHistogram to 2.1.9
Core::
- Upgrade to Lucene 6.5.0
- Upgrade from JNA 4.2.2 to JNA 4.4.0
- Upgrade to lucene-6.5.0-snapshot-d00c5ca
- Upgrade to lucene-6.5.0-snapshot-f919485.
Logging::
- Upgrade to Log4j 2.8.2
Network::
- Upgrade to Netty 4.1.9
- Upgrade to Netty 4.1.8
Plugin Repository Azure::
- Update to Azure Storage 5.0.0
- Remove the playhouse.fields.AESEncryptedField over security concerns
described in ticket #1264.
- Correctly resolve explicit table dependencies when creating tables, refs
- Implement not equals comparison for CompositeKey.
leading and trailing spaces in server name don’t raise exception anymore - DitContentRule is properly read from the schema - added validator for Active Directory timestamp - Mock strategies raise an exception if a non-bytes value is added to the schema when no offline schema is provided (str and int are automatically converted) - added custom_validators property to Mock strategies - modifying objectClass with bytes values doesn’t raise an exception anymore (but it may fail anyway because of server constraints) - ensure that config sequence parameters are properly set - allow case insensitive attribute and class names in config parameters - added server.schema.is_valid() to check if the schema is available - empty schema properties are set to empty dict() instead of None - schema definitions with traling and leading spaces are now properly parsed and don’t raise an LDAPSchemaError exception anymore - fixed error when flaky servers (OpenLDAP) don’t return the correct response with StartTls
abstraction layer query converts int values to string (thanks dgadmin)
CaseInsensitiveDictWithAlias doesn’t raise an exception anymore if alias is set multiple times to the same key
friendly names in AttrDef are properly managed when performing commits in Writer cursors
no more errors when server returns an empty schema (thanks Glen)
range attributes in entries are properly recognized when auto_range is False
fixed random errors in auto_range searches (thanks James)
fixed checking of malformed schema
added configuration parameter IGNORE_MALFORMED_SCHEMA to not raise exception for servers that don’t follow the LDAP RFCs (defaults to False)
test config moved to test/config.py
testcase_id generated randomly for each test
added ATTRIBUTES_EXCLUDED_FROM_OBJECT_DEF parmeter to exclude some attribute from automatic populate of ObjectDef in Abstract Layer (helpful for AD)
added IGNORED_MANDATORY_ATTRIBUTES_IN_OBJECT_DEF parmeter to exclude some attribute from mandatory attribute list in ObjectDef in Abstract Layer (helpful for AD)
fixed error when using implicit assigning in WritableEntry
added LDAPInvalidValueError Exception
in Python 3 byte filter are converted to unicode before parsing
RESPONSE_DN_ENCODING parameter renamed to ADDITIONAL_ENCODINGS
to_unicode(value, encoding=None, additional_encodings=False) now checks for additional encoodings in ADDITIONAL_ENCODINGS list if additional_encoding is set to True
Reusable strategy uses not lazy Restartable connections
Lib/slapdtest.py
* SlapdObject now evaluates env var SLAPD for optionally pointing
to OpenLDAP's slapd executable (e.g. with OpenLDAP LTB builds)
* added LDAPI support in slaptest.SlapdObject which is internally used
in methods ldapadd() and ldapwhoami()
* added method slaptest.SlapdObject.ldapmodify()
* fixed enabling logger in slaptest
* directory name now contains port to be able to run several SlapdObject
instances side-by-side (e.g. with replication)
* added authz-regexp mapping to rootdn for user running the test
* internally use SASL/EXTERNAL via LDAPI to bind
* SlapdObject.server_id used as serverID in slapd.conf for MMR
* Removed method SlapdObject.started() because SlapdTestCase.setUpClass()
will be used to add initial entries
Tests/
* ReconnectLDAPObject is also tested by sub-classing test class
3.4.2
- PreProcessing is failling with "got invalid document size"
- mongo-replay crashes during playback
- nil pointer derereference when error occurs
3.4.1
- Stats collection has large playback performance impact
- Add option to set capture buffer size to avoid packet loss
- Playback file contains full reply payload
- mongoreplay: out of bounds error in "shortenreply" during record
- Add test for restoring a collection with a default collation
- nil pointer dereference in mongoreplay when error on new playback
file creation
3.2.10
- Don't create intents for system.profile.metadata.json files
- tools do not respect readPreference=secondary when connecting to a
mongos
- Mongodump SSL and GSSAPI authentication
- No numeric version in -version output
- Backport to v3.2
- Issue only one ApplyOps cmd per oplog entry
3.2.9
- Make -version spit out a bit more information.
3.2.8
- Mongostat with discover can find the same node twice in a sharded
cluster
- mongostat -discover does not alias localhost to the target hostname
- mongoimport returns exit code 0 even when error prevents records
from being inserted
- Wrong error message while using mongoimport
- add a "-assertExists" option to mongoexport
- Use v3.2.7 for qa tests
- mongoimport types jstest fails on functions
-------------------------------------------------------------------
(From https://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-56.html)
Changes in MySQL 5.5.56 (2017-05-02, General availability)
Binary packages for MySQL 5.5.56 are identical to those for MySQL
5.5.55, except for the version number. The change in 5.5.56 for Bug
#25942414 is applicable only to those who build from source.
Security Notes
For the WITH_SSL CMake option, no is no longer a permitted value or
the default value. The default is now bundled. Consequently, MySQL now
is always built with SSL support. (Bug #25942414)
-------------------------------------------------------------------
(pkgsrc changes)
- Removed ssl option both from PKG_{SUPPORTED,SUGGESTED}_OPTIONS.
This may give error if ssl is explicitly designated, but I believe
that is the (kind of) upstream intension.
(or left ssl in SUPPORTED and ignore it ?)
------------------------------------
1.06 Fri Apr 5 2013 Todd Rinaldo
Bump to production release now tests all pass on cpan testers
1.05_01 Thu Mar 28 2013 Todd Rinaldo
Fix for RT 58813 - Fix for File based DBDs
Fix for RT 84125 - Fix for mysqlPP
(pkgsrc changes)
- drop two patches, those were really provided by upstream after previous version
- Add do-test: target, for doing without any environment. Hope this will give PASS
-------------------------------------------
1.412 2017-04-06
* Release 1.411_001 without further changes as 1.412
1.411_001 2017-03-30
[Bug fixes]
* Fix http://www.perlmonks.org/?node_id=1167381 (NumericEval: fix
typo on error handling) (thanks to Yanick Champoux, James R. Leu)
* fix repo url and t/02execute.t (Reini Urban, Mohammad S Anwar)
* fix test failing with blead-perl (Jens Rehsack)
[Improvements]
* Refactor constraints processing (Ovidiu Gheorghies)
* Support parsing of complex JOIN clause (containing OR and ()'s) (James R. Leu)
* handle backtick quoting (Ben Hengst)
------------------------------------------
0.29 Sun Jan 15 15:44:09 2017 +0100
RT #119853 Fix spelling mistakes in the POD.
Thanks to gregor herrmann, Debian Perl Group.
0.28 Tue Jan 10 20:03:04 2017 +0100
Updated due to misuse of HTML::Lint 2.26.
PickleShare - a small shelve like datastore with concurrency support
Like shelve, a PickleShareDB object acts like a normal dictionary
Unlike shelve, many processes can access the database simultaneously
Changing a value in database is immediately visible to other processes
accessing the same database
=== Breaking changes
Settings::
- Remove support for default settings
=== Enhancements
Core::
- Detect remnants of path.data/default.path.data bug
Network::
- Adjust default Netty receive predictor size to 64k
REST::
- Cluster stats should not render empty http/transport types
=== Bug fixes
Aggregations::
- The `filter` and `significant_terms` aggregations should parse the
`filter` as a filter, not a query.
- Restore support for the `include/pattern` syntax.
Bulk::
- Reject empty IDs
Core::
- Improve performance of extracting warning value
- Restrict build info loading to ES jar, not any jar
Discovery::
- ZenDiscovery - only validate min_master_nodes values if local node
is master
Index APIs::
- Honor update request timeout
Inner Hits::
- Replace `NestedChildrenQuery` with `ParentChildrenBlockJoinQuery`
Internal::
- Add infrastructure to mark contexts as system contexts
Java REST Client::
- Make buffer limit configurable in HeapBufferedConsumerFactory
Mapping::
- Preserve response headers when creating an index
- Fix NPE with scaled floats stats when field is not indexed
Network::
- Fix possible hang in local transport when nodes get concurrently
disconnected
Plugin Repository Azure::
- Azure blob store's readBlob() method first checks if the blob exists
Reindex API::
- Fix reindex with a remote source on a version before 2.0.0
Search::
- Disable graph analysis at query time for shingle and cjk filters
producing tokens of different size
- Fix cross-cluster remote node gateway attributes
- Use a fixed seed for computing term hashCode in TermsSliceQuery
Settings::
- Do not set path.data in environment if not set
- Correct handling of default and array settings
Stats::
- Handle existence of cgroup version 2 hierarchy
=== Upgrades
Internal::
- upgrade to Lucene 6.4.2
=== 4.45.0 (2017-04-01)
* Correctly handle datasets with offsets but no limits used in compound datasets on MSSQL <2012 (jeremyevans)
* Correctly handle false values in the split_values plugin (bananarne) (#1333)
* Deprecate Dataset#dup/clone and Model.dup/clone (jeremyevans)
* Deprecate the schema and scissors plugins (jeremyevans)
* Deprecate Model.{lazy_attributes,nested_attributes,composition,serialization}_module accessors (jeremyevans)
* Deprecate Database#database_name on MySQL (jeremyevans)
* Deprecate Database#use on MySQL (jeremyevans)
* Make pg_hstore extension no longer update PG_NAMED_TYPES (jeremyevans)
* Deprecate Sequel::PG_NAMED_TYPES (jeremyevans)
* Add columns_updated plugin for making updated columns hash available in after_update and after_save hooks (jeremyevans)
* Deprecate accessing @columns_updated directly in model after_update and after_save hooks (jeremyevans)
* Deprecate Database#{add,remove}_servers when not using a sharded connection pool (jeremyevans)
* Deprecate Database#each_server (jeremyevans)
* Make Model#_valid? private method accept only an options hash (jeremyevans)
* Deprecate returning false from model before hooks to cancel the action, use Model#cancel_action (jeremyevans)
* Handle Model#cancel_action correctly in before hooks when Model#valid? is called (jeremyevans)
* Deprecate Sequel::BeforeHookFailed (jeremyevans)
* Deprecate passing multiple arguments as filter arguments when not using a conditions specifier (jeremyevans)
* Deprecate passing Procs as filter arguments, require they be passed as blocks (jeremyevans)
* Deprecate Sequel::Error::* exception class aliases (jeremyevans)
* Deprecate prepared_statements_associations and prepared_statements_with_pk plugins (jeremyevans)
* Deprecate Sequel::Unbinder, Sequel::UnbindDuplicate, and Dataset#unbind (jeremyevans)
* Deprecating calling Sequel::Qualifier with two arguments (jeremyevans)
* Add validation_contexts plugin for supporting custom contexts when validating (jeremyevans)
* Deprecate Sequel::Database.single_threaded singleton accessor (jeremyevans)
* Deprecate treating unrecognized prepared statement type as :select (jeremyevans)
* Deprecate Sequel.identifier_{in,out}put_method= and .quote_identifiers= singleton setters (jeremyevans)
* Deprecate Sequel::Database.identifier_{in,out}put_method and .quote_identifiers singleton accessors (jeremyevans)
* Deprecate loading the identifier_mangling by default, require it be loaded explicitly if needed (jeremyevans)
* Make Database#dump_{table_schema,schema_migration} in schema_dumper extension support :schema option (dadario) (#1328)
* Make Dataset#delete respect an existing limit on Microsoft SQL Server (jeremyevans)
* Add Dataset#skip_limit_check to mark a dataset as skipping the limit/offset check for updates and deletes (jeremyevans)
* Deprecate calling Dataset#{update/delete/truncate} on datasets with limits or offsets unless the database supports it (jeremyevans)
* Add deprecation message for using association_pks setter method with :delay_pks=>true association option (jeremyevans)
* Add deprecation message for using association_pks setter method without :delay_pks association option (jeremyevans)
* Deprecate having duplicate column names in subclass tables when using the class_table_inheritance plugin (jeremyevans)
* Deprecate do (DataObjects), swift, and jdbc/as400 adapters (jeremyevans)
* Deprecate support for Cubrid, Firebird, Informix, and Progress databases (jeremyevans)
* The :proxy_argument option passed to association_proxies plugin block is now an empty hash if no arguments are passed to the association method (jeremyevans)
* Deprecate passing non-hash arguments to association methods (jeremyevans)
* Deprecate passing multiple arguments to association methods (jeremyevans)
* Deprecate model transaction hook methods (jeremyevans)
* Drop support for pg <0.8.0 in the postgres adapter (jeremyevans)
* Deprecate passing a block to Database#from (jeremyevans)
* Deprecate Sequel::Model::ANONYMOUS_MODEL_CLASSES{,_MUTEX} (jeremyevans)
* Deprecate Sequel.cache_anonymous_models and Sequel.cache_anonymous_models= (jeremyevans)
* Automatically use from_self when using a dataset as part of a compound if it has an offset but no limit (jeremyevans)
* Drop order on existing datasets when using Dataset#union/intersect/except on Microsoft SQL Server unless a limit or offset is used (jeremyevans)
* Deprecate dataset mutation (jeremyevans)
* Handle dumping of autoincrementing 64-bit integer primary key columns correctly when using :same_db option in the schema dumper (jeremyevans) (#1324)
* Add Model.dataset_module_class accessor, allowing plugins to support custom behavior in dataset_module blocks (jeremyevans)
* Make ORDER BY come after UNION/INTERSECT/EXCEPT on Microsoft SQL Server and SQLAnywhere (jeremyevans)
* Make Database#indexes on MySQL handle qualified identifiers (jeremyevans) (#1316)
* Add oracle support to the odbc adapter (samuel02) (#1315)
## 2.9.2
- Fixed significant bug in the `savepoint` commit/rollback implementation.
- Added support for postgresql `INTERVAL` columns.
- Fixed bug where missing `sqlite3` library was causing other, unrelated
libraries to throw errors when attempting to import.
- Added a `case_sensitive` parameter to the SQLite `REGEXP` function
implementation. The default is `False`, to preserve backwards-compatibility.
- Fixed bug that caused tables not to be created when using the `dataset`
extension.
- Modified `drop_table` to raise an exception if the user attempts to drop
tables with `CASCADE` when the database backend does not support it.
- Fixed Python3 issue in the `AESEncryptedField`.
- Modified the behavior of string-typed fields to treat the addition operator
as concatenation
## 2.9.1
- Fixed#1218, where the use of `playhouse.flask_utils` was requiring the
`sqlite3` module to be installed.
- Fixed#1219 regarding the SQL generation for composite key sub-selects,
joins, etc.
## 2.9.0
In this release there are two notable changes:
- The ``Model.create_or_get()`` method was removed.
- The SQLite closure table extension gained support for many-to-many
relationships thanks to a nice PR by @necoro.
## 2.8.8
This release contains a single important bugfix for a regression in specifying
the type of lock to use when opening a SQLite transaction.
## 2.8.7
This release contains numerous cleanups.
### Bugs fixed
- #1087 - Fixed a misuse of the iteration protocol in the `sqliteq` extension.
- #1096 - Fix representation of recursive foreign key relations when using the
`model_to_dict` helper.
- #1126 - Allow `pskel` to be installed into `bin` directory.
- #1105 - Added a `Tuple()` type to Peewee to enable expressing arbitrary
tuple expressions in SQL.
- #1133 - Fixed bug in the conversion of objects to `Decimal` instances in the
`DecimalField`.
- Fixed an issue renaming a unique foreign key in MySQL.
- Remove the join predicate from CROSS JOINs.
- #1148 - Ensure indexes are created when a column is added using a schema
migration.
- #1165 - Fix bug where the primary key was being overwritten in queries using
the closure-table extension.
### New stuff
- Added properties to the `SqliteExtDatabase` to expose common `PRAGMA`
settings.
- Clarified documentation on calling `commit()` or `rollback()` from within the
scope of an atomic block.
- Allow table creation dependencies to be specified using new `depends_on` meta
option.
- Allow specification of the lock type used in SQLite transactions.
- Added support for `CROSS JOIN` expressions in select queries.
- Docs on how to implement optimistic locking
- Documented optional dependencies.
- Generic support for specifying select queries as locking the selected rows
`FOR X`, e.g. `FOR UPDATE` or `FOR SHARE`.
- Support for specifying the frame-of-reference in window queries, e.g.
specifying `UNBOUNDED PRECEDING`, etc.
### Backwards-incompatible changes
- As of 9e76c99, an `OperationalError` is raised if the user calls `connect()`
on an already-open Database object. Previously, the existing connection would
remain open and a new connection would overwrite it, making it impossible to
close the previous connection. If you find this is causing breakage in your
application, you can switch the `connect()` call to `get_conn()` which will
only open a connection if necessary. The error **is** indicative of a real
issue, though, so audit your code for places where you may be opening a
connection without closing it (module-scope operations, e.g.).
Notable changes since 3.2:
- Improve ways to write change migrations, making the old up & down
methods no longer necessary.
- Adds PostgreSQL array type support. Any datatype can be used to
create an array column, with full migration and schema dumper
support.
- Add Relation#load to explicitly load the record and return self.
- Model.all now returns an ActiveRecord::Relation, rather than an
array of records. Use Relation#to_a if you really want an array. In
some specific cases, this may cause breakage when upgrading.
- Added ActiveRecord::Migration.check_pending! that raises an error if
migrations are pending.
- Added custom coders support for ActiveRecord::Store.
- mysql and mysql2 connections will set SQL_MODE=STRICT_ALL_TABLES by
default to avoid silent data loss. This can be disabled by
specifying strict: false in your database.yml.
- Remove IdentityMap.
- Remove automatic execution of EXPLAIN queries. The option
active_record.auto_explain_threshold_in_seconds is no longer used
and should be removed.
- Adds ActiveRecord::NullRelation and ActiveRecord::Relation#none
implementing the null object pattern for the Relation class.
- Added create_join_table migration helper to create HABTM join
tables.
- Allows PostgreSQL hstore records to be created.
- Default scopes are no longer overridden by chained conditions.
- Added ActiveRecord::Base.to_param for convenient "pretty" URLs
derived from a model's attribute or method.
- Added ActiveRecord::Base.no_touching, which allows ignoring touch on
models.
- Unify boolean type casting for MysqlAdapter and
Mysql2Adapter. type_cast will return 1 for true and 0 for false.
- .unscope now removes conditions specified in default_scope.
- Added ActiveRecord::QueryMethods#rewhere which will overwrite an
existing, named where condition.
- Extended ActiveRecord::Base#cache_key to take an optional list of
timestamp attributes of which the highest will be used.
- Added ActiveRecord::Base#enum for declaring enum attributes where
the values map to integers in the database, but can be queried by
name.
- Type cast json values on write, so that the value is consistent with
reading from the database.
- Type cast hstore values on write, so that the value is consistent
with reading from the database.
- Make next_migration_number accessible for third party generators.
- Calling update_attributes will now throw an ArgumentError whenever
it gets a nil argument. More specifically, it will throw an error if
the argument that it gets passed does not respond to to
stringify_keys.
- CollectionAssociation#first/#last (e.g. has_many) use a LIMITed
query to fetch results rather than loading the entire collection.
- inspect on Active Record model classes does not initiate a new
connection. This means that calling inspect, when the database is
missing, will no longer raise an exception.
- Removed column restrictions for count, let the database raise if the
SQL is invalid.
- Rails now automatically detects inverse associations. If you do not
set the :inverse_of option on the association, then Active Record
will guess the inverse association based on heuristics.
- Handle aliased attributes in ActiveRecord::Relation. When using
symbol keys, ActiveRecord will now translate aliased attribute names
to the actual column name used in the database.
- The ERB in fixture files is no longer evaluated in the context of
the main object. Helper methods used by multiple fixtures should be
defined on modules included in
ActiveRecord::FixtureSet.context_class.
- Don't create or drop the test database if RAILS_ENV is specified
explicitly.
- Relation no longer has mutator methods like #map! and
#delete_if. Convert to an Array by calling #to_a before using these
methods.
- find_in_batches, find_each, Result#each and Enumerable#index_by now
return an Enumerator that can calculate its size.
- scope, enum and Associations now raise on "dangerous" name
conflicts.
- second through fifth methods act like the first finder.
- Make touch fire the after_commit and after_rollback callbacks.
- Enable partial indexes for sqlite >= 3.8.0.
- Make change_column_null revertible.
- Added a flag to disable schema dump after migration. This is set to
false by default in the production environment for new applications.
- SchemaDumper uses force: :cascade on create_table. This makes it
possible to reload a schema when foreign keys are in place.
- Added a :required option to singular associations, which defines a
presence validation on the association.
- ActiveRecord::Dirty now detects in-place changes to mutable
values. Serialized attributes on Active Record models are no longer
saved when unchanged. This also works with other types such as
string columns and json columns on PostgreSQL.
- Introduced the db:purge Rake task to empty the database for the
current environment.
- Introduced ActiveRecord::Base#validate! that raises
ActiveRecord::RecordInvalid if the record is invalid.
- Introduced validate as an alias for valid?.
- touch now accepts multiple attributes to be touched at once.
- The PostgreSQL adapter now supports the jsonb datatype in PostgreSQL
9.4+.
- The PostgreSQL and SQLite adapters no longer add a default limit of
255 characters on string columns.
- Added support for the citext column type in the PostgreSQL adapter.
- Added support for user-created range types in the PostgreSQL
adapter.
- sqlite3:///some/path now resolves to the absolute system path
/some/path. For relative paths, use sqlite3:some/path
instead. (Previously, sqlite3:///some/path resolved to the relative
path some/path. This behavior was deprecated on Rails 4.1).
- Added support for fractional seconds for MySQL 5.6 and above.
- Added ActiveRecord::Base#pretty_print to pretty print models.
- ActiveRecord::Base#reload now behaves the same as m =
Model.find(m.id), meaning that it no longer retains the extra
attributes from custom SELECTs.
- ActiveRecord::Base#reflections now returns a hash with string keys
instead of symbol keys.
- The references method in migrations now supports a type option for
specifying the type of the foreign key (e.g. :uuid).
Version 3.6.0 Released April 17, 2017 (git tag 3.6.0)
- Make sure we do not inadvertently modify the string passed to prepare() when
doing the new backslash escape manipulation.
[Greg Sabino Mullane]
(CPAN ticket #114000)
- Fix bug where $DBD::Pg::DBDPG_DEFAULT not picked up as a magic
string first time it is used in a script.
[Greg Sabino Mullane]
(CPAN ticket #112309)
- Fix UTF8 flag handling in pg_(get|put)copydata
[Dagfinn Ilmari Mannsåker]
- Fix UTF8 double-encoding with pg_enable_utf8 = 0
[Serge Pushkin]
(CPAN ticket #103137)
- Fix bug in quote_name which would fail to quote in some circumstances
(Github Issue #22)
- Allow clean parsing of new Postgres X.Y version format
[Erik Rijkers er at xs4all.nl]
- Add pg_canonical_ids() and pg_canonical_names(), which returns information
about each column in the result set.
[Warstone warstone at list.ru]
(CPAN ticket #106858)
- Map SQL_NUMERIC to PG_NUMERIC (instead of PG_FLOAT8)
[Alice Maz alice at alizemaz.com]
(CPAN ticket #120358)
- Force real, float, and double precision into SvNVs
[Greg Sabino Mullane]
(CPAN ticket #113683 and other places)
- Support for number of rows greater than an "int". Requires support for same
from a future version of libpq before it will work completely.
[Greg Sabino Mullane]
(CPAN ticket #102444)
- Fix skipped test counts in Win32 builds
[Andy Grundman]
- Allow tests to work against Postgres 8.4 by tweaking client_encoding calls.
[Pavel Raiskup praiskup at redhat.com]
(CPAN ticket #116179)
- Silence warnings in t/02attribs.t and t/04misc.t
[Dagfinn Ilmari Mannsåker]
- Support binary COPY format
[Dagfinn Ilmari Mannsåker]
- Ensure tests do not use $ENV{PGSERVICE} or $ENV{PGDATABASE}
[Erik Rijkers]
- Switched canonical repo to git://github.com/bucardo/dbdpg.git
3.9.0
Features
- cqlengine: remove elements by key from a map
Bug Fixes
- improve error handling when connecting to non-existent keyspace
- Sockets associated with sessions not getting cleaned up on
session.shutdown()
- rare flake on
integration.standard.test_cluster.ClusterTests.test_clone_shared_lbp
- MontonicTimestampGenerator.__init__ ignores class defaults
- race where callback or errback for request may not be called
- cqlengine: model.update() should not update columns with a default
value that hasn't changed
- cqlengine: field value manager's explicit flag is True when queried
back from cassandra
Other
- Connection not closed in example_mapper
- Remove mention of pre-2.0 C* versions from OSS 3.0+ docs
3.8.1
Bug Fixes
- implement __le__/__ge__/__ne__ on some custom types
- Fix bug in eventlet and gevent reactors that could cause hangs
- Fix DecimalType regression
------------------------------------------------------------
The ChangeLog since 5.1.72 is too huge, so the beginning some
lines are listed here:
------------------------------------------------------------
timestamp: Fri 2013-11-01 16:39:19 +0100
message:
Bug#17617945 BUFFER OVERFLOW IN GET_MERGE_MANY_BUFFS_COST WITH SMALL SORT_BUFFER_SIZE
get_cost_calc_buff_size() could return wrong value for the size of imerge_cost_buff.
------------------------------------------------------------
timestamp: Thu 2013-10-31 22:53:56 +0000
message:
BUG#17662398: REMOVE DUPLICATE TEST CASES
Remove duplicate test cases.
------------------------------------------------------------
timestamp: Thu 2013-10-31 23:02:44 +0530
message:
Bug #12917164 DROP USER CAN'T DROP USERS WITH LEGACY
UPPER CASE HOST NAME ANYMORE
Description:
It is not possible to drop users with host names with upper case
letters in them. i.e DROP USER 'root'@'Tmp_Host_Name'; is failing
with error.
Analysis: Since the fix 11748570 we came up with lower case hostnames
as standard. But in the current bug the hostname is created by
mysql_install_db script is still having upper case hostnames.
So, if we have the hostname with upper case letters like(Tmp_Host_Name)
then we will have as it is stored in the mysql.user table.
In this case if use "'DROP USER 'root'@'Tmp_Host_Name';" it gives
error because we do compare with the lower case of hostname since the
11748570 fix.
Fix: We need to convert the hostname to lower case before storing into
the mysql.user table when we run the mysql_install_db script.
------------------------------------------------------------
* Windows builds now use the default runtime libraries (builds use the /MD flag).
* CMake support was added for compiling with Developer Studio 12.6.
* MySQL failed to compile if -DENABLE_DEBUG_SYNC=OFF AND -DWITH_DEBUG=ON were both given. The ENABLE_DEBUG_SYNC option has been removed and enabling WITH_DEBUG enables Debug Sync.
* The --temp-pool server option is deprecated and will be removed in MySQL 8.0.
* Support for DTrace is deprecated and is removed in MySQL 8.0.
* Changes in RPM package structure require a larger set of packages to be removed to install MySQL Server cleanly.
* To avoid potential race conditions, Debian packages now use the GNU install utility rather than a combination of mkdir, touch, and chown.
* The my-default.cnf.sh file (used to produce a default my-default.cnf or my-default.ini file) is no longer included in source distributions and my-default.cnf and my-default.ini are no longer included in or installed by distribution packages.
* Reminder: MySQL 5.7 requires the Microsoft Visual C++ 2013 Redistributable Package to run on Windows platforms. Users should make sure the package has been installed on the system before starting the server. The package is available at the Microsoft Download Center.
* PROCEDURE ANALYSE() syntax is now deprecated and is removed in MySQL 8.0.
* The use of \N as a synonym for NULL in SQL statements is deprecated and is removed in MySQL 8.0. Use NULL instead.
* The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.2k.
* Windows builds now use the default runtime libraries (builds use the /MD flag).
* CMake support was added for compiling with Developer Studio 12.6.
MySQL failed to compile if -DENABLE_DEBUG_SYNC=OFF AND -DWITH_DEBUG=ON were both given. The ENABLE_DEBUG_SYNC option has been removed and enabling WITH_DEBUG enables Debug Sync.
* Changes in RPM package structure require a larger set of packages to be removed to install MySQL Server cleanly.
* To avoid potential race conditions, Debian packages now use the GNU install utility rather than a combination of mkdir, touch, and chown.
* CMake-generated packaging for Debian/Ubuntu packages was refactored for improved maintainability. The change includes updated logic for correctly replacing native distribution packaging in Debian and Ubuntu.
* Reminder: MySQL 5.6 requires the Microsoft Visual C++ 2010 Redistributable Package to run on Windows platforms. Users should make sure the package has been installed on the system before starting the server. The package is available at the Microsoft Download Center.
* The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.2k. For a description of issues fixed in this version, see http://www.openssl.org/news/vulnerabilities.html.
* The mysql_options() C API function now supports a MYSQL_OPT_SSL_MODE option.
---------------------------------------------------
Picks securiy part from
https://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-55.html
-----
Security Notes
The mysql_options() C API function now supports a
MYSQL_OPT_SSL_MODE option. The only permitted option value is
SSL_MODE_REQUIRED, to require a secure connection to the server. It
causes mysql_real_connect() to fail if an encrypted connection cannot
be obtained, without falling back to an unencrypted connection. Thus,
mysql_real_connect() returns an error if the server does not support
SSL or the client is not configured to use SSL. The client/server
exchange terminates immediately after the initial server packet has
been received if the server indicates that it does not support SSL.
To require an encrypted connection in MySQL 5.5, the standard MySQL
client programs call mysql_options() to set MYSQL_OPT_SSL_MODE if the
--ssl-mode=REQUIRED command-line option was specified. Third-party
applications that must be able to require encrypted connections can
use the same technique. For details, see mysql_ssl_set().
The minor C API version number was not incremented for this
change. Application programs compiled for MySQL 5.5 that require
MYSQL_OPT_SSL_MODE may fail to operate properly if the dynamic loader
provides an older client library without MYSQL_OPT_SSL_MODE. Such
applications must be written to handle this possibility by checking
whether the mysql_options() call succeeds or fails. (Bug #25575605)
Upstream changes:
1.84 - 2017-04-03
- Restore 'dynamic_config => 0' missed in the Distar port
1.83 - 2017-04-03
- Support for DELETE ... RETURNING (GH#9)
- Port to Distar
revision 1.82 2017-03-20
-------------------------
- Add explicit dependency on Sub::Quote (GH#8)
- Fix syntax errors in ORDER BY docs (GH#7)
revision 1.81_01 2017-02-28
----------------------------
- Fix order clauses with bind parameters in ->where
- Fix ->insert($table, \@values) with >26 values (RT#112684)
- Teach ::Tree that ILIKE (PostgreSQL) and REGEXP (MySQL) are binary ops
- Support for UPDATE ... RETURNING
- Documentation improvements for ORDER BY
Upstream changes:
1.1.4 6 October 2016 17:26:00
- make sure Makefile.PL is included in the dist
1.1.3 6 October 2016 10:56:00
- Refactor slightly to enable useful subclassing (RT#102223, Tim Bunce)
A continuing stream of small regressions is leading us to have to put out releases every few days at the moment. This release includes a fix to a regression that was caused by a fix to a regression :), specifically the sqlalchemy.ext.mutable fix put out in 1.1.8. It also fixes a different regression in the typing system introduced in 1.1.5, and also has a regular bug fix for another issue regarding "connectionless" execution.
2009.07.21: I hereby place the cdb package (in particular, cdb-
0.75.tar.gz, with MD5 checksum 81fed54d0bde51b147dd6c20cdb92d51) into
the public domain. The package is no longer copyrighted.
Added the PRAGMA optimize command
The SQLite version identifier returned by the sqlite_source_id() SQL function and the sqlite3_sourceid() C API and found in the SQLITE_SOURCE_ID macro is now a 64-digit SHA3-256 hash instead of a 40-digit SHA1 hash.
Added the json_patch() SQL function to the JSON1 extension.
Enhance the LIKE optimization so that it works for arbitrary expressions on the left-hand side as long as the LIKE pattern on the right-hand side does not begin with a digit or minus sign.
Added the sqlite3_set_last_insert_rowid() interface and use the new interface in the FTS3, FTS4, and FTS5 extensions to ensure that the sqlite3_last_insert_rowid() interface always returns reasonable values.
Enhance PRAGMA integrity_check and PRAGMA quick_check so that they verify CHECK constraints.
Enhance the query plans for joins to detect empty tables early and halt without doing unnecessary work.
Enhance the sqlite3_mprintf() family of interfaces and the printf SQL function to put comma separators at the thousands marks for integers, if the "," format modifier is used in between the "%" and the "d" (example: "%,d").
Added the -DSQLITE_MAX_MEMORY=N compile-time option.
Added the .sha3sum dot-command and the .selftest dot-command to the command-line shell
Begin enforcing SQLITE_LIMIT_VDBE_OP. This can be used, for example, to prevent excessively large prepared statements in systems that accept SQL queries from untrusted users.
Various performance improvements.
Bug Fixes:
----------
Ensure that indexed expressions with collating sequences are handled correctly. Fix for ticket eb703ba7b50c1a5.
Fix a bug in the 'start of ...' modifiers for the date and time functions. Ticket 6097cb92745327a1
Fix a potential segfault in complex recursive triggers, resulting from a bug in the OP_Once opcode introduced as part of a performance optimization in version 3.15.0. Ticket 06796225f59c057c
In the RBU extension, add extra sync operations to avoid the possibility of corruption following a power failure.
The sqlite3_trace_v2() output for nested SQL statements should always begin with a "--" comment marker.
* /dbfsak/VERSION, /dbfsak/dbf.c, /dbfsak/dbf.h, /dbfsak/dbfsak.c:
More precisely specify variable sizes, since DBF files were
originally 8-bit, then 16-bit, then 32-bit. Current code being
worked on 64 bit platform.
=== Breaking changes
Query DSL::
- Fix name of `enabled_position_increments`
Search::
- Remove DFS_QUERY_AND_FETCH as a search type
=== Breaking Java changes
CRUD::
- Make index and delete operation execute as single bulk item
(backport of #21964)
Internal::
- Replace SearchExtRegistry with namedObject
- Replace Suggesters with namedObject
Network::
- Remove HttpServer and HttpServerAdapter in favor of a simple
dispatch method
Plugins::
- Deguice rest handlers
Search::
- Remove QUERY_AND_FETCH search type
=== Deprecations
Core::
- Deprecate lenient booleans
Geo::
- Geo distance range deprecation
Java API::
- Add BulkProcessor methods with XContentType parameter
Mapping::
- Deprecate the include_in_all mapping parameter
Network::
- Deprecate Netty 3
- Deprecate Netty 3
Plugin Repository Azure::
- Deprecate auto creation of container for azure repository
Plugin Repository S3::
- S3 Repository: Deprecate specifying region
- S3 Repository: Deprecate auto creation of s3 bucket for repository
- Deprecate specifying credentials through env vars, sys props, and
remove profile files
REST::
- Deprecate ldjson support and document ndjson for bulk/msearch
- Optionally require a valid content type for all rest requests with
content
Scripting::
- Change Namespace for Stored Script to Only Use Id
=== New features
Aggregations::
- Initial version of an adjacency matrix using the Filters aggregation
CRUD::
- Allow an index to be partitioned with custom routing
Highlighting::
- Integrate UnifiedHighlighter
Search::
- Add federated cross cluster search capabilities
- Add field collapsing for search request
Settings::
- Add infrastructure for elasticsearch keystore
=== Enhancements
Allocation::
- Include stale replica shard info when explaining an unassigned
primary
Analysis::
- Analyze API Position Length Support
CRUD::
- Make index and delete operation execute as a single bulk item
Circuit Breakers::
- Add used memory amount to CircuitBreakingException message (#22521)
Cluster::
- Connect to new nodes concurrently
Core::
- Simplify write failure handling (backport of #19105)
- Simplify ElasticsearchException rendering as a XContent
- Remove setLocalNode from ClusterService and TransportService
Engine::
- Replace EngineClosedException with AlreadyClosedExcpetion
Index APIs::
- Indexing: Add shard id to indexing operation listener
- Better error when can't auto create index
Ingest::
- Lazy load the geoip databases
Internal::
- Improve connection closing in `RemoteClusterConnection`
- Remove some more usages of ParseFieldMatcher
- Introduce ToXContentObject interface
Java API::
- prevent NPE when trying to uncompress a null BytesReference
Java High Level REST Client::
- Add parsing from xContent to MainResponse
- Parse elasticsearch exception's root causes
- Add parsing method to BytesRestResponse's error
- Add parsing method for
ElasticsearchException.generateThrowableXContent()
- Add fromxcontent methods to delete response
- Add parsing methods for UpdateResponse
- Add parsing from xContent to InternalSearchHit and
InternalSearchHits
- Add fromxcontent methods to index response
Java REST Client::
- move ignore parameter support from yaml test client to low level
rest client
- Support Preemptive Authentication with RestClient
Logging::
- Expose logs base path
Mapping::
- Improve error message for ipv6 on legacy ip fields
Network::
- Keep the pipeline handler queue small initially
Packaging::
- Introduce Java version check
Plugin Discovery EC2::
- Read ec2 discovery address from aws instance tags
Plugin Lang Painless::
- Generate reference links for painless API
- Painless: Add augmentation to String for base 64
Plugin Repository S3::
- S3 repository: Add named configurations
Plugins::
- Add the ability to define search response listeners in search plugin
Query DSL::
- QueryString and SimpleQueryString Graph Support
- Additional Graph Support in Match Query
- RangeQuery WITHIN case now normalises query
Reindex API::
- Increase visibility of doExecute so it can be used directly
- Improve error message when reindex-from-remote gets bad json
Scripting::
- Expose multi-valued dates to scripts and document painless's date
functions
Search::
- Add a setting to disable remote cluster connections on a node
- First step towards separating individual search phases
- Add parsing from xContent to SearchProfileShardResults and nested
classes
- ProfileResult and CollectorResult should print machine readable
timing information
Settings::
- Improve setting deprecation message
- Add secure settings validation on startup
- Allow comma delimited array settings to have a space after each
entry
- Allow affix settings to be dynamic / updatable
- Allow affix settings to delegate to actual settings
- Make s3 repository sensitive settings use secure settings
Snapshot/Restore::
- Duplicate snapshot name throws InvalidSnapshotNameException
- Use general cluster state batching mechanism for snapshot state
updates
Stats::
- Add geo_point to FieldStats
=== Bug fixes
CRUD::
- Fix backport executing ops as single item bulk
Cache::
- Invalidate cached query results if query timed out
Cluster::
- Don't set local node on cluster state used for node join validation
- Allow a cluster state applier to create an observer and wait for a
better state
- Cluster allocation explain to never return empty response body
Exceptions::
- Stop returning "es." internal exception headers as http response
headers
Ingest::
- Improve missing ingest processor error
- fix date-processor to a new default year for every new pipeline
execution
Internal::
- Always restore the ThreadContext for operations delayed due to a
block
- Fix handling of document failure exception in InternalEngine
(backport #22718)
Java REST Client::
- RestClient asynchronous execution should not throw exceptions
Mapping::
- Switch include_in_all in multifield to warning
- Fix MapperService StackOverflowError
- Range types causing `GetFieldMappingsIndexRequest` to fail due to
`NullPointerException` in `RangeFieldMapper.doXContentBody` when
`include_defaults=true` is on the query string
- Disallow introducing illegal object mappings (double '..')
Network::
- Respect promises on pipelined responses
- Ensure that releasing listener is called
Packaging::
- Fall back to non-atomic move when removing plugins
Parent/Child::
- Add null check in case of orphan child document
Plugin Ingest Attachment::
- Remove support for Visio and potm files
- Add missing mime4j library
Plugin Lang Painless::
- Fix Bad Casts In Painless
- Don't allow casting from void to def in painless
- Fix def invoked qualified method refs
Plugins::
- Add check for null pluginName in remove command
Query DSL::
- Fix parsing for `max_determinized_states`
REST::
- [API] change wait_for_completion default according to docs
- HTTP transport stashes the ThreadContext instead of the
RestController
- Ensure we try to autodetect content type for handlers that support
plain text
- Fix date format in warning headers
- Correct warning header to be compliant
- Fix search scroll request with a plain text body
- Handle bad HTTP requests
- Properly encode location header
Reindex API::
- Reindex: do not log when can't clear old scroll
- Fix reindex-from-remote from <2.0
Scripting::
- Remove unnecessary Groovy deprecation logging
- Script: Fix value of `ctx._now` to be current epoch time in
milliseconds
Search::
- Honor max concurrent searches in multi-search
- Avoid stack overflow in multi-search
- Replace blocking calls in ExpandCollapseSearchResponseListener by
asynchronous requests
- Ensure fixed serialization order of InnerHitBuilder
Settings::
- Fix merge scheduler config settings
- Settings: Fix keystore cli prompting for yes/no to handle console
returning null
- Expose `search.highlight.term_vector_multi_value` as a node level
setting
- NPE when no setting name passed to elasticsearch-keystore
Similarities::
- Fix similarity upgrade when "default" similarity is overridden
Stats::
- Avoid overflow when computing total FS stats
- Handle long overflow when adding paths' totals
- Fix control group pattern
- Fix total disk bytes returning negative value
Task Manager::
- Fix hanging cancelling task with no children
- Fix broken TaskInfo.toString()
=== Regressions
Core::
- Source filtering: only accept array items if the previous include
pattern matches
=== Upgrades
Internal::
- Upgrade to Lucene 6.4.1.
What's new in psycopg 2.7.1
^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Ignore `!None` arguments passed to `~psycopg2.connect()` and
`~psycopg2.extensions.make_dsn()` (🎫`#517`).
- OpenSSL upgraded from major version 0.9.8 to 1.0.2 in the Linux wheel
packages (🎫`#518`).
- Fixed build with libpq versions < 9.3 (🎫`#520`).
* gdbm_fetch, gdbm_firstkey, and gdbm_nextkey behavior
If the requested key was not found, these functions return datum with
dptr pointing to NULL and set gdbm_errno to GDBM_ITEM_NOT_FOUND (in
prior releases, gdbm_errno was set to GDBM_NO_ERROR),
If an error occurred, dptr is set to NULL, and gdbm_errno to
the error code.
In any case gdbm_errno is guaranteed to have meaningful value upon
return.
* Error handling
In previous versions of GDBM, fatal errors (such as write error while
storing the key/data pair or bucket) caused immediate termination of
the program via call to exit(3). This is no longer the case.
Starting from this version, if a fatal error occurrs while modifying
the database file, that database is marked as needing recovery and
gdbm_errno is set to GDBM_NEED_RECOVERY. Calls to any GDBM functions,
except gdbm_recover, will then return immediately with the same error
code.
The function gdbm_recover examines the database file and fixes
eventual inconsistencies. Upon successful return it clears the error
state and makes the database operational again.
For backward compatibility, the fatal_func argument to gdbm_open is
retained and its functionality is not changed. If it is not NULL, the
new error handling procedures are disabled, the function it points to
will be called upon fatal errors. When it returns, exit(1) will be
called.
* Per-database error codes
In addition to gdbm_error global variable, the most recent error state
is saved in the GDBM_FILE structure. This facilitates error handling
when operating multiple GDBM databases simultaneously.