?? changes.tcl
字號:
## Run this script to generated a changes.html output file#source common.tclheader {SQLite changes}puts {<p>This page provides a high-level summary of changes to SQLite.For more detail, refer the the checkin logs generated byCVS at<a href="http://www.sqlite.org/cvstrac/timeline">http://www.sqlite.org/cvstrac/timeline</a>.</p><DL>}proc chng {date desc} { if {[regexp {\(([0-9.]+)\)} $date all vers]} { set label [string map {. _} $vers] puts "<A NAME=\"version_$label\">" } puts "<DT><B>$date</B></DT>" puts "<DD><P><UL>$desc</UL></P></DD>"}chng {2006 April 5 (3.3.5)} {<li>CHECK constraints use conflict resolution algorithms correctly.</li><li>The SUM() function throws an error on integer overflow.</li><li>Choose the column names in a compound query from the left-most SELECT instead of the right-most.</li><li>The sqlite3_create_collation() function honors the SQLITE_UTF16_ALIGNED flag.</li><li>SQLITE_SECURE_DELETE compile-time option causes deletes to overwrite old data with zeros.</li><li>Detect integer overflow in abs().</li><li>The random() function provides 64 bits of randomness instead of only 32 bits.</li><li>Parser detects and reports automaton stack overflow.</li><li>Change the round() function to return REAL instead of TEXT.</li><li>Allow WHERE clause terms on the left table of a LEFT OUTER JOIN to contain aggregate subqueries.</li><li>Skip over leading spaces in text to numeric conversions.</li><li>Various minor bug and documentation typo fixes and performance enhancements.</li>}chng {2006 February 11 (3.3.4)} {<li>Fix a blunder in the Unix mutex implementation that can lead todeadlock on multithreaded systems.</li><li>Fix an alignment problem on 64-bit machines</li><li>Added the fullfsync pragma.</li><li>Fix an optimizer bug that could have caused some unusual LEFT OUTER JOINsto give incorrect results.</li><li>The SUM function detects integer overflow and converts to accumulatingan approximate result using floating point numbers</li><li>Host parameter names can begin with '@' for compatibility with SQL Server.</li><li>Other miscellaneous bug fixes</li>}chng {2006 January 31 (3.3.3)} {<li>Removed support for an ON CONFLICT clause on CREATE INDEX - it neverworked correctly so this should not present any backward compatibilityproblems.</li><li>Authorizer callback now notified of ALTER TABLE ADD COLUMN commands</li><li>After any changes to the TEMP database schema, all prepared statementsare invalidated and must be recreated using a new call tosqlite3_prepare()</li><li>Other minor bug fixes in preparation for the first stable releaseof version 3.3</li>}chng {2006 January 24 (3.3.2 beta)} {<li>Bug fixes and speed improvements. Improved test coverage.</li><li>Changes to the OS-layer interface: mutexes must now be recursive.</li><li>Discontinue the use of thread-specific data for out-of-memoryexception handling</li>}chng {2006 January 16 (3.3.1 alpha)} {<li>Countless bug fixes</li><li>Speed improvements</li><li>Database connections can now be used by multiple threads, not justthe thread in which they were created.</li>}chng {2006 January 10 (3.3.0 alpha)} {<li>CHECK constraints</li><li>IF EXISTS and IF NOT EXISTS clauses on CREATE/DROP TABLE/INDEX.</li><li>DESC indices</li><li>More efficient encoding of boolean values resulting in smaller databasefiles</li><li>More aggressive SQLITE_OMIT_FLOATING_POINT</li><li>Separate INTEGER and REAL affinity</li><li>Added a virtual function layer for the OS interface</li><li>"exists" method added to the TCL interface</li><li>Improved response to out-of-memory errors</li><li>Database cache can be optionally shared between connectionsin the same thread</li><li>Optional READ UNCOMMITTED isolation (instead of the defaultisolation level of SERIALIZABLE) and table level locking whendatabase connections share a common cache.</li>}chng {2005 December 19 (3.2.8)} {<li>Fix an obscure bug that can cause database corruption under thefollowing unusual circumstances: A large INSERT or UPDATE statement which is part of an even larger transaction fails due to a uniqueness contraintbut the containing transaction commits.</li>}chng {2005 December 19 (2.8.17)} {<li>Fix an obscure bug that can cause database corruption under thefollowing unusual circumstances: A large INSERT or UPDATE statement which is part of an even larger transaction fails due to a uniqueness contraintbut the containing transaction commits.</li>}chng {2005 September 24 (3.2.7)} {<li>GROUP BY now considers NULLs to be equal again, as it should</li><li>Now compiles on Solaris and OpenBSD and other Unix variantsthat lack the fdatasync() function</li><li>Now compiles on MSVC++6 again</li><li>Fix uninitialized variables causing malfunctions for various obscurequeries</li><li>Correctly compute a LEFT OUTER JOINs that is constrained on theleft table only</li>}chng {2005 September 17 (3.2.6)} {<li>Fix a bug that can cause database corruption if a VACUUM (or autovacuum) fails and is rolled back on a database that is larger than 1GiB</li><li>LIKE optiization now works for columns with COLLATE NOCASE</li><li>ORDER BY and GROUP BY now use bounded memory</li><li>Added support for COUNT(DISTINCT expr)</li><li>Change the way SUM() handles NULL values in order to comply with the SQL standard</li><li>Use fdatasync() instead of fsync() where possible in order to speed up commits slightly</li><li>Use of the CROSS keyword in a join turns off the table reordering optimization</li><li>Added the experimental and undocumented EXPLAIN QUERY PLAN capability</li><li>Use the unicode API in windows</li>}chng {2005 August 27 (3.2.5)} {<li>Fix a bug effecting DELETE and UPDATE statements that changedmore than 40960 rows.</li><li>Change the makefile so that it no longer requires GNUmake extensions</li><li>Fix the --enable-threadsafe option on the configure script</li><li>Fix a code generator bug that occurs when the left-hand side of an INoperator is constant and the right-hand side is a SELECT statement</li><li>The PRAGMA synchronous=off statement now disables syncing of themaster journal file in addition to the normal rollback journals</li>}chng {2005 August 24 (3.2.4)} {<li>Fix a bug introduced in the previous releasethat can cause a segfault while generating codefor complex WHERE clauses.</li><li>Allow floating point literals to begin or end with a decimal point.</li>}chng {2005 August 21 (3.2.3)} {<li>Added support for the CAST operator</li><li>Tcl interface allows BLOB values to be transferred to user-definedfunctions</li><li>Added the "transaction" method to the Tcl interface</li><li>Allow the DEFAULT value of a column to call functions that have constantoperands</li><li>Added the ANALYZE command for gathering statistics on indices andusing those statistics when picking an index in the optimizer</li><li>Remove the limit (formerly 100) on the number of terms in theWHERE clause</li><li>The right-hand side of the IN operator can now be a list of expressionsinstead of just a list of constants</li><li>Rework the optimizer so that it is able to make better use of indices</li><li>The order of tables in a join is adjusted automatically to makebetter use of indices</li><li>The IN operator is now a candidate for optimization even if the left-handside is not the left-most term of the index. Multiple IN operators can beused with the same index.</li><li>WHERE clause expressions using BETWEEN and OR are now candidatesfor optimization</li><li>Added the "case_sensitive_like" pragma and the SQLITE_CASE_SENSITIVE_LIKEcompile-time option to set its default value to "on".</li><li>Use indices to help with GLOB expressions and LIKE expressions toowhen the case_sensitive_like pragma is enabled</li><li>Added support for grave-accent quoting for compatibility with MySQL</li><li>Improved test coverage</li><li>Dozens of minor bug fixes</li>}chng {2005 June 13 (3.2.2)} {<li>Added the sqlite3_db_handle() API</li><li>Added the sqlite3_get_autocommit() API</li><li>Added a REGEXP operator to the parser. There is no function to backup this operator in the standard build but users can add their own usingsqlite3_create_function()</li><li>Speed improvements and library footprint reductions.</li><li>Fix byte alignment problems on 64-bit architectures.</li><li>Many, many minor bug fixes and documentation updates.</li>}chng {2005 March 29 (3.2.1)} {<li>Fix a memory allocation error in the new ADD COLUMN comment.</li><li>Documentation updates</li>}chng {2005 March 21 (3.2.0)} {<li>Added support for ALTER TABLE ADD COLUMN.</li><li>Added support for the "T" separator in ISO-8601 date/time strings.</li><li>Improved support for Cygwin.</li><li>Numerous bug fixes and documentation updates.</li>}chng {2005 March 16 (3.1.6)} {<li>Fix a bug that could cause database corruption when inserting record into tables with around 125 columns.</li><li>sqlite3_step() is now much more likely to invoke the busy handler and less likely to return SQLITE_BUSY.</li><li>Fix memory leaks that used to occur after a malloc() failure.</li>}chng {2005 March 11 (3.1.5)} {<li>The ioctl on OS-X to control syncing to disk is F_FULLFSYNC, not F_FULLSYNC. The previous release had it wrong.</li>}chng {2005 March 10 (3.1.4)} {<li>Fix a bug in autovacuum that could cause database corruption ifa CREATE UNIQUE INDEX fails because of a constraint violation.This problem only occurs if the new autovacuum feature introduced inversion 3.1 is turned on.</li><li>The F_FULLSYNC ioctl (currently only supported on OS-X) is disabledif the synchronous pragma is set to something other than "full".</li><li>Add additional forward compatibility to the future version 3.2 database file format.</li><li>Fix a bug in WHERE clauses of the form (rowid<'2')</li><li>New SQLITE_OMIT_... compile-time options added</li><li>Updates to the man page</li><li>Remove the use of strcasecmp() from the shell</li><li>Windows DLL exports symbols Tclsqlite_Init and Sqlite_Init</li>}chng {2005 February 19 (3.1.3)} {<li>Fix a problem with VACUUM on databases from which tables containingAUTOINCREMENT have been dropped.</li><li>Add forward compatibility to the future version 3.2 database fileformat.</li><li>Documentation updates</li>}chng {2005 February 15 (3.1.2)} {<li>Fix a bug that can lead to database corruption if there are twoopen connections to the same database and one connection does a VACUUMand the second makes some change to the database.</li><li>Allow "?" parameters in the LIMIT clause.</li><li>Fix VACUUM so that it works with AUTOINCREMENT.</li><li>Fix a race condition in AUTOVACUUM that can lead to corrupt databases</li><li>Add a numeric version number to the sqlite3.h include file.</li><li>Other minor bug fixes and performance enhancements.</li>}chng {2005 February 15 (2.8.16)} {<li>Fix a bug that can lead to database corruption if there are twoopen connections to the same database and one connection does a VACUUMand the second makes some change to the database.</li><li>Correctly handle quoted names in CREATE INDEX statements.</li><li>Fix a naming conflict between sqlite.h and sqlite3.h.</li><li>Avoid excess heap usage when copying expressions.</li><li>Other minor bug fixes.</li>}chng {2005 February 1 (3.1.1 BETA)} {<li>Automatic caching of prepared statements in the TCL interface</li><li>ATTACH and DETACH as well as some other operations cause existing prepared statements to expire.</li><li>Numerious minor bug fixes</li>}chng {2005 January 21 (3.1.0 ALPHA)} {<li>Autovacuum support added</li><li>CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP added</li><li>Support for the EXISTS clause added.</li><li>Support for correlated subqueries added.</li><li>Added the ESCAPE clause on the LIKE operator.</li><li>Support for ALTER TABLE ... RENAME TABLE ... added</li><li>AUTOINCREMENT keyword supported on INTEGER PRIMARY KEY</li><li>Many SQLITE_OMIT_ macros inserts to omit features at compile-time and reduce the library footprint.</li><li>The REINDEX command was added.</li><li>The engine no longer consults the main table if it can get all the information it needs from an index.</li><li>Many nuisance bugs fixed.</li>}chng {2004 October 11 (3.0.8)} {<li>Add support for DEFERRED, IMMEDIATE, and EXCLUSIVE transactions.</li><li>Allow new user-defined functions to be created when there arealready one or more precompiled SQL statements.<li><li>Fix portability problems for Mingw/MSYS.</li><li>Fix a byte alignment problem on 64-bit Sparc machines.</li><li>Fix the ".import" command of the shell so that it ignores \rcharacters at the end of lines.</li><li>The "csv" mode option in the shell puts strings inside double-quotes.</li><li>Fix typos in documentation.</li><li>Convert array constants in the code to have type "const".</li><li>Numerous code optimizations, specially optimizations designed tomake the code footprint smaller.</li>}chng {2004 September 18 (3.0.7)} {<li>The BTree module allocates large buffers using malloc() instead of off of the stack, in order to play better on machines with limited stack space.</li><li>Fixed naming conflicts so that versions 2.8 and 3.0 can be linked and used together in the same ANSI-C source file.</li><li>New interface: sqlite3_bind_parameter_index()</li><li>Add support for wildcard parameters of the form: "?nnn"</li><li>Fix problems found on 64-bit systems.</li><li>Removed encode.c file (containing unused routines) from the version 3.0 source tree.</li><li>The sqlite3_trace() callbacks occur before each statement is executed, not when the statement is compiled.</li><li>Makefile updates and miscellaneous bug fixes.</li>}chng {2004 September 02 (3.0.6 beta)} {<li>Better detection and handling of corrupt database files.</li><li>The sqlite3_step() interface returns SQLITE_BUSY if it is unable to commit a change because of a lock</li><li>Combine the implementations of LIKE and GLOB into a single pattern-matching subroutine.</li><li>Miscellaneous code size optimizations and bug fixes</li>}chng {2004 August 29 (3.0.5 beta)} {<li>Support for ":AAA" style bind parameter names.</li><li>Added the new sqlite3_bind_parameter_name() interface.</li><li>Support for TCL variable names embedded in SQL statements in the TCL bindings.</li><li>The TCL bindings transfer data without necessarily doing a conversion to a string.</li><li>The database for TEMP tables is not created until it is needed.</li><li>Add the ability to specify an alternative temporary file directory using the "sqlite_temp_directory" global variable.</li><li>A compile-time option (SQLITE_BUSY_RESERVED_LOCK) causes the busy handler to be called when there is contention for a RESERVED lock.</li><li>Various bug fixes and optimizations</li>}chng {2004 August 8 (3.0.4 beta)} {<li>CREATE TABLE and DROP TABLE now work correctly as prepared statements.</li><li>Fix a bug in VACUUM and UNIQUE indices.</li><li>Add the ".import" command to the command-line shell.</li><li>Fix a bug that could cause index corruption when an attempt to delete rows of a table is blocked by a pending query.</li><li>Library size optimizations.</li><li>Other minor bug fixes.</li>}chng {2004 July 22 (2.8.15)} {<li>This is a maintenance release only. Various minor bugs have beenfixed and some portability enhancements are added.</li>}chng {2004 July 22 (3.0.3 beta)} {<li>The second beta release for SQLite 3.0.</li><li>Add support for "PRAGMA page_size" to adjust the page size of
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -