This is a copy of mongodb before the update to 4, with annotations to
explain why it exists. Reasons include:
- mongodb 4 is licensed under the Server Side Public License, to
which some have objected
- mongodb 4 requires c++17 (and hence gcc 8)
(ok to add during freeze by wiz@)
mongodb's build script says it needs a c11 compiler. However, one
can't add change c99 to c11 in USE_LANGUAGES like one would expect
because mk/compiler* doesn't yet have c11 support. Note this, to be
fixed when we have c11 support in mk/compiler*.
This package had been configured to use mongodb's bundled icu, but
something in the dependencies brought in icu anyway, and there were
type conflicts between pkgsrc and bundled. Apparently whatever was
trouble in earlier mongodb has been fixed, as the build gets much
further with "system" (pkgsrc) icu.
With gcc 5, as found on netbsd-8, there are multiple issues. With 6,
far more progress is made. Because this is not shocking for c++14,
just set GCC_REQD, as it will not harm netbsd-current, which is
currently the only platform with even a single report of successful
buildin..
mongodb requires C++14; change from c++ to c++14. It also seems to
require C11, but c11 seems not to be recognized by USE_LANGUAGES, so
change c to c99 and add a comment.
PKGREVISION in case there's anyplace this builds.
PostgreSQL 11.4, 10.9, 9.6.14, 9.5.18, 9.4.23, and 12 Beta 2 Released!
The PostgreSQL Global Development Group has released an update to all supported versions of our database system, including 11.4, 10.9, 9.6.14, 9.5.18, and 9.4.23, as well as the second beta of PostgreSQL 12. This release fixes one security issue and over 25 bugs since the previous cumulative update in May.
Security Issues
This release closes one security vulnerability:
CVE-2019-10164: Stack-based buffer overflow via setting a password
Versions affected: 10, 11, 12 beta.
Bug Fixes and Improvements
Fix assorted errors in run-time partition pruning that could lead to wrong answers in queries on partitioned tables
pg_dump now recreates table partitions using CREATE TABLE and ALTER TABLE .. ATTACH PARTITION rather than including PARTITION OF in the creation command
Improve how initdb determines which system time zone to select if there are equivalent names for the time zone. Also explicitly prefer UTC over UCT
Fix possible crash while trying to copy trigger definitions to a new partition
Fix failure of ALTER TABLE .. ALTER COLUMN TYPE when the table has a partial exclusion constraint
Fix failure of COMMENT command for comments on domains
Several fixes related to aggregation
Fix faulty generation of merge-append plans that could lead to "could not find pathkey item to sort" errors
Fix failures on dump/restore where views contained queries with duplicate join names
Fix conversion of JSON string literals to JSON-type output columns in json_to_record() and json_populate_record()
Fix incorrect optimization of {1,1} quantifiers in regular expressions
Fix issue for B-tree indexes during edge case failure involving columns covered with the INCLUDE clause, which manifests itself with errors during VACUUM. If you are affected by this issue, you will need to reindex the specific index
Fix race condition in check to see whether a pre-existing shared memory segment is still in use by a conflicting postmaster
Fix for the walreceiver process that avoids a crash or deadlock on shutdown
Avoid possible hang in libpq if using SSL and OpenSSL's pending-data buffer contains an exact multiple of 256 bytes
Fix ordering of GRANT commands emitted by pg_dump and pg_dumpall for databases and tablespaces
Fix misleading error reports from reindexdb
Ensure that vacuumdb returns correct status if an error occurs while using parallel jobs
Fix contrib/auto_explain to not cause problems in parallel queries, which resulted in failures like "could not find key N in shm TOC"
Account for possible data modifications by local BEFORE ROW UPDATE triggers in contrib/postgres_fdw
On Windows, avoid failure when the database encoding is set to SQL_ASCII and we attempt to log a non-ASCII string
ValueError: invalid literal for int() with base 10:
'_PATH_ORIG=/home/jmcneill/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R7/bin:/usr/pkg/bin:/usr/pkg/sbin:/usr/games:/usr/local/bin:/usr/local/sbin'
Psycopg 2.8.3 released
We have released Psycopg 2.8.3, which includes a slight change to the logical replication.
Choosing the right frequency to send replication feedback messages from the client to the server was previously the developer's responsibility, with too many feedback messages being a waste of bandwidth and server resources, too few slowing down WAL cleanup and possibly preventing a server graceful shutdown.
Psycopg will now make sure that feedback is only sent after a certain period of time from the previous one, so that the client can simply call send_feedback() at each message without the fear of overwhelming the server.
For completeness, the changes included in the release are:
* Added interval_status parameter to start_replication() method and other facilities to send automatic replication keepalives at periodic intervals
* Fixed namedtuples caching introduced in 2.8
=== 5.21.0 (2019-06-01)
* Recognize additional DatabaseLockTimeout errors in mysql and mysql2 adapters (jeremyevans)
* Disallow eager_graph of ancestors and descendants associations when using the rcte_tree plugin (jeremyevans)
* Make jdbc/mysql adapter work when using JRuby with Java 11 (jeremyevans)
* Support window function options :window, :exclude, and :frame :type=>:groups, :start, and :end on SQLite 3.28.0+ (jeremyevans)
* Make the server_block extension respect the :servers_hash Database option (jeremyevans)
* Typecast string input for json/jsonb types as JSON strings instead of parsing as JSON in the pg_json extension when Database#typecast_json_strings is set to true (jeremyevans)
* Wrap JSON primitives (string, number, true, false, nil) in the pg_json extension when Database#wrap_json_primitives is set to true (jeremyevans)
* Convert the Database :timeout option to an integer in the sqlite adapter (jeremyevans) (#1620)
* Improve performance in ado adapter using more efficient inner loop (jeremyevans)
* Improve performance in ado adapter using faster callables for type conversion (jeremyevans)
* Fix handling of decimal values in the ado adapter when using locales where the decimal separator is , and not . (jeremyevans) (#1619)
3.9.6
Support nesting the Database instance as a context-manager. The outermost block will handle opening and closing the connection along with wrapping everything in a transaction. Nested blocks will use savepoints.
Add new session_start(), session_commit() and session_rollback() interfaces to the Database object to support using transactional controls in situations where a context-manager or decorator is awkward.
Fix error that would arise when attempting to do an empty bulk-insert.
Set isolation_level=None in SQLite connection constructor rather than afterwards using the setter.
Add create_table() method to Select query to implement CREATE TABLE AS.
Cleanup some declarations in the Sqlite C extension.
Add new example showing how to implement Reddit's ranking algorithm in SQL.
4.9.0.1 (2019-06-04)
- issue #14478 phpMyAdmin no longer streams the export data
- issue #14514 Tables with SYSTEM VERSIONING show up as views instead of tables
- issue #14515 Values cannot be edited in SYSTEM VERSIONING tables with INVISIBLE timestamps
- issue Fix header icon on server plugins page
- issue #14298 Fixed error 500 on MultiTableQuery page when a empty query is passed
- issue #14402 Fixed fatal javascript error while adding index to a new column
- issue #14896 Fixed issue with plus/minus icon when refreshing an expanded database
- issue #14922 Fixed json encode error in export
- issue #13975 Fixed missing query time in German (fix decimal number format issue)
- issue #14503 Fixed JavaScript events not activating on input (sql bookmark issue)
- issue #14898 Fixed Bottom table is blocked in database list (left panel)
- issue #14425 Fixed Null Checkbox automatically unmarked
- issue #14870 Display correct date and time in Zip files
- issue #14763 Fixed the loading symbol not appearing when refreshing the navigation
- issue #14607 Count rows only if needed
- issue #14832 Show Designer combo boxes when adding a constraint
- issue #14948 Fix change password is not showing password strength difference at the second attempt
- issue #14868 Fix edit view
- issue #14943 Fixed loading Forever when creating new view without filling any field
- issue #14843 Fix Bookmark::get() id matching SQL
- issue #14734 Fixed invalid default value for bit field
- issue #14311 Fixed undefined index in setup script
- issue #14991 Fixed TypeError in GIS editor
- issue Fixed GIS data editor for multi server setup
- issue #14312 Fixed type error in setup script when adding new server
- issue #14053 Fix missed padding on query results
- issue #14826 Fixed javascript error PMA_messages is not defined
- issue Show error message if config-set fails and not "loading..." forever
- issue #14359 Prevent multiple error modals, and error-report request spamming from script
- issue Fixed error reporting javascript errors on multi server setup
- issue Fixed wrong property name on TableStructureController
- issue #14811 Fix SHOW FULL TABLES FROM when a table is locked
- issue #14916 Fix bug when creating or editing views
- issue #14931 Fixed php error when using a query like SELECT 1 INTO @a; SELECT @a; in inline query edit
- issue #15074 Make the server logo visible on theme "original"
- issue #15077 Fixed incorrect page numbers
- issue #14205 Fixed "No tables found in database" when you delete all tables from last page
- issue #14957 Virtuality is not selected when editing generated column (added virtuality(stored) option for mariadb)
- issue #14853 Insert page should not allow entering things into virtual columns
- issue #15110 Fixed TypeError e.preventDefaulut is not a function
- issue #15115 Improved label in Settings export, clarifying that it's a JSON file
- issue #14816 Fixed [designer] Cannot read property 'style' of null
- issue Fixed [designer] Add new tables with database/table list modal
- issue Fixed query format on multi server setup
- issue Fixed remove partitioning on multi server setup
- issue Fixed normalization
- issue Fixed 'RESET SLAVE' button on replication slave
- issue Fixed sending a php error report on multi server setup
- issue Fixed downloading of monitor parameters for IE 11, Edge, Chrome and others
- issue #15141 Fixed php notice Undefined index: designer_settings
- issue #12729 Fixed sticky table header over dropdown menu
- issue #15140 Fixed edit link does not work on failed insert
- issue #14334 Fixed export table structure shows rows fields
- issue #15010 Fixed empty SQL preview modal on tbl_relation
- issue #14673 Fixed innodb & MySQL 8: DYNAMIC & COMPRESSED ROW_FORMAT missing
- issue Fixed empty success message when adding a new INDEX from left panel
- issue #15150 Fixed generate password hidden on second open of change password modal
- issue Fixed import XML data with leading zeros
- issue #15036 Fixed missing input fields checks for MaxSizeForInputField
- issue #15119 Fixed uninterpreted HTML on Settings->Export page
- issue #15159 Fixed missing query time and database in console
- issue #13713 Fixed column comments in the floating table header
- issue #15177 Fixed label alignment on login page
- issue #15210 Fixed a typo in the english name of the Albanian language
- issue Fixed issue when resetting charset in import.php
- issue #14460 Fixed forms where submitted multiple times on CTRL + ENTER
- issue #15038 Fixed console height was allowing a negative values
- issue #15219 Fixed 'No Password' option does not switch automatically to 'Use Text Field' in add user account
- issue Fixed importing the exported config on Server status monitor page
- issue #15228 Fixed php notice 'Undefined index: foreign_keys_data' on designer when the user has column access
- issue #12900 Fixed designer page saving gives error when configuration storage is not set up
- issue #15229 Fixed php notice, added support for 'DELETE HISTORY' table privilege (MariaDB >= 10.3.4)
- issue #14527 Fixed import settings function not working
- issue #14908 Fixed uninterpreted HTML on Settings->Import (missing data error descriptions)
- issue #14800 Fixed status->Processes doesn't show full query process list page
- issue #14833 Fixed sort by Time not working in process list page
- issue #14982 Fixed setting "null" keep an "enum" value
- issue #14401 Fixed insert rows keypress Enter behavior
- issue #15146 Fixed error reports can not be sent because they are too large
- issue #15205 Fixed useless backquotes on sql preview modal when deleting an index
- issue #13178 Fixed issues with uppercase table and database names (lower_case_table_names=1)
- issue #14383 Fixed warning when browsing certain tables (GIS data)
- issue #12865 Fixed MySQL 8.0.0 issues with GIS display
- issue #15059 Fixed "Server charset" in "Database server" tab showing wrong information
- issue #14614 Fixed mysql error "#2014 - Commands out of sync; you can't run this command now" on sql query
- issue #15238 Fixed phpMyAdmin 4.8.5 doesn't show privileges of procedures (raw html displayed instead)
- issue #13726 Fixed can not copy user on Percona Server 5.7
- issue #15239 Fixed javascript error while fetching latest version info and switching pages
- issue #14301 Fixed javascript error when editing a JSON data type column
- issue #15240 Fixed apply a Settings form with errors shows a JSON response after using return back
- issue #15043 Fixed multiple errors printing on Settings page
- issue #15037 Fixed unexpected behavior of reset button on Settings
- issue #15157 Fixed 'Settings' tab not marked as active when browsing 2FA settings
- issue #14934 Fixed all fields readonly on Edit/Insert screens
- issue #14588 Fixed export of geometry objects, GIS objects are now exported as hex
- issue #14412 Better handling of errors with Signon authentication type
- issue Added support for AUTO_INCREMENT when using ROCKSDB, on Operations page
- issue #15276 Fixed partitioning is missing in Structure page UI (MySQL 8.0)
- issue #14252 Fixed DisableIS and database tree list (new database missing when refreshing the list)
- issue #14621 Removed "Propose table structure" on MySQL 8.0
- issue Fixed editing of virtual columns on PerconaDB
- issue #13854 Fixed column options are ignored for GENERATED/VIRTUAL/STORED columns
- issue #15262 Fixed incorrect display of charset column (raw html)
- issue Added explicit parentheses in nested ternary operators
- issue #15287 Fix auto_increment field is too small
- issue #15283 Fix tries to change collation on views when changing collation on all tables/fields
- issue Fixed empty PMA_gotoWhitelist JavaScript array
- issue #15079 Fixed responsive behaviour of instruction dialog box
- issue #10846 Fixed javascript error when renaming a table
- issue Updated sql-parser to version 4.3.2
- issue [security] SQL injection in Designer (PMASA-2019-3)
- issue [security] CSRF attack on 'cookie' login form (PMASA-2019-4)
4.8.5 (2019-01-25)
- issue Developer debug data was saved to the PHP error log
- issue #14217 Fix issue when adding user on MySQL 8.0.11
- issue #13788 Exporting a view structure based on another view with a sub-query throws no database selected error
- issue #14635 Fix PHP error in GitRevision, error in processing request, error code 200
- issue #14787 Cannot execute stored procedure
- issue Add Burmese language
- issue #14794 Not responding to click, frozen interface, plugin Text_Plain_Sql error
- issue #14786 Table level Operations functions missing
- issue #14791 PHP warning, db_export.php#L91 urldecode()
- issue #14775 Export to SQL format not available for tables
- issue #14782 Error message shown instead of two-factor QR code when adding 2fa to a user
- issue [security] Arbitrary file read/delete relating to MySQL LOAD DATA LOCAL INFILE and an evil server instance (PMASA-2019-1)
- issue [security] SQL injection in Designer (PMASA-2019-2)
- Fixed test failure due to a hard-coded system error that may be
localized on non-en-US hosts. Thanks to Slaven Rezić for the catch
(#427).
- Now require Test::MockModule 0.17 to silence a warning during testing.
Thanks to Slaven Rezić for the suggestion.
- Fixed an error when Sqitch is run with no arguments. Thanks to Henrik
Tudborg for the report (#428).
- Fixed missing dependency on IO::Pager in the distribution metadata.
- Removed use of File::HomeDir, thanks to a PR from Karen Etheridge
(#433).
- Updated the tagline from "Sane database change management" to "Sensible
database change management" out of sensitivity to those subject to
mental illness (#435).
- Removed double-quoting of SQLite commands on Windows, inadvertently
added by the workaround for Windows quoting in v0.9999.
- Fixed a Snowflake issue where Sqitch failed to recognize the proper
error code for a missing table and therefore an uninitialized registry.
Thanks to @lerouxt and @kulmam92 for the report and fix (#439).
- Added check for project initialization when no engine config can be
found. When run from a directory with no configuration, Sqitch now
reports that the project is not initialized instead of complaining
about a lack of engine config (#437).
- Documented Snowflake key pair authentication in
`sqitch-authentication`, as well as `$SNOWSQL_PRIVATE_KEY_PASSPHRASE`
in `sqitch-environment`. Thanks to Casey Largent for figuring it out
(#441).
- Added the German localization. Thanks to Thomas Iguchi for the pull
request (#451).
- Renamed the French localization from "fr" to "fr_FR", so that systems
will actually find it.
- Added the `ask_yes_no()` method as a replacement for `ask_y_n()`, which
is now deprecated. The new method expects localized responses from the
user when translations are provided. Defaults to the English "yes" and
"no" when no translation is available. Suggested by German translator
Thomas Iguchi (#449).
- Fixed a bug where only project without a URI was allowed in the
registry. Thanks to Conding-Brunna for the report (#450).
- Clarified the role of project URIs for uniqueness: They don't allow
multiple projects with the same name, but do prevent the deployment of
a project with the same name but different URI.
- Fixed an issue where target variables could not be found when a target
name was not lowercase. Thanks to @maximejanssens for the report
(#454).
- Now require Config::GitLike 1.15 or higher.
- Fixed the indentation of variables emitted by the `show` actions of the
`target` and `engine` commands, fixing a "Negative repeat count does
nothing" warning in the process. Thanks to @maximejanssens for the
report (#454).
- Fixed a Snowflake test failure when the current system username has a
space or other character requiring URI escaping. Thanks to Ralph
Andrade for the report (#463).
- Fixed an issue where a wayward newline in some versions of SQLite
prevented Sqitch from parsing the version. Thanks to Kivanc Yazan
for the report (#465) and the fix (#465)!
- Fixed an error when Sqitch was run on a system without a valid
username, such as some Docker environments. Thanks to Ferdinand Salis
for the report (#459)!
- When Sqitch finds the registry does not exist on PostgreSQL, it now
sends a warning to the PostgreSQL log reporting that it will initialize
the database. This is to reduce confusion for folks watching the
PostgreSQL error log while Sqitch runs (#314).
Release 1.22
Corrected formatting to be compliant with the Google C++ Style Guide.
Specifically export the WriteBatch::Handler inner class for Windows link.
Merge pull request 665 from cheng-chang:coding.
Merge pull request 669 from pavel-pimenov:fix-readme-windows-mkdir.
Merge pull request 472 from zhoudayang:patch-1.
Merge pull request 339 from richcole-at-amazon:master.
Restore soname versioning with CMake build.
Other miscellaneous cleanups, fixes, and improvements.
Release 1.21
Switched to using Copybara for project synchronization.
Minor cleanup in ports.
Silence unused argument warnings in MSVC.
Add tests for empty keys and values.
Switch corruption_test to use InMemEnv.
Replace AtomicPointer with std::atomic.
Make InMemoryEnv more consistent with filesystem based Env's.
Align windows_logger with posix_logger.
Improve CI configuration and added AppVeyor (Windows CI) badge to README.
Added native support for Windows.
Make WriteBatch::ApproximateSize() const.
Fix PosixWritableFile::Sync() on Apple systems.
Fix fdatasync() feature detection in opensource build.
C++11 cleanup for util/mutexlock.h.
Rework threading in env_posix.cc.
Remove InitOnce from the port API.
Expose WriteBatch::Append().
Fix documentation for log file growth.
Add move constructor to Status.
Replace port_posix with port_stdcxx.
Reimplement ConsumeDecimalNumber.
Document the building process.
Replace NULL with nullptr in C++ files.
Remove PLATFORM_IS_LITTLE_ENDIAN from port/posix.h.
Add more thread safety annotations.
Require C++11.
Replace SIZE_MAX with std::numeric_limits.
Add CMake build support.
Enable thread safety annotations.
leveldb::DestroyDB will now delete empty directories.
Replace SSE-optimized CRC32C in POSIX port with external library.
Fix file writing bug in CL 170738066.
Fix use of uninitialized value in LRUHandle.
Fix issue 474: a race between the f*_unlocked() STDIO calls in env_posix.cc and concurrent application calls to fflush(NULL).
Use __APPLE__ instead of OS_MACOS. The former is compiler-provided.
Report missing CURRENT manifest file as database corruption.
LevelDB: Add WriteBatch::ApproximateSize().
Other minor fixes, code cleanup, and documentation improvements.
2.10.0:
[CHANGE/BUGFIX] API: Encode alert values as string to correctly represent Inf/NaN.
[FEATURE] Template expansion: Make external labels available as $externalLabels in alert and console template expansion.
[FEATURE] TSDB: Add prometheus_tsdb_wal_segment_current metric for the WAL segment index that TSDB is currently writing to.
[FEATURE] Scrape: Add scrape_series_added per-scrape metric.
[ENHANCEMENT] Discovery/kubernetes: Add labels __meta_kubernetes_endpoint_node_name and __meta_kubernetes_endpoint_hostname.
[ENHANCEMENT] Discovery/azure: Add label __meta_azure_machine_public_ip.
[ENHANCEMENT] TSDB: Simplify mergedPostings.Seek, resulting in better performance if there are many posting lists.
[ENHANCEMENT] Log filesystem type on startup.
[ENHANCEMENT] Cmd/promtool: Use POST requests for Query and QueryRange.
[ENHANCEMENT] Web: Sort alerts by group name.
[ENHANCEMENT] Console templates: Add convenience variables $rawParams, $params, $path.
[BUGFIX] TSDB: Don't panic when running out of disk space and recover nicely from the condition.
[BUGFIX] TSDB: Correctly handle empty labels.
[BUGFIX] TSDB: Don't crash on an unknown tombstone reference.
[BUGFIX] Storage/remote: Remove queue-manager specific metrics if queue no longer exists.
[BUGFIX] PromQL: Correctly display {__name__="a"}.
[BUGFIX] Discovery/kubernetes: Use service rather than ingress as the name for the service workqueue.
[BUGFIX] Discovery/azure: Don't panic on a VM with a public IP.
[BUGFIX] Discovery/triton: Always read HTTP body to completion.
[BUGFIX] Web: Fixed Content-Type for js and css instead of using /etc/mime.types.
1.3.4
orm
[orm] [bug]
Fixed issue where the AttributeEvents.active_history flag would not be set for an event listener that propgated to a subclass via the AttributeEvents.propagate flag. This bug has been present for the full span of the AttributeEvents system.
[orm] [bug]
Fixed regression where new association proxy system was still not proxying hybrid attributes when they made use of the @hybrid_property.expression decorator to return an alternate SQL expression, or when the hybrid returned an arbitrary PropComparator, at the expression level. This involved futher generalization of the heuristics used to detect the type of object being proxied at the level of QueryableAttribute, to better detect if the descriptor ultimately serves mapped classes or column expressions.
[orm] [bug]
Applied the mapper “configure mutex” against the declarative class mapping process, to guard against the race which can occur if mappers are used while dynamic module import schemes are still in the process of configuring mappers for related classes. This does not guard against all possible race conditions, such as if the concurrent import has not yet encountered the dependent classes as of yet, however it guards against as much as possible within the SQLAlchemy declarative process.
[orm] [bug]
A warning is now emitted for the case where a transient object is being merged into the session with Session.merge() when that object is already transient in the Session. This warns for the case where the object would normally be double-inserted.
[orm] [bug]
Fixed regression in new relationship m2o comparison logic first introduced at Improvement to the behavior of many-to-one query expressions when comparing to an attribute that is persisted as NULL and is in an un-fetched state in the mapped instance. Since the attribute has no explicit default, it needs to default to NULL when accessed in a persistent setting.
engine
[engine] [bug] [postgresql]
Moved the “rollback” which occurs during dialect initialization so that it occurs after additional dialect-specific initialize steps, in particular those of the psycopg2 dialect which would inadvertently leave transactional state on the first new connection, which could interfere with some psycopg2-specific APIs which require that no transaction is started. Pull request courtesy Matthew Wilkes.
sql
[sql] [bug]
Fixed that the GenericFunction class was inadvertently registering itself as one of the named functions. Pull request courtesy Adrien Berchet.
[sql] [bug]
Fixed issue where double negation of a boolean column wouldn’t reset the “NOT” operator.
[sql] [bug]
The GenericFunction namespace is being migrated so that function names are looked up in a case-insensitive manner, as SQL functions do not collide on case sensitive differences nor is this something which would occur with user-defined functions or stored procedures. Lookups for functions declared with GenericFunction now use a case insensitive scheme, however a deprecation case is supported which allows two or more GenericFunction objects with the same name of different cases to exist, which will cause case sensitive lookups to occur for that particular name, while emitting a warning at function registration time. Thanks to Adrien Berchet for a lot of work on this complicated feature.
postgresql
[postgresql] [bug] [orm]
Fixed an issue where the “number of rows matched” warning would emit even if the dialect reported “supports_sane_multi_rowcount=False”, as is the case for psycogp2 with use_batch_mode=True and others.
mysql
[mysql] [bug]
Added support for DROP CHECK constraint which is required by MySQL 8.0.16 to drop a CHECK constraint; MariaDB supports plain DROP CONSTRAINT. The logic distinguishes between the two syntaxes by checking the server version string for MariaDB presence. Alembic migrations has already worked around this issue by implementing its own DROP for MySQL / MariaDB CHECK constraints, however this change implements it straight in Core so that its available for general use. Pull request courtesy Hannes Hansen.
mssql
[mssql] [feature]
Added support for SQL Server filtered indexes, via the mssql_where parameter which works similarly to that of the postgresql_where index function in the PostgreSQL dialect.
[mssql] [bug]
Added error code 20047 to “is_disconnect” for pymssql. Pull request courtesy Jon Schuff.
misc
[misc] [bug]
Removed errant “sqla_nose.py” symbol from MANIFEST.in which created an undesirable warning message.
RRDtool 1.7.2:
Bugfixes
* Updated the Makefiles to properly include all needed files into the distribution tar
* Cleand up Compiler Warnings
* Improved compilation in MinGW environment
* fix segfault on non-existent RRD file when using rrdcached
* fix bounds handling, documentation and checking on rrdtool xport
* Fix %s/%S unit autoscaling in gprint for json/xml
* Optimized PDP Calculation
Release 0.3.0:
Notable Changes
* Remove support for Python 3.3.
Enhancements
* New formatting option "--indent_after_first"
* New formatting option "--indent_columns"
* Add UPSERT keyword
* Strip multiple whitespace within parentheses
* Support double slash (//) comments
* Support for Calcite temporal keywords
Bug Fixes
* Fix occasional IndexError
* Fix incorrect splitting of strings containing new lines
* Fix reindent issue for parenthesis
* Fix from( parsing issue
* Fix for get_real_name() to return correct name
* Wrap function params when wrap_after is set
* Fix parsing of "WHEN name" clauses
* Add missing EXPLAIN keyword
* Fix issue with strip_comments causing a syntax error
* Fix formatting on INSERT which caused staircase effect on values
by fredyw).
* Avoid formatting of psql commands
Internal Changes
* Unify handling of GROUP BY/ORDER BY
* Remove unnecessary compat shim for bytes
2.9.2:
[BUGFIX] Make sure subquery range is taken into account for selection
[BUGFIX] Exhaust every request body before closing it
[BUGFIX] Cmd/promtool: return errors from rule evaluations
[BUGFIX] Remote Storage: string interner should not panic in release
[BUGFIX] Fix memory allocation regression in mergedPostings.
2.9.1:
[BUGFIX] Discovery/kubernetes: fix missing label sanitization
[BUGFIX] Remote_write: Prevent reshard concurrent with calling stop
2.9.0:
This releases uses Go 1.12, which includes a change in how memory is released
to Linux. This will cause RSS to be reported as higher, however this is harmless
and the memory is available to the kernel when it needs it.
[CHANGE/ENHANCEMENT] Update Consul to support catalog.ServiceMultipleTags.
[FEATURE] Add honor_timestamps scrape option.
[ENHANCEMENT] Discovery/kubernetes: add present labels for labels/annotations.
[ENHANCEMENT] OpenStack SD: Add ProjectID and UserID meta labels.
[ENHANCEMENT] Add GODEBUG and retention to the runtime page.
[ENHANCEMENT] Add support for POSTing to /series endpoint.
[ENHANCEMENT] Support PUT methods for Lifecycle and Admin APIs.
[ENHANCEMENT] Scrape: Add global jitter for HA server.
[ENHANCEMENT] Check for cancellation on every step of a range evaluation.
[ENHANCEMENT] String interning for labels & values in the remote_write path.
[ENHANCEMENT] Don't lose the scrape cache on a failed scrape.
[ENHANCEMENT] Reload cert files from disk automatically.
[ENHANCEMENT] Use fixed length millisecond timestamp format for logs.
[ENHANCEMENT] Performance improvements for postings.
[BUGFIX] Remote Write: fix checkpoint reading.
[BUGFIX] Check if label value is valid when unmarshaling external labels from YAML.
[BUGFIX] Promparse: sort all labels when parsing.
[BUGFIX] Reload rules: copy state on both name and labels.
[BUGFIX] Exponentation operator to drop metric name in result of operation.
[BUGFIX] Config: resolve more file paths.
[BUGFIX] Promtool: resolve relative paths in alert test files.
[BUGFIX] Set TLSHandshakeTimeout in HTTP transport.
[BUGFIX] Use fsync to be more resilient to machine crashes.
[BUGFIX] Keep series that are still in WAL in checkpoints.
[BUGFIX] Fix output sample values for scalar-to-vector comparison operations.
Redis 5.0.5:
Upgrade urgency CRITICAL: This release fixes an important AOF fysnc bug
and other less critical issues.
Dear user,
Redis 5.0.5 fixes an important issue with AOF and adds multiple very useful
modules APIs. Moreover smaller bugs in other parts of Redis are fixed in
this release.
The AOF bug
The AOF bug happens when the fsync policy is set to "everysec", which is the
default: if the write load in the server drops immediately, the commands
executed in the latest second may not be fsync-ed to disk as it should.
This may lead to data loss in case the write load drops immediately and
successively a server crash happens.
Other things in this release
* Streams: a bug in the iterator could prevent certain items to be returned in
range queries under specific conditions.
* Memleak in bitfieldCommand fixed.
* Modules API: Preserve client->id for blocked clients.
* Fix memory leak when rewriting config file in case of write errors.
* New modules API: RedisModule_GetKeyNameFromIO().
* Fix non critical bugs in diskless replication.
* New mdouels API: command filtering. See RedisModule_RegisterCommandFilter();
* Tests improved to be more deterministic.
* Fix a Redis Cluster bug, manual failover may abort because of the master
sending PINGs to the replicas.
Fixes build with OpenSSL-1.1.
libgda 5.2.9
- Fix Sun JRE 1.8 detection
- Fix JDK 11.0 detection
- Drop unneeded JAVAH variable check
- Fix build for System Installed SQLite libs
- Non-Dates and Timestamps values returns 'NULL' string when converted
- Fix --with-ui, now UI is buildable when enable
libgda 5.2.8 2018-12-03
- Fix a typo on sv translation
- Please note: releases 5.2.6 and 5.2.7 were unable to be published at
downdload.gnome.org
libgda 5.2.7 2018-11-07
- SQLite provider uses system installed one by default
- Revome build's date from documentation
- introspection: removed system install in favor of --prefix
libgda 5.2.6 2018-10-03
- Fixed compilation on MacOS
- All Vala bindings and Vala extensions are built by default using --enable-vala,
added --disable* switch to disable some or all of them
- Fixes on outdated unit tests
- Removed unused Vala extensions
- Translations:
- es (Daniel Mustieles)
libgda 5.2.5 2018-09-25
- GdaConnection has removed the use of g_object_weak_*, improving
multi-threading behaviour
- Prepared statements now use GWeakRef for weak references
- GdaDataPivot use instance providers and locking
- GdaVConnectionDataModel use GRecMutex
- Updated SQLite to 3.8.11.1
- Fix SQLCipher build by embedding source code for 3.4.2 version
- Fix SQLCipher disabling
- Updated GObject Introspection annotations
- Fix Doc generation
- Bugs corrected: #787685#789382#761560#761529#760420#761424#754263#754208
- Corrected HTML output containing <SCRIPT> tag
- Correct some truncated help strings
- Don't use (deprecated) g_thread_supported()
- MySQL meta data: fixed case where schema is incomplete in MySQL database
- Allow introspection for gda_sql_builder_add_cond_v()
- SQLite: handle WITHOUT ROWID without any error
- Translations:
- es (Daniel Mustieles)
- da (Ask Hjorth Larsen)
- pt_BR (Rafael Fontenelle)
- eu (Inaki Larranaga Murgoitio)
- sr (Мирослав Николић)
- sv (Anders Jonsson)
- de (Mario Blättermann)
- cs (Marek Černocký)
- hu (Balázs Meskó)
- oc (Balázs Meskó)
- el (Tom Tryfonidis)
- po (Pedro Albuquerque)
- id (Andika Triwidada)
libgda 5.2.4, 2015-06-13
- Added missing file in distributed tarball, bug #750891
libgda 5.2.3, 2015-06-12
- Improved Vala and introspection
- Bugs corrected: #722531, #722773, #730813, #742312, #750191 and others
- Translations:
- zh_CN (Wylmer Wang)
- el (Dimitris Spingos)
- sr (Мирослав Николић)
- bs (Samir Ribic)
- pl (Piotr Drąg)
- cs (Marek Černocký)
- es (Daniel Mustieles)
- id (Andika Triwidada)
- eu (Inaki Larranaga Murgoitio)
- pt (Pedro Albuquerque)
InfluxDB is an open source time series database with no external
dependencies. It is useful for recording metrics, events, and
performing analytics.
Patches and testing provided by Bill Welliver in joyent/pkgsrc#194
PostgreSQL 11.3, 10.8, 9.6.13, 9.5.17, and 9.4.22 Released!
The PostgreSQL Global Development Group has released an update to all supported versions of our database system, including 11.3, 10.8, 9.6.13, 9.5.17, and 9.4.22. This release fixes two security issues in the PostgreSQL server, a security issue found in two of the PostgreSQL Windows installers, and over 60 bugs reported over the last three months.
Security Issues
Four security vulnerabilities have been closed by this release:
CVE-2019-10127: BigSQL Windows installer does not clear permissive ACL entries
CVE-2019-10128: EnterpriseDB Windows installer does not clear permissive ACL entries
Due to both the EnterpriseDB and BigSQL Windows installers not locking down the permissions of the PostgreSQL binary installation directory and the data directory, an unprivileged Windows user account and an unprivileged PostgreSQL account could cause the PostgreSQL service account to execute arbitrary code.
This vulnerability is present in all supported versions of PostgreSQL for these installers, and possibly exists in older versions. Both sets of installers have fixed the permissions for these directories for both new and existing installations. If you have installed PostgreSQL on Windows using other methods, we advise that you check that your PostgreSQL binary directories are writable only to trusted users and that your data directories are only accessible to trusted users.
The PostgreSQL project thanks Conner Jones for reporting this problem.
CVE-2019-10129: Memory disclosure in partition routing
Prior to this release, a user running PostgreSQL 11 can read arbitrary bytes of server memory by executing a purpose-crafted INSERT statement to a partitioned table.
CVE-2019-10130: Selectivity estimators bypass row security policies
PostgreSQL maintains statistics for tables by sampling data available in columns; this data is consulted during the query planning process. Prior to this release, a user able to execute SQL queries with permissions to read a given column could craft a leaky operator that could read whatever data had been sampled from that column. If this happened to include values from rows that the user is forbidden to see by a row security policy, the user could effectively bypass the policy. This is fixed by only allowing a non-leakproof operator to use this data if there are no relevant row security policies for the table.
This issue is present in PostgreSQL 9.5, 9.6, 10, and 11. The PostgreSQL project thanks Dean Rasheed for reporting this problem.
Bug Fixes and Improvements
This update also fixes over 60 bugs that were reported in the last several months. Some of these issues affect only version 11, but many affect all supported versions.
Some of these fixes include:
Several catalog corruption fixes, including one related to running ALTER TABLE on a partitioned table
Several fixes for partitioning
Avoid server crash when an error occurs while trying to persist a cursor query across a transaction commit
Avoid O(N^2) performance issue when rolling back a transaction that created many tables
Fix possible “could not access status of transaction” failures in txid_status()
Fix updatable views to handle explicit DEFAULT items in INSERT .. VALUES statements where there are multiple VALUES rows
Fix CREATE VIEW to allow zero-column views
Add missing support for the CREATE TABLE IF NOT EXISTS .. AS EXECUTE .. statement
Ensure that sub-SELECTs appearing in row-level-security policy expressions are executed with the correct user's permissions
Accept XML documents as valid values of type xml when xmloption is set to content, as required by SQL:2006 and later
Fix incompatibility of GIN-index WAL records that were introduced in 11.2, 10.7, 9.6.12, 9.5.16, and 9.4.21 that affected replica servers running these versions reading in changes to GIN indexes from primary servers of older versions
Several memory leak fixes as well as fixes to management of dynamic shared memory
Relax panics on fsync and sync_file_range failures for certain cases where a failure indicated "operation not supported"
Several fixes to the query planner, several of which should lead to planning improvements
Fix race condition in which a hot-standby postmaster could fail to shut down after receiving a smart-shutdown request
Several fixes for SCRAM authentication
Fix handling of lc_time settings that imply an encoding different from the database's encoding
Create the current_logfiles file with the same permissions as other files in the server's data directory
Several ecpg fixes
Make pg_verify_checksums verify that the data directory it's pointed at is of the right PostgreSQL version
Several fixes for contrib/postgres_fdw, including one for remote partitions where an UPDATE could lead to incorrect results or a crash
Several Windows fixes
This update also contains tzdata release 2019a for DST law changes in Palestine and Metlakatla, plus historical corrections for Israel. Etc/UCT is now a backward-compatibility link to Etc/UTC, instead of being a separate zone that generates the abbreviation UCT, which nowadays is typically a typo. PostgreSQL will still accept UCT as an input zone abbreviation, but it won't output it.
=== 5.20.0 (2019-05-01)
* Fix reversing of alter_table add_foreign_key when :type option is used (jeremyevans) (#1615)
* Switch from using instance_exec to define_method for model associations and in some plugins (jeremyevans)
* Fix Database#server_version when using mysql2 adapter with mysql driver on MariaDB 10+ database (v-kolesnikov) (#1614)
* Make one_to_one setter method handle models that use joined datasets (jeremyevans) (#1612)
* Make auto_validations plugin work with the class_table_inheritance plugin (jeremyevans) (#1611)
* Avoid use of instance_exec for PlaceholderLiteralString#with_dataset (jeremyevans)
* Recognize float unsigned database types as float (keeguon, jeremyevans) (#1609)
* Support :savepoint options to Database#{after_commit,after_rollback} for making the hooks handle savepoints (jeremyevans)
* Avoid use of instance_exec in association_dependencies plugin (jeremyevans)
* Add pg_auto_constraint_validation_override to the pg_auto_constraint_validations plugin, for customizing columns and error message per constraint (jeremyevans)
* Make Database#check_constraints on PostgreSQL also include constraints where the related columns are not known (jeremyevans)
pkgsrc change: add "USE_LANGUAGES= # none".
1.1.1
* Adapters::Sequel - use prepared statements
* Adapters::Sqlite - use upsert for increment where supported
1.1.0
* Adapters::ActiveRecord - rewrite to use Arel directly; support for Rails 5
* Moneta::Server - close all connections when stopping
* Moneta::Shared - recover from socket errors
* Transformer - add :urlsafe_base64; use this by default for keys with Couch
adapter
* Adapters::MongoMoped - recover from failed increment
* Moneta::Pool - fix race condition in #pop (#144)
* Moneta::Client - raise EOFError if a read fails
* Moneta::Expires - use Rational objects to get much more accurate time
resolution
* Moneta::Lock/Moneta::Pool - allow wrapped methods to call other wrapped
methods
* Adapters::Sequel - add optimisations for MySQL, PostgreSQL and SQLite
* Adapters::Sequel - add Postgres+HStore backend
* Add Adapters::ActiveSupportCache
* Adapters::Sqlite - add :journal_mode option
* Add table creation options to Sequel and ActiveRecord adapters
* Adapters::ActiveRecord - support for forking (#159)
* Adapters::Cassandra - rewrite to use cassandra-driver gem (#81)
* Adapters::Couch - add a LRUHash to cache document revs
* Adapters::KyotoCabinet - implement atomic increment
* Add :each_key feature and implemented on many adapters; add
Moneta::WeakEachKey (#143; see feature matrix)
* Add bulk read/write methods to the spec; added default implementation to
Defaults and fast versions in many adapters (#116; see feature matrix)
* First class support for latest JRuby (#160)
* Minimum required MRI version is now 2.2.2 (#135)
pkgsrc change: allow any Ruby on Rails in pkgsrc.
5.2.3: 2019-02-15
Improvements
* Changed to use add and delete for modify if it's needed.
[GitHub#156][Patch by David Klotz]
* Added support for timezone with munites offset such as @0530@.
[GitHub#160][GitHub#161][Patch by Neng Xu]
* Added support for Ruby 2.6.
Thanks
* David Klotz
* Neng Xu
1.0.10
bug
[bug] [commands]
Fixed bug introduced in release 0.9.0 where the helptext for commands inadvertently got expanded to include function docstrings from the command.py module. The logic has been adjusted to only refer to the first line(s) preceding the first line break within each docstring, as was the original intent.
[bug] [mysql] [operations]
Added an assertion in RevisionMap.get_revisions() and other methods which ensures revision numbers are passed as strings or collections of strings. Driver issues particularly on MySQL may inadvertently be passing bytes here which leads to failures later on.
[bug] [autogenerate] [mysql]
Fixed bug when using the EnvironmentContext.configure.compare_server_default flag set to True where a server default that is introduced in the table metadata on an Integer column, where there is no existing server default in the database, would raise a TypeError.
1.0.9
bug
[bug] [operations]
Simplified the internal scheme used to generate the alembic.op namespace to no longer attempt to generate full method signatures (e.g. rather than generic *args, **kw) as this was not working in most cases anyway, while in rare circumstances it would in fact sporadically have access to the real argument names and then fail when generating the function due to missing symbols in the argument signature.
1.3.3
orm
[orm] [bug]
Fixed 1.3 regression in new “ambiguous FROMs” query logic introduced in Query.join() handles ambiguity in deciding the “left” side more explicitly where a Query that explicitly places an entity in the FROM clause with Query.select_from() and also joins to it using Query.join() would later cause an “ambiguous FROM” error if that entity were used in additional joins, as the entity appears twice in the “from” list of the Query. The fix resolves this ambiguity by folding the standalone entity into the join that it’s already a part of in the same way that ultimately happens when the SELECT statement is rendered.
[orm] [bug]
Adjusted the Query.filter_by() method to not call and() internally against multiple criteria, instead passing it off to Query.filter() as a series of criteria, instead of a single criteria. This allows Query.filter_by() to defer to Query.filter()’s treatment of variable numbers of clauses, including the case where the list is empty. In this case, the Query object will not have a .whereclause, which allows subsequent “no whereclause” methods like Query.select_from() to behave consistently.
postgresql
[postgresql] [bug]
Fixed regression from release 1.3.2 caused by 4562 where a URL that contained only a query string and no hostname, such as for the purposes of specifying a service file with connection information, would no longer be propagated to psycopg2 properly. The change in 4562 has been adjusted to further suit psycopg2’s exact requirements, which is that if there are any connection parameters whatsoever, the “dsn” parameter is no longer required, so in this case the query string parameters are passed alone.
mssql
[mssql] [bug]
Fixed issue in SQL Server dialect where if a bound parameter were present in an ORDER BY expression that would ultimately not be rendered in the SQL Server version of the statement, the parameters would still be part of the execution parameters, leading to DBAPI-level errors. Pull request courtesy Matt Lewellyn.
misc
[bug] [pool]
Fixed behavioral regression as a result of deprecating the “use_threadlocal” flag for Pool, where the SingletonThreadPool no longer makes use of this option which causes the “rollback on return” logic to take place when the same Engine is used multiple times in the context of a transaction to connect or implicitly execute, thereby cancelling the transaction. While this is not the recommended way to work with engines and connections, it is nonetheless a confusing behavioral change as when using SingletonThreadPool, the transaction should stay open regardless of what else is done with the same engine in the same thread. The use_threadlocal flag remains deprecated however the SingletonThreadPool now implements its own version of the same logic.
[bug] [ext]
Fixed bug where using copy.copy() or copy.deepcopy() on MutableList would cause the items within the list to be duplicated, due to an inconsistency in how Python pickle and copy both make use of __getstate__() and __setstate__() regarding lists. In order to resolve, a __reduce_ex__ method had to be added to MutableList. In order to maintain backwards compatibility with existing pickles based on __getstate__(), the __setstate__() method remains as well; the test suite asserts that pickles made against the old version of the class can still be deserialized by the pickle module.
1.3.2
orm
[orm] [bug] [ext]
Restored instance-level support for plain Python descriptors, e.g. @property objects, in conjunction with association proxies, in that if the proxied object is not within ORM scope at all, it gets classified as “ambiguous” but is proxed directly. For class level access, a basic class level``__get__()`` now returns the AmbiguousAssociationProxyInstance directly, rather than raising its exception, which is the closest approximation to the previous behavior that returned the AssociationProxy itself that’s possible. Also improved the stringification of these objects to be more descriptive of current state.
[orm] [bug]
Fixed bug where use of with_polymorphic() or other aliased construct would not properly adapt when the aliased target were used as the Select.correlate_except() target of a subquery used inside of a column_property(). This required a fix to the clause adaption mechanics to properly handle a selectable that shows up in the “correlate except” list, in a similar manner as which occurs for selectables that show up in the “correlate” list. This is ultimately a fairly fundamental bug that has lasted for a long time but it is hard to come across it.
[orm] [bug]
Fixed regression where a new error message that was supposed to raise when attempting to link a relationship option to an AliasedClass without using PropComparator.of_type() would instead raise an AttributeError. Note that in 1.3, it is no longer valid to create an option path from a plain mapper relationship to an AliasedClass without using PropComparator.of_type().
sql
[sql] [bug] [documentation]
Thanks to TypeEngine methods bind_expression, column_expression work with Variant, type-specific types, we no longer need to rely on recipes that subclass dialect-specific types directly, TypeDecorator can now handle all cases. Additionally, the above change made it slightly less likely that a direct subclass of a base SQLAlchemy type would work as expected, which could be misleading. Documentation has been updated to use TypeDecorator for these examples including the PostgreSQL “ArrayOfEnum” example datatype and direct support for the “subclass a type directly” has been removed.
postgresql
[postgresql] [feature]
Added support for parameter-less connection URLs for the psycopg2 dialect, meaning, the URL can be passed to create_engine() as "postgresql+psycopg2://" with no additional arguments to indicate an empty DSN passed to libpq, which indicates to connect to “localhost” with no username, password, or database given. Pull request courtesy Julian Mehnle.
[postgresql] [bug]
Modified the Select.with_for_update.of parameter so that if a join or other composed selectable is passed, the individual Table objects will be filtered from it, allowing one to pass a join() object to the parameter, as occurs normally when using joined table inheritance with the ORM.
3.9.5
* Added small helper for setting timezone when using Postgres.
* Improved SQL generation for `VALUES` clause.
* Support passing resolution to `TimestampField` as a power-of-10.
* Small improvements to `INSERT` queries when the primary-key is not an
auto-incrementing integer, but is generated by the database server (eg uuid).
* Cleanups to virtual table implementation and python-to-sqlite value
conversions.
* Fixed bug related to binding previously-unbound models to a database using a
context manager.
SQLite Release 3.28.0:
Enhanced window functions:
Add support the EXCLUDE clause.
Add support for window chaining.
Add support for GROUPS frames.
Add support for "<expr> PRECEDING" and "<expr> FOLLOWING" boundaries in RANGE frames.
Added the new sqlite3_stmt_isexplain(S) interface for determining whether or not a prepared statement is an EXPLAIN.
Enhanced VACUUM INTO so that it works for read-only databases.
New query optimizations:
Enable the LIKE optimization for cases when the ESCAPE keyword is present and PRAGMA case_sensitive_like is on.
In queries that are driven by a partial index, avoid unnecessary tests of the constraint named in the WHERE clause of the partial index, since we know that constraint must always be true.
Enhancements to the TCL Interface:
Added the -returntype option to the function method.
Added the new bind_fallback method.
Enhancements to the CLI:
Added support for bound parameters and the .parameter command.
Fix the readfile() function so that it returns an empty BLOB rather than throwing an out-of-memory error when reading an empty file.
Fix the writefile() function so that when it creates new directories along the path of a new file, it gives them umask permissions rather than the same permissions as the file.
Change --update option in the .archive command so that it skips files that are already in the archive and are unchanged. Add the new --insert option that works like --update used to work.
Added the fossildelta.c extension that can create, apply, and deconstruct the Fossil DVCS file delta format that is used by the RBU extension.
Added the SQLITE_DBCONFIG_WRITABLE_SCHEMA verb for the sqlite3_db_config() interface, that does the same work as PRAGMA writable_schema without using the SQL parser.
Added the sqlite3_value_frombind() API for determining if the argument to an SQL function is from a bound parameter.
Security and compatibilities enhancements to fts3_tokenizer():
The fts3_tokenizer() function always returns NULL unless either the legacy application-defined FTS3 tokenizers interface are enabled using the sqlite3_db_config(SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER) setting, or unless the first argument to fts3_tokenizer() is a bound parameter.
The two-argument version of fts3_tokenizer() accepts a pointer to the tokenizer method object even without the sqlite3_db_config(SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER) setting if the second argument is a bound parameter
Improved robustness against corrupt database files.
Miscellaneous performance enhancements
3.9.4:
* Add Model.bulk_update() method for bulk-updating fields across multiple
model instances.
* Add lazy_load parameter to ForeignKeyField. When initialized with
lazy_load=False, the foreign-key will not use an additional query to
resolve the related model instance. Instead, if the related model instance is
not available, the underlying FK column value is returned (behaving like the
"_id" descriptor).
* Added Model.truncate_table() method.
* The reflection and pwiz extensions now attempt to be smarter about
converting database table and column names into snake-case. To disable this,
you can set snake_case=False when calling the Introspector.introspect()
method or use the -L (legacy naming) option with the pwiz script.
* Bulk insert via insert_many() no longer require specification of the
fields argument when the inserted rows are lists/tuples. In that case, the
fields will be inferred to be all model fields except any auto-increment id.
* Add DatabaseProxy, which implements several of the Database class context
managers. This allows you to reference some of the special features of the
database object without directly needing to initialize the proxy first.
* Add support for window function frame exclusion and added built-in support
for the GROUPS frame type.
* Add support for chaining window functions by extending a previously-declared
window function.
* Playhouse Postgresql extension TSVectorField.match() method supports an
additional argument plain, which can be used to control the parsing of the
TS query.
* Added very minimal JSONField to the playhouse MySQL extension.
2.8.2:
Fixed "there's no async cursor" error polling a connection with no cursor.
Fixed RealDictCursor when there are repeated columns.
Fixed RealDictRow modifiability.
Binary packages built with OpenSSL 1.1.1b. Should fix concurrency problems.
## Rails 5.2.3 (March 27, 2019) ##
* Fix different `count` calculation when using `size` with manual `select` with DISTINCT.
Fixes#35214.
*Juani Villarejo*
* Fix prepared statements caching to be enabled even when query caching is enabled.
*Ryuta Kamizono*
* Don't allow `where` with invalid value matches to nil values.
Fixes#33624.
*Ryuta Kamizono*
* Restore an ability that class level `update` without giving ids.
Fixes#34743.
*Ryuta Kamizono*
* Fix join table column quoting with SQLite.
*Gannon McGibbon*
* Ensure that `delete_all` on collection proxy returns affected count.
*Ryuta Kamizono*
* Reset scope after delete on collection association to clear stale offsets of removed records.
*Gannon McGibbon*
## Rails 5.2.2.1 (March 11, 2019) ##
* No changes.
=== 5.19.0 (2019-04-02)
* Use more optimized approach to merging hashes in ruby 2.5+ (jeremyevans)
* Use SQLite extended result codes when using ruby-sqlite3 1.4.0+ (jeremyevans)
* Recognize additional SQLite extended result codes in the shared sqlite adapter (jeremyevans)
* Add Database#rename_enum_value to the pg_enum extension (AlexWayfer) (#1603)
* Make Database#drop_table delete constraint validations metadata for that table if using the constraint_validations extension (jeremyevans)
* Speed up row fetching in the sqlite adapter (jeremyevans)
* Speed up row fetching and type conversion in the sqlanywhere adapter (jeremyevans)
2.6:
- fixed empty digestMd5.py file in 2.5.2 package
- explicitly declare digest module md5 in util.ntlm
- change object passed to modify() was unexpectedly mutated
- added LDAPInfoError exception
- added Server.has_control(control) method to check if a server has a specific control
- added Server.has_extension(extension) method to check if a server has a specific extension
- added Server.has_feature(feature) method to check if a server has a specific feature
- fixed checking of \\ in safe_dn
- fixed uuid checking with 5c byte value
- added single=True parameter to the ServerPool object definition. Servers state is shared between connections using the same pool
- updated copyright notice
Release 3.2.0:
Lib/
* Add support for X-ORIGIN in ldap.schema's ObjectClass
* Make initialize() pass extra keyword arguments to LDAPObject
* ldap.controls.sss: use str instead of basestring on Python 3
* Provide ldap._trace_* atributes in non-debug mode
Doc/
* Fix ReST syntax for links to set_option and get_option
Tests/
* Use intersphinx to link to Python documentation
* Correct type of some attribute values to bytes
* Use system-specific ENOTCONN value
Infrastructure:
* Add testing and document support for Python 3.7
* Add Python 3.8-dev to Tox and CI configuration
* Add Doc/requirements.txt for building on Read the Docs
4.3:
repmgr: add "daemon (start|stop)" command
repmgr: add --version-number command line option
repmgr: add --compact option to "cluster show"
repmgr: cluster show - differentiate between unreachable nodes
and nodes which are running but rejecting connections
repmgr: add --dry-run option to "standby promote"
repmgr: add "node check --data-directory-config"
repmgr: prevent potential race condition in "standby switchover"
when checking received WAL location
repmgr: ensure "standby switchover" verifies repmgr can read the
data directory on the demotion candidate
repmgr: ensure "standby switchover" verifies replication connection
exists
repmgr: add sanity check for correct extension version
repmgr: ensure "witness register --dry-run" does not attempt to read node
tables if repmgr extension not installed
repmgr: ensure "standby register" fails when --upstream-node-id is the
same as the local node ID
repmgrd: check binary and extension major versions match
repmgrd: on a cascaded standby, don't fail over if "failover=manual";
repmgrd: don't consider nodes where repmgrd is not running as promotion
candidates
repmgrd: add option "connection_check_type"
repmgrd: improve witness monitoring when primary node not available
repmgrd: handle situation where a primary has unexpectedly appeared
during failover
Psycopg 2.8 released
After about two years from the previous major release, psycopg 2.8 is finally
here!
Among the highlights, PostgreSQL errors are now mapped to Python exceptions for
a more idiomatic way to handle them. Several additions allow a better insight
of the connection status and query results.
Behind the scene, asynchronous communication and concurrency received several
improvements, and dropping support for older versions of Python gave the chance
to refactor and modernise the codebase (with the especial help from Jon
Dufresne who ruthlessly butchered our code into a streamlined pulp).
1.0.8
bug
[bug] [operations] Removed use of deprecated force parameter for SQLAlchemy quoting functions as this parameter will be removed in a future release. Pull request courtesy Parth Shandilya(ParthS007).
[bug] [autogenerate] [postgresql] [py3k] Fixed issue where server default comparison on the PostgreSQL dialect would fail for a blank string on Python 3.7 only, due to a change in regular expression behavior in Python 3.7.
1.3.1
orm
[orm] [bug] [ext] Fixed regression where an association proxy linked to a synonym would no longer work, both at instance level and at class level.
mssql
[mssql] [bug] A commit() is emitted after an isolation level change to SNAPSHOT, as both pyodbc and pymssql open an implicit transaction which blocks subsequent SQL from being emitted in the current transaction.
This change is also backported to: 1.2.19
[mssql] [bug] Fixed regression in SQL Server reflection due to 4393 where the removal of open-ended **kw from the Float datatype caused reflection of this type to fail due to a “scale” argument being passed.
1.3.0
orm
[orm] [feature] The Query.get() method can now accept a dictionary of attribute keys and values as a means of indicating the primary key value to load; is particularly useful for composite primary keys. Pull request courtesy Sanjana S.
[orm] [feature] A SQL expression can now be assigned to a primary key attribute for an ORM flush in the same manner as ordinary attributes as described in Embedding SQL Insert/Update Expressions into a Flush where the expression will be evaulated and then returned to the ORM using RETURNING, or in the case of pysqlite, works using the cursor.lastrowid attribute.Requires either a database that supports RETURNING (e.g. Postgresql, Oracle, SQL Server) or pysqlite.
engine
[engine] [feature] Revised the formatting for StatementError when stringified. Each error detail is broken up over multiple newlines instead of spaced out on a single line. Additionally, the SQL representation now stringifies the SQL statement rather than using repr(), so that newlines are rendered as is. Pull request courtesy Nate Clark.
See also
Changed StatementError formatting (newlines and %s)
sql
[sql] [bug] The Alias class and related subclasses CTE, Lateral and TableSample have been reworked so that it is not possible for a user to construct the objects directly. These constructs require that the standalone construction function or selectable-bound method be used to instantiate new objects.
schema
[schema] [feature] Added new parameters Table.resolve_fks and MetaData.reflect.resolve_fks which when set to False will disable the automatic reflection of related tables encountered in ForeignKey objects, which can both reduce SQL overhead for omitted tables as well as avoid tables that can’t be reflected for database-specific reasons. Two Table objects present in the same MetaData collection can still refer to each other even if the reflection of the two tables occurred separately
Redis 5.0.4
Upgrade urgency HIGH: This release fixes several Redis stability issues.
Dear Redis users, this release includes a number of fixes for bugs that may
result in Redis crashing in special conditions (not normal usage, but specific
artificial conditions), fixes to certain Redis behaviors especially around
Redis streams, and finally a set of new APIs for Redis Modules.
Specifically:
* Hyperloglog different coding errors leading to potential crashes were fixed.
* A replication bug leading to a potential crash in case of plain misuse of handshake commands was fixed.
* XCLAIM command incrementing of number of deliveries was fixed.
* LFU field management in objects was improved.
* A potential overflow in the redis-check-aof was fixed.
* A memory leak in case of API misuse was fixed.
* ZPOP* behavior when count is 0 is fixed.
* A few redis-cli --cluster bugs were fixed, plus a few improvements.
* Many other smaller bugs.
3.9.3
* Added cross-database support for NULLS FIRST/LAST when specifying the
ordering for a query. Previously this was only supported for Postgres. Peewee
will now generate an equivalent CASE statement for Sqlite and MySQL.
* Added [EXCLUDED](http://docs.peewee-orm.com/en/latest/peewee/api.html#EXCLUDED)
helper for referring to the EXCLUDED namespace used with INSERT...ON CONFLICT
queries, when referencing values in the conflicting row data.
* Added helper method to the model Metadata class for setting the table name
at run-time. Setting the Model._meta.table_name directly may have appeared
to work in some situations, but could lead to subtle bugs. The new API is
Model._meta.set_table_name().
* Enhanced helpers for working with Peewee interactively, [see doc](http://docs.peewee-orm.com/en/latest/peewee/interactive.html).
* Fix cache invalidation bug in DataSet that was originally reported on the
sqlite-web project.
* New example script implementing a [hexastore]
3.27.2-r1
Added constants:
* SQLITE_CONFIG_MEMDB_MAXSIZE, SQLITE_FCNTL_SIZE_LIMIT
Added support for the geopoly extension
Removed hash optimisation that isn’t useful any more
ldb is a LDAP-like embedded database. It is not at all LDAP standards
compliant, so if you want a standards compliant database then please see the
excellent OpenLDAP project.
What ldb does is provide a fast database with an LDAP-like API designed to be
used within an application. In some ways it can be seen as a intermediate
solution between key-value pair databases and a real LDAP database.
ldb is the database engine used in Samba4.
Features:
* The main features that separate ldb from other solutions are:
* Safe multi-reader, multi-writer, using byte range locking
* LDAP-like API
* fast operation
* choice of local tdb or remote LDAP backends
* integration with talloc
* schema-less operation, for trivial setup
* modules for extensions (such as schema support)
* easy setup of indexes and attribute properties
* LDIF for import/export
* ldbedit tool for database (via LDIF) editing (reminiscent of 'vipw')
The Prometheus monitoring system and time series database.
Prometheus, a Cloud Native Computing Foundation project, is a systems and
service monitoring system. It collects metrics from configured targets at
given intervals, evaluates rule expressions, displays the results, and
can trigger alerts if some condition is observed to be true.
3.9.2:
This release contains a fix for a test that was failing when 3.9.1 was tagged and released.
3.9.1:
Includes a bugfix for an AttributeError that occurs when using MySQL with the MySQLdb client.
3.9.0:
New and improved stuff
Added new document describing how to use peewee interactively.
Added convenience functions for generating model classes from a pre-existing database, printing model definitions and printing CREATE TABLE sql for a model. See the "use peewee interactively" section for details.
Added a __str__ implementation to all Query subclasses which converts the query to a string and interpolates the parameters.
Improvements to sqlite_ext.JSONField regarding the serialization of data, as well as the addition of options to override the JSON serialization and de-serialization functions.
Added index_type parameter to Field
Added DatabaseProxy, which allows one to use database-specific decorators with an uninitialized Proxy object.
Added support for INSERT ... ON CONFLICT when the conflict target is a partial index (e.g., contains a WHERE clause). The OnConflict and on_conflict() APIs now take an additional conflict_where parameter to represent the WHERE clause of the partial index in question.
Enhanced the playhouse.kv extension to use efficient upsert for all database engines. Previously upsert was only supported for sqlite and mysql.
Re-added the orwhere() query filtering method, which will append the given expressions using OR instead of AND.
Added some new examples to the examples/ directory
Added select_from() API for wrapping a query and selecting one or more columns from the wrapped subquery. Docs.
Added documentation on using row values.
Removed the (defunct) "speedups" C extension, which as of 3.8.2 only contained a barely-faster function for quoting entities.
Bugfixes
Fix bug in SQL generation when there was a subquery that used a common table expressions.
Enhanced prefetch() and fixed bug that could occur when mixing self-referential foreign-keys and model aliases.
MariaDB 10.3.3 introduces backwards-incompatible changes to the SQL used for upsert. Peewee now introspects the MySQL server version at connection time to ensure proper handling of version-specific features.
Fixed bug where TimestampField would treat zero values as None when reading from the database.
4.0.6:
Issues fixed:
SERVER-37778: Platform Support: Add Community & Enterprise Ubuntu 18.04 (zSeries)
SERVER-37777: Platform Support: Add Community SLES12 (zSeries)
SERVER-37775: Platform Support: Add Community RHEL7 (zSeries)
SERVER-39180: Wrong initial chunk owner shard can be selected when sharding non-empty collection with pre-created zones
SERVER-32146: Log slow oplog entry application
SERVER-38293: Make listDatabases understand collection privileges
SERVER-38887: Mongo.getDBs() does not correctly inspect privileges
4.0.5:
Issues fixed:
SERVER-36437: The dbstats command should lock the database in MODE_IS instead of MODE_S
SERVER-37182: Different values when referencing whole object vs. a field of that object after $arrayToObject
SERVER-37200: $match stage following $listSessions not working against mongos
SERVER-37557: Add startup warning about enableMajorityReadConcern and usage of arbiters
4.0.4:
Issues fixed:
SERVER-26854: LockStats for sub-operations should not include time for previous sub ops
SERVER-35323: sessionId matching ignores userId part of the lsid
SERVER-37058: Update with numeric field names inside an array can cause validation to fail
SERVER-37132: Negation of $in with regex can incorrectly plan from the cache, leading to missing query results
TOOLS-2069: mongoreplay does not support SCRAM-SHA-256
TOOLS-2131: mongorestore hang in replaying oplog with –archive and –oplogReplay option
4.0.3:
Issues fixed:
SERVER-19815: Make repair more robust with the WiredTiger storage engine
SERVER-35989: db.collection.countDocuments() and db.collection.estimatedDocumentCount() helpers
SERVER-36982: Reintroduce enableMajorityReadConcern:false server parameter
4.0.2:
Issues fixed:
SERVER-35720: Allow zones to be created on non-existent collection
SERVER-35441: drop/dropDatabase does not cleanup config.tags
SERVER-36102: Create initial chunks on appropriate shards for zoned sharding
SERVER-36070: Aggregation with $out results in error when Auditing is enabled
SERVER-34846: Covered index with collated field returns incorrect result when collation not involved in match or sort
SERVER-34664: Commands that are unsupported in a transaction should error
4.0.1:
Issues fixed:
SERVER-33000: Platform Support: add Ubuntu 18.04.
SERVER-34933: PCRE verb support.
SERVER-35101: Handle bindIp argument that contains whitespaces.
SERVER-36027: Enterprise build does not recognize the --redactClientLogData flag.
MongoDB PHP Driver 1.5.0:
It supports all new features for MongoDB 2.6, including:
Aggregate can now return a cursor
Aggregation pipelines can now be explained
Possible to set maxTimeMS for commands and queries
Transparent support for the new command-based MongoDB write API
New MongoWriteBatch classes (using the new MongoDB write API)
Support for MongoDB Enterprise features (e.g. Kerberos, LDAP, X509)
Option to tune acceptable server latency for secondary reads (secondaryAcceptableLatencyMS)
With this release, some driver functionality which was previously documented as deprecated will now formally raise deprecation notices. This includes:
Instantiating the Mongo class
Calling MongoCursor::slaveOkay()
"wtimeout" and "safe" options for MongoCollection write operations
Manipulating public properties on core classes (such as $collection->w)
MongoDB PHP Driver 1.4.0:
The 1.4 series introduced fundemental changes in how connections are created to the MongoDB servers. The driver now utilizes PHP native streams, so all normal PHP stream options apply. Furthermore, an experimental Stream Context Support was added.
The 1.4.x series also added support for MongoDB 2.4.x.
The most important improvements however deal with the handling of replica sets, especially nodes that timeout and nodes that are unreachable for various reasons. Besides the improvements to replica set handling, this release addresses issues with read preferences through mongos nodes. It also adds support for SSL enabled connections as well as journal and fsync connection string options.
mongo-c-driver 1.14.0
=====================
It is my pleasure to announce the MongoDB C Driver 1.14.0.
Features:
* Support for OpenSSL 1.1.1 and its implementation of TLS v1.3.
* New function mongoc_stream_should_retry.
* New accessor mongoc_server_description_last_update_time.
* New method mongoc_client_reset to be called after forking.
Bug fixes:
* OP_MSG with unacknowledged writes (write concern of w:0) would serialize
incorrectly on big-endian platforms, causing writes to use the default
write concern of w:1.
* mongoc_collection_update_many and mongoc_collection_delete_many would fail
with the URI option retryWrites=true.
* In a transaction, the driver now properly ignores the readConcern configured
on a client, database, or collection: only the mongoc_transaction_opt_t's
readConcern is used.
* Remove timestamp from uninstall scripts to permit reproducible build.
* Setting mongoc_ssl_opt_t.pem_file or ca_file to a bad file path caused a
hang with Darwin SSL.
* Fix the ENABLE_SASL cmake option:
* Remove unnecessary GSSAPI value. It was equivalent to specifying ENABLE_SASL=CYRUS.
* ENABLE_SASL=AUTO now correctly chooses SSPI on Windows instead of CYRUS.
* The client pool failed to set proper apm callbacks for clients created
via try_pop().
mongo-c-driver 1.13.1
=====================
It is my pleasure to announce the MongoDB C Driver 1.13.1.
Bug fixes:
* mongoc_collection_update_many and mongoc_collection_delete_many would fail
with the URI option retryWrites=true.
* Remove timestamp from uninstall scripts to permit reproducible build.
* Add missing header files to the release tarball to fix compilation when
configuring with ENABLE_SASL=GSSAPI.
* Separate libmongoc and libbson uninstall scripts so they do not overwrite
each other.
* Fix running make install with DESTDIR.
mongo-c-driver 1.13.0
=====================
It is my pleasure to announce the MongoDB C Driver 1.13.0.
Features:
* Report a new error code, MONGOC_ERROR_GRIDFS_CORRUPT, when a chunk larger
than chunkSize is detected. Before, the driver had crashed with an assert.
* Restructure of install directory. All mongoc headers are under mongoc/
and all bson headers are under bson/. The preferred way of including the
headers are mongoc/mongoc.h and bson/bson.h respectively.
Forwarding headers in the root are provided for backwards compatibility.
* The default CMake build type had been unspecified, now it is RelWithDebInfo.
* Support LibreSSL 2.7+.
Bug fixes:
* mongoc_collection_replace_one is now a correctly exported symbol.
* Fix multiple issues with readConcern and writeConcern inheritance.
* Fix rare crash with mongodb+srv URIs on Windows.
* mongoc_gridfs_create_file_from_stream ignored errors while writing chunks
to the server.
* The following functions should not have taken a "bypassDocumentValidation"
option in bson_t *opts, the option is now prohibited:
- mongoc_bulk_operation_insert_with_opts
- mongoc_bulk_operation_update_one_with_opts
- mongoc_bulk_operation_update_many_with_opts
- mongoc_bulk_operation_replace_one_with_opts
* The heartbeat-succeeded and heartbeat-failed events (part of SDAM
Monitoring) had uninitialized "duration" fields, they are now set correctly.
mongo-c-driver 1.12.0
=====================
It is my pleasure to announce the MongoDB C Driver 1.12.0.
Features:
* New function mongoc_client_session_in_transaction to check if a multi-
document transaction is started.
* New examples for change streams and transactions, improved guide for
migrating from mongoc_collection_count to mongoc_collection_count_documents
Bug fixes:
* Fix occasional crash in sharded queries
* Retry all retryable write concern errors
* mongoc_client_session_commit_transaction sets the correct error label when
the primary is unavailable
* mongoc_collection_find_with_opts had prohibited read preference "primary"
in a transaction
* mongoc_collection_aggregate had not inherited its mongoc_collection_t's
read preference; only an explicitly provided read preference was used.
* Allow unencoded delimiters in username/password if unambiguous
mongo-c-driver 1.11.0
=====================
It is my pleasure to announce the MongoDB C Driver 1.11.0. This release adds
support for MongoDB 4.0 features. It includes the following additions and
improvements:
* Multi-document transactions, see mongoc_client_session_start_transaction
* New function mongoc_error_has_label to check for specific error labels such
as "TransientTransactionError" or "UnknownTransactionCommitResult" in
error replies.
* New functions to subscribe to changes on an entire client or database:
- mongoc_client_watch
- mongoc_database_watch
* New option for change streams, "startAtOperationTime".
* mongoc_collection_count_with_opts is deprecated for two new functions:
- mongoc_collection_count_documents
- mongoc_collection_estimated_document_count
* Support for SCRAM-SHA-256 authentication, including support for non-ASCII
passwords using libicu is an optional dependency.
* Faster mongoc_database_get_collection_names_with_opts fetches only names,
not the entire collection metadata.
Additional changes not specific to MongoDB 4.0:
* All "destroy" functions such as mongoc_collection_destroy now ignore a NULL
argument.
* The driver now returns an error if you attempt to use "arrayFilters" in an
update with a MongoDB server older than 3.6.
* Update functions include a new "upsertedCount" field in the reply document.
* Replace MD5 with FNV-1a hash to generate ObjectIds (for FIPS compliance).
Bug fixes:
* Functions incorrectly marked with the "const" compiler attribute are now
marked as "pure", fixes build error when link-time optimization is enabled.
mongo-c-driver 1.10.3
=====================
No change since 1.10.2; released to keep pace with libbson's version.
mongo-c-driver 1.10.2
=====================
It is my pleasure to announce the MongoDB C Driver 1.10.2. This release fixes
the libbson and libmongoc installed library filenames and SONAMEs on Linux.
They had changed unintentionally with the switch to CMake in 1.10.0; they are
now consistent with 1.9.x and previous releases. Thanks to Roberto C. Sánchez
for the fix.
mongo-c-driver 1.10.1
=====================
It is my pleasure to announce the MongoDB C Driver 1.10.1. This release fixes
the following bugs introduced in version 1.10.0:
* Client sessions were not prohibited with unacknowledged write concern and
mongoc_bulk_operation_execute; now they are prohibited. Client sessions have
been prohibited with all other unacknowledged writes since 1.10.
* The "arrayFilters" update option, new in MongoDB 3.6 and supported since
libmongoc 1.9.0, was inadvertently prohibited by
mongoc_bulk_operation_update_one_with_opts and
mongoc_bulk_operation_update_many_with_opts in 1.10. The option is now
permitted again.
* The mongoc-stat tool for displaying shared counters was disabled on Linux
and not installed; it is now restored.
mongo-c-driver 1.10.0
=====================
It is my pleasure to announce MongoDB C Driver 1.10.0. This version drops
support for MongoDB 2.6 and adds the following features and bugfixes:
* libbson and libmongoc are now maintained in the mongo-c-driver repository,
although they are still built as separate libraries, and libbson can still
be used without libmongoc.
* Building libbson and libmongoc now requires CMake on all platforms. The
Autotools build scripts ("configure" and related scripts) have been deleted.
See the "installing" page for updated instructions, including the new
ENABLE_MONGOC option and changes to the ENABLE_BSON option.
* IPv6 is now fully supported and conforms to RFC-6555. If a hostname has both
IPv4 and IPv6 DNS records, the driver tries connecting with IPv6 first. If a
connection can't be established after 250ms then IPv4 is tried in parallel.
Whichever succeeds connection first cancels the other. The successful DNS
result is cached for 10 minutes.
* If CMake is configured with ENABLE_SSL=AUTO (the default), libmongoc now
uses native TLS libraries on Mac and Windows, and OpenSSL everywhere else.
Before, it would search for OpenSSL on all platforms and only use native
TLS on Mac and Windows as a fallback.
* The driver now handshakes SSL connections to multiple servers in a replica
set or sharded cluster in parallel, so long as it uses OpenSSL or Windows
SChannel. (SSL handshakes with Apple's Secure Transport are still serial.)
A larger receive buffer with SChannel increases performance over slow
connections.
* All functions that accept read concern now prohibit it, if MongoDB is too
old to support it (MongoDB 3.0).
* Client sessions are now prohibited with unacknowledged writes.
* mongoc_collection_find_and_modify_with_opts now prohibits write concern if
MongoDB is too old to support it (MongoDB 3.0).
* Other helper functions for commands that write, now prohibit write concern
if MongoDB is too old to support it (pre-3.4):
mongoc_client_read_write_command_with_opts
mongoc_client_write_command_with_opts
mongoc_collection_read_write_command_with_opts
mongoc_collection_write_command_with_opts
mongoc_database_read_write_command_with_opts
mongoc_database_write_command_with_opts
mongoc_collection_aggregate with $out
mongoc_collection_drop_index_with_opts
mongoc_collection_drop_with_opts
mongoc_collection_rename_with_opts
mongoc_database_drop_with_opts
Write concern behavior is unchanged for regular CRUD functions.
* Setting a negative writeConcern level of -2 or smaller, via the "opts"
parameter to functions that accept BSON options, is now prohibited. The
special "w" values -2 through -4 are only used internally. The deprecated
"w=-1" is still allowed, as a synonym for "w=0".
* The Kerberos URI option authMechanismProperties=CANONICALIZE_HOST_NAME:true
is now implemented with the Windows Kerberos provider, SSPI.
* This repository now includes GDB and LLDB customizations for pretty-printing
bson_t structs as JSON while debugging. See the "debugging" page.
* The internal preprocessor symbol HAVE_STRINGS_H has been renamed
BSON_HAVE_STRINGS_H. If you maintain a handwritten bson-config.h you must
rename this symbol.
* The following helper functions do not work with mongoc_client_session_t,
they are deprecated in favor of running MongoDB commands directly with a
function like mongoc_client_read_command_with_opts:
mongoc_client_get_server_status
mongoc_collection_stats
mongoc_collection_validate
* mongoc_cursor_is_alive is now deprecated for mongoc_cursor_more, which is
functionally equivalent.
=== 5.18.0 (2019-03-01)
* Use singleton .call methods on plain objects instead of procs/methods for faster type conversion (jeremyevans)
* Add Sequel::SQL::Blob.call to avoid indirection when converting values from the database (jeremyevans)
* Use while instead of each for inner loops in sqlite and jdbc adapters for better performance (jeremyevans)
* Make after_initialize plugin not make the argument to Model.call optional (jeremyevans)
* Allow Dataset#paged_each to be called without a block in the postgres and mysql2 adapters (jeremyevans)
* Remove flow-control exceptions in connection_expiration and connection_validator extensions (jeremyevans)
* Add throw_failures plugin for throwing ValidationFailed and HookFailed exceptions instead of raising them, up to 10x performance increase on JRuby (jeremyevans)
* Support tzinfo 2 in addition to tzinfo 1 in the named_timezones extension (jeremyevans) (#1596)
Add ruby-activerecord52 version 5.2.2 package.
= Active Record -- Object-relational mapping put on rails
Active Record connects classes to relational database tables to establish an
almost zero-configuration persistence layer for applications. The library
provides a base class that, when subclassed, sets up a mapping between the new
class and an existing table in the database. In context of an application,
these classes are commonly referred to as *models*. Models can also be
connected to other models; this is done by defining *associations*.
This is for Ruby on Rails 5.2.
SQLite Release 3.27.2:
Fix a bug in the IN operator that was introduced by an attempted optimization in version 3.27.0.
Fix a bug causing a crash when a window function is misused.
Fix various documentation typos
5.2.3: 2019-02-15
Improvements
* Changed to use add and delete for modify if it's needed.
[GitHub#156][Patch by David Klotz]
* Added support for timezone with munites offset such as @0530@.
[GitHub#160][GitHub#161][Patch by Neng Xu]
* Added support for Ruby 2.6.
Thanks
* David Klotz
* Neng Xu
0.12.0
* Change title in README.rst
* Don't use deprecated / non-functional "force" parameter
* Use legacy\_alter\_table ON in sqlite recreate\_table
* Remove py26 support
* Add .eggs in .gitignore
* Import MutableMapping from the correct Python module
* Update mailinglist from dev to discuss
* Get rid of psycopg2 warnings by disabling wheels
* Enforce that pbr used is >= 1.8
1.2.18:
orm
[orm] [bug] Fixed a regression in 1.2 where a wildcard/load_only loader option would not work correctly against a loader path where of_type() were used to limit to a particular subclass. The fix only works for of_type() of a simple subclass so far, not a with_polymorphic entity which will be addressed in a separate issue; it is unlikely this latter case was working previously.
[orm] [bug] Fixed fairly simple but critical issue where the SessionEvents.pending_to_persistent() event would be invoked for objects not just when they move from pending to persistent, but when they were also already persistent and just being updated, thus causing the event to be invoked for all objects on every update.
sql
[sql] [bug] Fixed issue where the JSON type had a read-only JSON.should_evaluate_none attribute, which would cause failures when making use of the TypeEngine.evaluates_none() method in conjunction with this type. Pull request courtesy Sanjana S.
mysql
[mysql] [bug] Fixed a second regression caused by 4344 (the first was 4361), which works around MySQL issue 88718, where the lower casing function used was not correct for Python 2 with OSX/Windows casing conventions, which would then raise TypeError. Full coverage has been added to this logic so that every codepath is exercised in a mock style for all three casing conventions on all versions of Python. MySQL 8.0 has meanwhile fixed issue 88718 so the workaround is only applies to a particular span of MySQL 8.0 versions.
sqlite
[sqlite] [bug] Fixed bug in SQLite DDL where using an expression as a server side default required that it be contained within parenthesis to be accepted by the sqlite parser. Pull request courtesy Bartlomiej Biernacki.
mssql
[mssql] [bug] Fixed bug where the SQL Server “IDENTITY_INSERT” logic that allows an INSERT to proceed with an explicit value on an IDENTITY column was not detecting the case where Insert.values() were used with a dictionary that contained a Column as key and a SQL expression as a value
3.2.0
* Added support for select.poll to test whether data can be read
on a socket. This should allow for significantly more connections to
be used with pubsub.
* Attempt to guarentee that the ConnectionPool hands out healthy
connections. Healthy connections are those that have an established
socket connection to the Redis server, are ready to accept a command
and have no data available to read.
* Use the socket.IPPROTO_TCP constant instead of socket.SOL_TCP.
IPPROTO_TCP is available on more interpreters (Jython for instance).
* Fixed a regression introduced in 3.0 that mishandles exceptions not
derived from the base Exception class. KeyboardInterrupt and
gevent.timeout notable.
* Significant improvements to handing connections with forked processes.
Parent and child processes no longer trample on each others' connections.
* PythonParser no longer closes the associated connection's socket. The
connection itself will close the socket.
PostgreSQL 11.2, 10.7, 9.6.12, 9.5.16, and 9.4.21 Released!
This release changes the behavior in how PostgreSQL interfaces with fsync() and includes fixes for partitioning and over 70 other bugs that were reported over the past three months.
Fix handling of unique indexes with INCLUDE columns on partitioned tables
Ensure that NOT NULL constraints of a partitioned table are honored within its partitions
Several fixes for constraints on partitioned tables
Fix problems with applying ON COMMIT DROP and ON COMMIT DELETE ROWS to partitioned tables and tables with inheritance children
Disallow COPY FREEZE on partitioned tables
Several fixes for the ALTER TABLE .. ADD COLUMN with a non-nullable default feature, including a possible index corruption case
Several fixes in GIN indexes, including avoiding a deadlock with vacuuming and concurrent index insertions (which partially reverts a performance improvement introduced in PostgreSQL 10)
Fix possible crashes in logical replication when index expressions or predicates are in use
Several fixes for the write-ahead log (WAL)
Fix possible crash in UPDATE with a multiple SET clause using a sub-SELECT
Fix crash when zero rows are provided to json[b]_populate_recordset() or json[b]_to_recordset()
Several fixes related to collation handling, including the parsing of collation-sensitive expressions in the arguments of a CALL statement
Several fixes for the query planner, including an improvement to planning speed for large inheritance or partitioning table groups
Several fixes for TRUNCATE
Ensure ALTER TABLE ONLY ADD COLUMN IF NOT EXISTS is processed correctly
Allow UNLISTEN in hot-standby (replica) mode
Fix parsing of space-separated lists of host names in the ldapserver parameter of LDAP authentication entries in pg_hba.conf
Several fixes for ecpg
Several fixes for psql, including having \g target work with COPY TO STDOUT
The random number generation for pgbench is now fully deterministic and platform-independent when --random-seed=N is specified
Fix pg_basebackup and pg_verify_checksums to appropriately ignore temporary files
Several fixes for pg_dump, including having ALTER INDEX SET STATISTICS commands present
Prevent false index-corruption reports from contrib/amcheck caused by inline-compressed data
Support new Makefile variables to help with building extensions
SQLite Release 3.27.1:
Fix a bug in the query optimizer: an adverse interaction between the OR optimization and the optimization that tries to use values read directly from an expression index instead of recomputing the expression.
Hashes:
Changes carried forward from version 3.27.0:
Added the VACUUM INTO command
Issue an SQLITE_WARNING message on the error log if a double-quoted string literal is used.
The sqlite3_normalized_sql() interface works on any prepared statement created using sqlite3_prepare_v2() or sqlite3_prepare_v3(). It is no longer necessary to use sqlite3_prepare_v3() with SQLITE_PREPARE_NORMALIZE in order to use sqlite3_normalized_sql().
Added the remove_diacritics=2 option to FTS3 and FTS5.
Added the SQLITE_PREPARE_NO_VTAB option to sqlite3_prepare_v3(). Use that option to prevent circular references to shadow tables from causing resource leaks.
Enhancements to the sqlite3_deserialize() interface:
Add the SQLITE_FCNTL_SIZE_LIMIT file-control for setting an upper bound on the size of the in-memory database created by sqlite3_deserialize. The default upper bound is 1GiB, or whatever alternative value is specified by sqlite3_config(SQLITE_CONFIG_MEMDB_MAXSIZE) and/or SQLITE_MEMDB_DEFAULT_MAXSIZE.
Honor the SQLITE_DESERIALIZE_READONLY flag, which was previously described in the documentation, but was previously a no-op.
Enhance the "deserialize" command of the TCL Interface to give it new "--maxsize N" and "--readonly BOOLEAN" options.
Enhancements to the CLI, mostly to support testing and debugging of the SQLite library itself:
Add support for ".open --hexdb". The "dbtotxt" utility program used to generate the text for the "hexdb" is added to the source tree.
Add support for the "--maxsize N" option on ".open --deserialize".
Add the "--memtrace" command-line option, to show all memory allocations and deallocations.
Add the ".eqp trace" option on builds with SQLITE_DEBUG, to enable bytecode program listing with indentation and PRAGMA vdbe_trace all in one step.
Add the ".progress" command for accessing the sqlite3_progress_handler() interface.
Add the "--async" option to the ".backup" command.
Add options "--expanded", "--normalized", "--plain", "--profile", "--row", "--stmt", and "--close" to the ".trace" command.
Increased robustness against malicious SQL that is run against a maliciously corrupted database.
Bug fixes:
Do not use a partial index to do a table scan on an IN operator.
Fix the query flattener so that it works on queries that contain subqueries that use window functions.
Ensure that ALTER TABLE modifies table and column names embedded in WITH clauses that are part of views and triggers.
Fix a parser bug that prevented the use of parentheses around table-valued functions.
Fix a problem with the OR optimization on indexes on expressions.
Fix a problem with the LEFT JOIN strength reduction optimization in which the optimization was being applied inappropriately due to an IS NOT NULL operator.
Fix the REPLACE command so that it is no longer able to sneak a NULL value into a NOT NULL column even if the NOT NULL column has a default value of NULL.
Fix a problem with the use of window functions used within correlated subqueries.
Fix the ALTER TABLE RENAME COLUMN command so that it works for tables that have redundant UNIQUE constraints.
Fix a bug that caused zeroblob values to be truncated when inserted into a table that uses an expression index.
RRDtool 1.7.1:
Bugfixes
* about 38949 assorted fixes for the windows build of rrdtool
* fix many compile time warnings
* Re-enable 0-width lines
* Include rrd_pdpcalc.pod in Makefile.am also
* Lots of spelling fixes for rrdtool source and documentation
* fix off by one issue in rrdtool xport output
* fix lua extension build
* fix python bindings
* fix multiple static variable issues in conflict with MT
* make translations actually work
* Fixed configure --enable / --disable options
* rrd_daemon stability fixes
* fix tcl bindings
* do not call umask ever (not MT safe)
Features
* Multiline Titles
* French translation
* Added support for --allow-shrink with --rigid flag
* Added SUSPEND/RESUME/SUSPENDALL/RESUMEALL commands for rrd_cached
* include the daemon name in the error messag
Upstream changes:
1.60 2018-10-31
[BUG FIXES]
Merged pull request 11 from audun which fixes some issues with the AutoCommit flag
on commit and rollback.
[MISCELLANEOUS]
Merged pull request 10 from vadz which fixed typo (affecting license) in README.md.