This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[ANNOUNCEMENT] Updated: sqlite3-3.6.2-1


Version 3.6.2-1 of the SQLite library has been uploaded.

SQLite is a C library providing local database storage with a SQL interface. Unlike most SQL database systems, SQLite does not accept connections from remote users. Access to the database requires access to the file system hosting it; SQLite thus relies on the operating system's file security for access control. In exchange for this limitation, you get a smaller, faster database engine that's easy to embed within a program.

This is a big jump over the previous version on the mirrors, 3.5.1. Nearly a year separates these versions!

Changes:

3.5.2:
    * Dropped support for the SQLITE_OMIT_MEMORY_ALLOCATION compile-time
      option.
    * Always open files using FILE_FLAG_RANDOM_ACCESS under windows.
    * The 3rd parameter of the built-in SUBSTR() function is now
      optional.
    * Bug fix: do not invoke the authorizer when reparsing the schema
      after a schema change.
    * Added the experimental malloc-free memory allocator in mem3.c.
    * Virtual machine stores 64-bit integer and floating point constants
      in binary instead of text for a performance boost.
    * Fix a race condition in test_async.c.
    * Added the ".timer" command to the CLI

3.5.3:
    * Move website and documentation files out of the source tree into a
      separate CM system.
    * Fix a long-standing bug in INSERT INTO ... SELECT ... statements
      where the SELECT is compound.
    * Fix a long-standing bug in RAISE(IGNORE) as used in BEFORE
      triggers.
    * Fixed the operator precedence for the ~ operator.
    * On win32, do not return an error when attempting to delete a file
      that does not exist.
    * Allow collating sequence names to be quoted.
    * Modify the TCL interface to use sqlite3_prepare_v2().
    * Fix multiple bugs that can occur following a malloc() failure.
    * sqlite3_step() returns SQLITE_MISUSE instead of crashing when
      called with a NULL parameter.
    * FTS3 now uses the SQLite memory allocator exclusively. The FTS3
      amalgamation can now be appended to the SQLite amalgamation to
      generate a super-amalgamation containing both.
    * The DISTINCT keyword now will sometimes use an INDEX if an
      appropriate index is available and the optimizer thinks its use
      might be advantageous.

