SQLite Release 3.10.0 On 2016-01-06

General improvements:

  • Added support for LIKE, GLOB, and REGEXP operators on virtual tables.
  • Added the colUsed field to sqlite3_index_info for use by the sqlite3_module.xBestIndex method.
  • Enhance the PRAGMA cache_spill statement to accept a 32-bit integer parameter which is the threshold below which cache spilling is prohibited.
  • On unix, if a symlink to a database file is opened, then the corresponding journal files are based on the actual filename, not the symlink name.
  • Added the "--transaction" option to sqldiff.
  • Added the sqlite3_db_cacheflush() interface.
  • Added the sqlite3_strlike() interface.
  • When using memory-mapped I/O map the database file read-only so that stray pointers and/or array overruns in the application cannot accidentally modify the database file.
  • Added the experimental sqlite3_snapshot_get(), sqlite3_snapshot_open(), and sqlite3_snapshot_free() interfaces. These are subject to change or removal in a subsequent release.
  • Enhance the 'utc' modifier in the date and time functions so that it is a no-op if the date/time is known to already be in UTC. (This is not a compatibility break since the behavior has long been documented as "undefined" in that case.)
  • Added the json_group_array() and json_group_object() SQL functions in the json extension.
  • Added the SQLITE_LIKE_DOESNT_MATCH_BLOBS compile-time option.
  • Many small performance optimizations.

    Portability enhancements:

  • Work around a sign-extension bug in the optimizer of the HP C compiler on HP/UX. (details)

    Enhancements to the command-line shell:

  • Added the ".changes ON|OFF" and ".vfsinfo" dot-commands.
  • Translate between MBCS and UTF8 when running in cmd.exe on Windows.

    Enhancements to makefiles:

  • Added the --enable-editline and --enable-static-shell options to the various autoconf-generated configure scripts.
  • Omit all use of "awk" in the makefiles, to make building easier for MSVC users.

    Important fixes:

  • Fix inconsistent integer to floating-point comparison operations that could result in a corrupt index if the index is created on a table column that contains both large integers and floating point values of similar magnitude. Ticket 38a97a87a6.
  • Fix an infinite-loop in the query planner that could occur on malformed common table expressions.
  • Various bug fixes in the sqldiff tool.

    Hashes:

  • SQLITE_SOURCE_ID: "2016-01-06 11:01:07 fd0a50f0797d154fefff724624f00548b5320566"
  • SHA1 for sqlite3.c: b92ca988ebb6df02ac0c8f866dbf3256740408ac