Performance Enhancements:
* Many micro-optimizations result in 20.3% more work for the same number of CPU cycles relative to the previous release. The cumulative performance increase since version 3.8.0 is 61%. (Measured using cachegrind on the speedtest1.c workload on Ubuntu 13.10 x64 with gcc 4.8.1 and -Os. Your performance may vary.)
* The sorter can use auxiliary helper threads to increase real-time response. This feature is off by default and may be enabled using the PRAGMA threads command or the SQLITE_DEFAULT_WORKER_THREADS compile-time option.
* Enhance the skip-scan optimization so that it is able to skip index terms that occur in the middle of the index, not just as the left-hand side of the index.
* Improved optimization of CAST operators.
* Various improvements in how the query planner uses sqlite_stat4 information to estimate plan costs.
New Features:
* Added new interfaces with 64-bit length parameters: sqlite3_malloc64(), sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_result_blob64(), sqlite3_bind_text64(), and sqlite3_result_text64().
* Added the new interface sqlite3_msize() that returns the size of a memory allocation obtained from sqlite3_malloc64() and its variants.
* Added the SQLITE_LIMIT_WORKER_THREADS option to sqlite3_limit() and PRAGMA threads command for configuring the number of available worker threads.
* The spellfix1 extension allows the application to optionally specify the rowid for each INSERT.
* Added the User Authentication extension.
Bug Fixes:
* Fix a bug in the partial index implementation that might result in an incorrect answer if a partial index is used in a subquery or in a view.
* Fix a query planner bug that might cause a table to be scanned in the wrong direction (thus reversing the order of output) when a DESC index is used to implement the ORDER BY clause on a query that has an identical GROUP BY clause.
* Fix a bug in sqlite3_trace() that was causing it to sometimes fail to print an SQL statement if that statement needed to be re-prepared.
* Fix a faulty assert() statement.
The following bugs have been fixed since version 4.2.9.1:
- bug #4361 Can't change font size (when config.inc.php not present)
- bug #4542 Tab key in column name not shown
- bug PDF export: title not present in PDF
- bug #4543 Changing column name can break saved "order by" clause
- bug #4545 trying to favorite table while browser localStorage is disabled
throws JS error
- bug #4259 reCaptcha sound session expired problem
- bug #4548 Inline editing a field converts tab to spaces
- bug #4252 Database-level permission bug for db names containing underscores
- bug #3120 Events are not exported when using xml
- bug #4554 Grid-editing timestamp column forces datepicker
- bug #4556 Fast filters for tables, views etc. should be governed by
NavigationTreeDisplayItemFilterMinimum
Intented as a clean implementation (replacement) of wip/mysql-sphinxse.
SphinxSE is MySQL storage engine which can be compiled into MySQL server 5.x
using its pluggable architecture. Despite the name, SphinxSE does not
actually store any data itself. It is actually a built-in client which
allows MySQL server to talk to searchd, run search queries, and obtain
search results. All indexing and searching happen outside MySQL.
See http://sphinxsearch.com/docs/current.html#sphinxse-overview
Peewee is a simple and small ORM. It has few (but expressive)
concepts, making it easy to learn and intuitive to use.
Supports SQLite, MySQL and PostgreSQL.
Released 2.4.18 2014-10-09
Changes since 2.4.17:
Lib/
* Fixed raising exception in LDAPObject.read_s() when reading
an entry returns empty search result
New Features
------------
* allows rrdrestore to read input from stdin
* add documentation for RRDs::xport
* RPN operators MINNAN and MAXNAN
* --left-axis-format option to rrd_graph
Bugfixes
--------
* properly verify validity of user suplied format strings
* remove graph functions from python module when compiled without graphing
support
* verify that only short integers are used in COMPUTE rpn expressions
* eliminate duplicate setlocale calls
* fixed endless loop and double frees in rrd_restore
* fixed missing variable initializations in rrd_graph
* fixed JSON output format to actually be valid JSON
* detect failing fallocate and fall back to seeking
* fixed format string in ruby bindings
New Features
------------
* allows rrdrestore to read input from stdin
* add documentation for RRDs::xport
* RPN operators MINNAN and MAXNAN
* --left-axis-format option to rrd_graph
Bugfixes
--------
* properly verify validity of user suplied format strings
* remove graph functions from python module when compiled without graphing
support
* verify that only short integers are used in COMPUTE rpn expressions
* eliminate duplicate setlocale calls
* fixed endless loop and double frees in rrd_restore
* fixed missing variable initializations in rrd_graph
* fixed JSON output format to actually be valid JSON
* detect failing fallocate and fall back to seeking
* fixed format string in ruby bindings
* Connector/Python is now compatible with Django 1.7.
* RANGE_STRING is now supported as a sharding type.
* RANGE_DATETIME is now supported as a sharding type.
* Bugs Fixed
Fixed tcl library linking for AIX 7.
Fixed a bug that could cause a trap if a lock timeout occurred while opening a database.
Fixed missing encryption support for the Android JDBC driver.
Fixed an incorrect message being displayed when the -l option was specified to the db_hotbackup utility.
Fixed a bug that DB_ENV->log_get_config did not work correctly before DB_ENV->open.
Fixed a bug that could cause a SQL build failure when FTS3 is enabled.
Fixed a bug that prevented in-memory SQL database from being created properly. They can now be created without the use of the SQLITE_OPEN_CREATE flag.
Fixed a memory leak in SQL online backup.
Added additional examples for C++
Fixed a bug that could make odbc fail to build with sqlite source code.
Fixed bugs in compaction of large keys in the upper levels of btrees.
The db utilities (db_xxxx) no longer operate on replication clients that are being automatically initialized. The DB_REP_LOCKOUT error is now returned.
Using DB_TXN_SNAPSHOT on an HA client will now result in an error.
Fixed a bug that prevented a sub-database from being created under the directory identified in DB->set_create_dir.
Fixed a race condition on a cursor when using a multi-threaded application with the SQL API.
Fixed a race condition in the failchk code when cleaning up mutexes.
Fixed a resource leak in the db->verify() function for btrees. The bug would slow down verification and possibly cause it to run out of memory.
Removed a potential hang when compacting databases with many duplicates.
Fixed a bug that caused a crash when reentering dbsql and specifying replication=on for a SQL database where replication was already enabled.
Fixed an incorrect recursive call dealing with joins.
Fix build failures in ado.net
Fixed a bug that could cause a JDBC build failure on recent versions of Visual Studio.
Correct build problems when building dbstl with gcc-4.7.3
^^^^^^^^^^^^^^^^^^^^
- Fix aggregate value handling for cascade deleted objects
- Fix ambiguous column sorting with join table inheritance in sort_query
0.26.15 (2014-08-28)
^^^^^^^^^^^^^^^^^^^^
- Fix sort_query support for queries using mappers (not declarative classes) with calculated column properties
0.26.14 (2014-08-26)
^^^^^^^^^^^^^^^^^^^^
- Added count method to QueryChain class
0.26.13 (2014-08-23)
^^^^^^^^^^^^^^^^^^^^
- Added template parameter to create_database function
0.26.12 (2014-08-22)
^^^^^^^^^^^^^^^^^^^^
- Added quote utility function
0.26.11 (2014-08-21)
^^^^^^^^^^^^^^^^^^^^
- Fixed dependent_objects support for single table inheritance
0.26.10 (2014-08-13)
^^^^^^^^^^^^^^^^^^^^
- Fixed dependent_objects support for multiple dependencies
* Fixed a bug with the bytearray support introduced in 2.10.2. Thanks
Josh Owen.
* 2.10.2
* Added support for Hiredis's new bytearray support. Thanks
https://github.com/tzickel
* POSSIBLE BACKWARDS INCOMPATBLE CHANGE: Fixed a possible race condition
when multiple threads share the same Lock instance with a timeout. Lock
tokens are now stored in thread local storage by default. If you have
code that acquires a lock in one thread and passes that lock instance to
another thread to release it, you need to disable thread local storage.
Refer to the doc strings on the Lock class about the thread_local
argument information.
* Fixed a regression in from_url where "charset" and "errors" weren't
valid options. "encoding" and "encoding_errors" are still accepted
and preferred.
* The "charset" and "errors" options have been deprecated. Passing
either to StrictRedis.__init__ or from_url will still work but will
also emit a DeprecationWarning. Instead use the "encoding" and
"encoding_errors" options.
* Fixed a compatability bug with Python 3 when the server closes a
connection.
* Added BITPOS command. Thanks https://github.com/jettify.
* Fixed a bug when attempting to send large values to Redis in a Pipeline.
A new libmongoc-priv.so library is installed that does not have symbols
hidden. You can access private headers via the -private.h variants. This
means you will need to recompile your project every time the library is
changed (if you use those private headers, as they are subject to change).
For other minor changes, see commits made since 0.98.0:
https://github.com/mongodb/mongo-c-driver/compare/0.98.0...1.0.0
--[ Redis 2.8.17 ] Release date: 19 Sep 2014
# UPGRADE URGENCY: HIGH for Redis Sentinel.
LOW for Redis Server (unmodified compared to 2.8.16).
* [FIX] Resolved a memory leak in the hiredis library causing a memory leak
in Redis Sentinel when a monitored instance or another Sentinel is
unavailable. Every reconnection attempt will leak a small amount of
memory, but in the long run the process can reach a considerable size.
--[ Redis 2.8.16 ] Release date: 16 Sep 2014
# UPGRADE URGENCY: HIGH for Redis if you are using 2.8.15 + AOF.
LOW for Sentinel.
* [FIX] The ability to load truncated AOF files introduced with Redis 2.8.15
contains a bug fixed in this release: after loading the file was not
truncated to the last valid command, so the new commands are appended
after a non well formed command. This means that:
1) The first AOF rewrite triggered by the server will automatically
fix the problem.
2) However, if the server is restarted before the rewrite, Redis may
not be able to load the file and you need to manually fix it.
In order to fix a corrupted file you should start the redis-check-aof
utility WITHOUT the --fix option, just to check the offset where the
corruption is found. Around the offset reported by the check utility
you'll find, inside your AOF file, a command which is not complete
according to the Redis protocol. Just remove this incomplete command
leafing the file unaltered before and after the offending command,
and restart the server.
IMPORTANT #1: Redis 2.8.15 is the only stable version of Redis with
this bug so probably no actual real-world problem happened since the
problem is automatically fixed at the first automatic AOF rewrite.
IMPORTANT #2: Before upgrading to Redis 2.8.16, if you are using Redis
2.8.15 with AOF enabled, make sure to trigger a manual AOF rewrite
using the BGREWRITEAOF command.
* [FIX] SAVE is no longer propagated to AOF / slaves.
--[ Redis 2.8.15 ] Release date: 12 Sep 2014
# UPGRADE URGENCY: LOW for Redis, HIGH for Sentinel.
* [FIX] Sentinel critical bug fixed: the absolute majority was computed in a
wrong way because of a programming error. Now the implementation does
what the specification says and the majority to authorize a failover
(that should not be confused with the ODOWN quorum) is the majority of
*all* the Sentinels ever seen for a given master, regardless of their
current state.
* [FIX] GETRANGE test no longer fails for 32 bit builds (Matt Stancliff).
* [FIX] Limit SCAN latency when the hash table is in an odd state (very few
populted buckets because rehashing is in progress). (Xiaost and
Salvatore Sanfilippo)
* [NEW] Redis is now able to load truncated AOF files without requiring a
redis-check-aof utility run. The default now is to load truncated
(but apparently not corrupted) AOFs, you can change this in redis.conf.
(Salvatore Sanfilippo).
* [NEW] Sentinel: ability to announce itself with an arbitrary IP/port to work
in the context of natted networks. However this is probably still
not enough since there is no equivalent mechanism for slaves listed
in the master INFO output. (Dara Kong and Salvatore Sanfilippo)
--[ Redis 2.8.14 ] Release date: 1 Sep 2014
# UPGRADE URGENCY: HIGH for Lua scripting users, the server could crash because
of a bug introduced in Redis 2.8.10, otherwise LOW.
LOW for Redis Sentinel.
* [FIX] Don't prevent use of shared integers if maxmemory policy is non-LRU.
(Salvatore Sanfilippo)
* [FIX] Fail SYNC if background save child aborted due to a signal.
(Yossi Gottlieb)
* [FIX] Different small redis-cli fixes. (Dov Murik, Charsyam, cubicdaiya,
Kashif Rasul, Jan-Erik Rediger, Matt Stancliff)
* [FIX] AIX compilation fixes. (Siah Lyimo)
* [FIX] A number of other smaller issues.
* [FIX] Improved SIGINT handling (Matt Stancliff, Salvatore Sanfilippo)
* [FIX] Use unsigned types in SDS header to raise limit to 4GB.
(Matt Stancliff, Salvatore Sanfilippo)
* [FIX] Handle signed/unsigned comparisons with more care around the code.
(Salvatore Sanfilippo)
* [FIX] Colorized test output fixed to don't change the background color.
(Mariano Pérez Rodríguez)
* [FIX] More Sentinel IPv6 fixes. (Eiichi Sato)
* [FIX] Deny CLIENT command in scripts. (Matt Stancliff)
* [FIX] Allow datasets with more than 2 billion of keys, initial work.
* [FIX] Fix a Lua scripting crash by storing the length of the static
argv when first allocated. (Paddy Byers)
* [NEW] Pub/Sub PING. (Salvatore Sanfilippo)
* [NEW] Much faster ZUNIONSTORE. (Kyle Hubert, Salvatore Sanfilippo)
* [NEW] Faster ll2string() implementation. (Salvatore Sanfilippo)
* [NEW] **WARNING, minor API change**: PUBSUB NUMSUB: return type modified
to integer. (Matt Stancliff)
* [NEW] redis-benchmark support for AUTH. (CharSyam)
Released 2.4.17 2014-09-27
Changes since 2.4.16:
Lib/
* New hook syncrepl_refreshdone() in ldap.syncrepl.SyncReplConsumer
(thanks to Petr Spacek and Chris Mikkelson)
Modules/
* Added support for getting file descriptor of connection
with ldap.OPT_DESC
Version 3.4.2 Released September 25, 2015 (git commit 61440e1f4ccb6c293c5838676da1942e0df67271)
- Fix bug where single-quoted type arguments to the table_info()
method were causing a SQL error.
[Greg Sabino Mullane] (CPAN bug #99144)
InnoDB: An ALTER TABLE ... ADD FOREIGN KEY operation could cause a serious error.
InnoDB: With a transaction isolation level less than or equal to READ COMMITTED, gap locks were not taken when scanning a unique secondary index to check for duplicates. As a result, duplicate check logic failed allowing duplicate key values in the unique secondary index.
InnoDB: During recovery, a segmentation fault would occur when marking a table as corrupt.
yaSSL client code did not validate the encryption size or session ID length, which could cause the client to exit.
MySQL installation from RPM packages could fail if Postfix had been installed using yum.
yaSSL could fail preauthorization if the client supplied inaccurate buffer lengths.
Competition between threads could lead to timeout failure trying to rotate the audit log file.
On Linux (OEL6), if Sun DTrace was installed, the MySQL build failed.
LPAD() and RPAD() could cause a server exit if the pad string argument was not well formed.
The optimizer could create a zero-length column for a temporary table, causing a server exit.
The --skip-innodb option is now deprecated and its use results in a warning. It will be removed in a future MySQL release. This also applies to its synonyms (--innodb=OFF, --disable-innodb, and so forth).
MySQL Enterprise Edition now includes a set of encryption functions based on the OpenSSL library that expose OpenSSL capabilities at the SQL level.
Replication: The new variable simplified_binlog_gtid_recovery can be used to change the way binary log files are searched for previous GTIDs during recovery, speeding up the process when a large number of binary log files exist.
Internally, spatial data types such as Geometry are represented as BLOB values, so when invoked with the --hex-blob option, mysqldump now displays spatial values in hex.
Bugs Fixed...
The following bugs have been fixed since version 4.2.7.1:
- bug ajax.js responseHandler: cannot read property of null
- bug sql.js: str is undefined
- bug #4524 Allow for direct selection of "0" on the "user overview" page
- bug #4529 Undefined index: pos
- bug #4523 tbl_change.js: insert as new row submit type on multiple
selected records does not set all AUTO_INCREMENTs to 0 value
- bug ajax.js responseHandler: another "cannot read property"
- bug tbl_structure.js "cannot read property"
- bug #4530 [security] DOM based XSS that results to a CSRF that creates a
ROOT account in certain conditions
- bug #4516 Odd export behavior
- bug #4519 Uncaught TypeError: Cannot read property 'success' of null
- bug #4520 sql.js: cannot read property
- bug #4521 Initially allowed chart types do not match selected data
- bug #4518 Export to SQL: CREATE TABLE option AUTO_INCREMENT ignored
- bug #4522 Duplicate column names while assigning index
- bug #4487 Export of partitioned table does not import
- bug server_privileges.js: cannot read property
- bug #4527 Importing ODS files with column names having trailing spaces fails
- bug #4413 Navigation Error in Nav Tree for Search Results Past the First Page
- bug functions.js: Cannot read property 'replace' of undefined
Enhancements
#2745, Speedup ST_Simplify calls against points
#2747, Support for GDAL 2.0
#2749, Make rtpostgisupgrade20_21.sql ACID
#2811, Do not specify index names when loading shapefiles/rasters
#2829, Shortcut ST_Clip(raster) if geometry fully contains the raster
and no NODATA specified
#2895, Raise cost of ST_ConvexHull(raster) to 300 for better query plans
[Many bugfixes omitted]
(This is minor update and a leaf package.)
Released 2.4.16 2014-09-10
Changes since 2.4.15:
Lib/
* New convenience function ldap.dn.is_dn()
* New convenience function ldap.escape_str()
* New convenience methods LDAPObject.read_s() and
LDAPObject.find_unique_entry()
* Fixed invoking start_tls_s() in ReconnectLDAPObject.reconnect()
(thanks to Philipp Hahn)
PostGIS adds support for geographic objects to the PostgreSQL object-relational
database. In effect, PostGIS "spatially enables" the PostgreSQL server,
allowing it to be used as a backend spatial database for geographic information
systems (GIS), much like ESRI's SDE or Oracle's Spatial extension. PostGIS
follows the OpenGIS "Simple Features Specification for SQL" and has been
certified as compliant with the "Types and Functions" profile.
PostGIS/PostgreSQL includes the following functionality:
* Simple Features as defined by the OpenGIS Consortium (OGC)
* Support for Well-Known Text and Well-Known Binary representations of GIS
objects
* Fast spatial indexing using GiST
* Geospatial analysis functions
* PostgreSQL JDBC extension objects corresponding to the geometries
* Support for OGC access functions as defined by the Simple Features
Specification
This is postgis 2.x, the currently-maintained and recommended version.