3.5.4:
    * Fix a critical bug in UPDATE or DELETE that occurs when an OR
      REPLACE clause or a trigger causes rows in the same table to be
      deleted as side effects. (See ticket #2832.) The most likely
      result of this bug is a segmentation fault, though database
      corruption is a possibility.
    * Bring the processing of ORDER BY into compliance with the SQL
      standard for case where a result alias and a table column name are
      in conflict. Correct behavior is to prefer the result alias. Older
      versions of SQLite incorrectly picked the table column. (See
      ticket #2822.)
    * The VACUUM command preserves the setting of the legacy_file_format
      pragma. (Ticket #2804.)
    * Productize and officially support the group_concat() SQL function.
    * Better optimization of some IN operator expressions.
    * Add the ability to change the auto_vacuum status of a database by
      setting the auto_vaccum pragma and VACUUMing the database.
    * Prefix search in FTS3 is much more efficient.
    * Relax the SQL statement length restriction in the CLI so that the
      ".dump" output of databases with very large BLOBs and strings can
      be played back to recreate the database.
    * Other small bug fixes and optimizations.

3.5.5:
    * Convert the underlying virtual machine to be a register-based
      machine rather than a stack-based machine. The only user-visible
      change is in the output of EXPLAIN.
    * Add the build-in RTRIM collating sequence.

3.5.6:
    * Fix a bug (ticket #2913) that prevented virtual tables from
      working in a LEFT JOIN. The problem was introduced into shortly
      before the 3.5.5 release.
    * Bring the OS/2 porting layer up-to-date.
    * Add the new sqlite3_result_error_code() API and use it in the
      implementation of ATTACH so that proper error codes are returned
      when an ATTACH fails.

3.5.7:
    * Fix a bug (ticket #2927) in the register allocation for compound
      selects - introduced by the new VM code in version 3.5.5.
    * ALTER TABLE uses double-quotes instead of single-quotes for
      quoting filenames.
    * Use the WHERE clause to reduce the size of a materialized VIEW in
      an UPDATE or DELETE statement. (Optimization)
    * Do not apply the flattening optimization if the outer query is an
      aggregate and the inner query contains ORDER BY. (Ticket #2943)
    * Additional OS/2 updates
    * Added an experimental power-of-two, first-fit memory allocator.
    * Remove all instances of sprintf() from the code
    * Accept "Z" as the zulu timezone at the end of date strings
    * Fix a bug in the LIKE optimizer that occurs when the last
      character before the first wildcard is an upper-case "Z"
    * Added the "bitvec" object for keeping track of which pages have
      been journalled. Improves speed and reduces memory consumption,
      especially for large database files.
    * Get the SQLITE_ENABLE_LOCKING_STYLE macro working again on MacOSX.
    * Store the statement journal in the temporary file directory
      instead of colocated with the database file.
    * Many improvements and cleanups to the configure script

3.5.8:
    * Expose SQLite's internal pseudo-random number generator (PRNG) via
      the sqlite3_randomness() interface
    * New interface sqlite3_context_db_handle() that returns the
      database connection handle that has invoked an application-defined
      SQL function.
    * New interface sqlite3_limit() allows size and length limits to be
      set on a per-connection basis and at run-time.
    * Improved crash-robustness: write the database page size into the
      rollback journal header.
    * Allow the VACUUM command to change the page size of a database
      file.
    * The xAccess() method of the VFS is allowed to return -1 to signal
      a memory allocation error.
    * Performance improvement: The OP_IdxDelete opcode uses unpacked
      records, obviating the need for one OP_MakeRecord opcode call for
      each index record deleted.
    * Performance improvement: Constant subexpressions are factored out
      of loops.
    * Performance improvement: Results of OP_Column are reused rather
      than issuing multiple OP_Column opcodes.
    * Fix a bug in the RTRIM collating sequence.
    * Fix a bug in the SQLITE_SECURE_DELETE option that was causing
      Firefox crashes. Make arrangements to always test
      SQLITE_SECURE_DELETE prior to each release.
    * Other miscellaneous performance enhancements.
    * Other miscellaneous minor bug fixes.

3.5.9:
    * Added experimental support for the journal_mode PRAGMA and
      persistent journal.
    * Journal mode PERSIST is the default behavior in exclusive locking
      mode.
    * Fix a performance regression on LEFT JOIN (see ticket #3015) that
      was mistakenly introduced in version 3.5.8.
    * Performance enhancement: Reengineer the internal routines used to
      interpret and render variable-length integers.
    * Fix a buffer-overrun problem in sqlite3_mprintf() which occurs
      when a string without a zero-terminator is passed to "%.*s".
    * Always convert IEEE floating point NaN values into NULL during
      processing. (Ticket #3060)
    * Make sure that when a connection blocks on a RESERVED lock that it
      is able to continue after the lock is released. (Ticket #3093)
    * The "configure" scripts should now automatically configure unix
      systems for large file support. Improved error messages for when
      large files are encountered and large file support is disabled.
    * Avoid cache pages leaks following disk-full or I/O errors
    * And, many more minor bug fixes and performance enhancements....

3.6.0:
    * Modifications to the virtual file system interface to support a
      wider range of embedded systems. See 35to36.html for additional
      information. *** Potentially incompatible change ***
    * All C-preprocessor macros used to control compile-time options now
      begin with the prefix "SQLITE_". This may require changes to
      applications that compile SQLite using their own makefiles and
      with custom compile-time options, hence we mark this as a ***
      Potentially incompatible change ***
    * The SQLITE_MUTEX_APPDEF compile-time option is no longer
      supported. Alternative mutex implementations can now be added at
      run-time using the sqlite3_config() interface with the
      SQLITE_CONFIG_MUTEX verb. *** Potentially incompatible change ***
    * The handling of IN and NOT IN operators that contain a NULL on
      their right-hand side expression is brought into compliance with
      the SQL standard and with other SQL database engines. This is a
      bug fix, but as it has the potential to break legacy applications
      that depend on the older buggy behavior, we mark that as a ***
      Potentially incompatible change ***
    * The result column names generated for compound subqueries have
      been simplified to show only the name of the column of the
      original table and omit the table name. This makes SQLite operate
      more like other SQL database engines.
    * Added the sqlite3_config() interface for doing run-time
      configuration of the entire SQLite library.
    * Added the sqlite3_status() interface used for querying run-time
      status information about the overall SQLite library and its
      subsystems.
    * Added the sqlite3_initialize() and sqlite3_shutdown() interfaces.
    * The SQLITE_OPEN_NOMUTEX option was added to sqlite3_open_v2().
    * Added the PRAGMA page_count command.
    * Added the sqlite3_next_stmt() interface.
    * Added a new R*Tree virtual table

3.6.1:
    * Added the lookaside memory allocator for a speed improvement in
      excess of 15% on some workloads. (Your mileage may vary.)
    * Added the SQLITE_CONFIG_LOOKASIDE verb to sqlite3_config() to
      control the default lookaside configuration.
    * Added verbs SQLITE_STATUS_PAGECACHE_SIZE and
      SQLITE_STATUS_SCRATCH_SIZE to the sqlite3_status() interface.
    * Modified SQLITE_CONFIG_PAGECACHE and SQLITE_CONFIG_SCRATCH to
      remove the "+4" magic number in the buffer size computation.
    * Added the sqlite3_db_config() and sqlite3_db_status() interfaces
      for controlling and monitoring the lookaside allocator separately
      on each database connection.
    * Numerious other performance enhancements
    * Miscellaneous minor bug fixes

3.6.2:
    * Split the pager subsystem into separate pager and pcache
      subsystems.
    * Factor out indentifier resolution procedures into separate files.
    * Bug fixes

If you have questions or comments, please send them to the cygwin mailing list at: cygwin@cygwin.com .

*** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***

If you want to unsubscribe from the cygwin-announce mailing list, look at the "List-Unsubscribe: " tag in the email header of this message. Send email to the address specified there. It will be in the format:

cygwin-announce-unsubscribe-you=yourdomain.com@cygwin.com

If you need more information on unsubscribing, start reading here:

http://sourceware.org/lists.html#unsubscribe-simple

Please read *all* of the information on unsubscribing that is available starting at this URL.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]