?? changes.tcl
字號(hào):
## Run this script to generated a changes.html output file#puts {<html><head> <title>SQLite Change Log</title></head><body bgcolor="white"><h1 align="center">Recent Changes To SQLite</h1><p>This file 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} { puts "<DT><B>$date</B></DT>" puts "<DD><P><UL>$desc</UL></P></DD>"}chng {2004 March 8 (2.8.13)} {<li>Refactor parts of the code in order to make the code footprint smaller. The code is now also a little bit faster.</li><li>sqlite_exec() is now implemented as a wrapper around sqlite_compile() and sqlite_step().</li><li>The built-in min() and max() functions now honor the difference between NUMERIC and TEXT datatypes. Formerly, min() and max() always assumed their arguments were of type NUMERIC.</li><li>New HH:MM:SS modifier to the built-in date/time functions.</li><li>Experimental sqlite_last_statement_changes() API added. Fixed the the last_insert_rowid() function so that it works correctly with triggers.</li><li>Add functions prototypes for the database encryption API.</li><li>Fix several nuisance bugs.</li>}chng {2004 February 8 (2.8.12)} {<li>Fix a bug that will might corrupt the rollback journal if a power failure or external program halt occurs in the middle of a COMMIT. The corrupt journal can lead to database corruption when it is rolled back.</li><li>Reduce the size and increase the speed of various modules, especially the virtual machine.</li><li>Allow "<expr> IN <table>" as a shorthand for "<expr> IN (SELECT * FROM <table>".</li><li>Optimizations to the sqlite_mprintf() routine.</li><li>Make sure the MIN() and MAX() optimizations work within subqueries.</li>}chng {2004 January 14 (2.8.11)} {<li>Fix a bug in how the IN operator handles NULLs in subqueries. The bug was introduced by the previous release.</li>}chng {2004 January 13 (2.8.10)} {<li>Fix a potential database corruption problem on Unix caused by the fact that all posix advisory locks are cleared whenever you close() a file. The work around it to embargo all close() calls while locks are outstanding.</li><li>Performance enhancements on some corner cases of COUNT(*).</li><li>Make sure the in-memory backend response sanely if malloc() fails.</li><li>Allow sqlite_exec() to be called from within user-defined SQL functions.</li><li>Improved accuracy of floating-point conversions using "long double".</li><li>Bug fixes in the experimental date/time functions.</li>}chng {2004 January 5 (2.8.9)} {<li>Fix a 32-bit integer overflow problem that could result in corrupt indices in a database if large negative numbers (less than -2147483648) were inserted into a indexed numeric column.</li><li>Fix a locking problem on multi-threaded Linux implementations.</li><li>Always use "." instead of "," as the decimal point even if the locale requests ",".</li><li>Added UTC to localtime conversions to the experimental date/time functions.</li><li>Bug fixes to date/time functions.</li>}chng {2003 December 17 (2.8.8)} {<li>Fix a critical bug introduced into 2.8.0 which could cause database corruption.</li><li>Fix a problem with 3-way joins that do not use indices</li><li>The VACUUM command now works with the non-callback API</li><li>Improvements to the "PRAGMA integrity_check" command</li>}chng {2003 December 4 (2.8.7)} {<li>Added experimental sqlite_bind() and sqlite_reset() APIs.</li><li>If the name of the database is an empty string, open a new database in a temporary file that is automatically deleted when the database is closed.</li><li>Performance enhancements in the lemon-generated parser</li><li>Experimental date/time functions revised.</li><li>Disallow temporary indices on permanent tables.</li><li>Documentation updates and typo fixes</li><li>Added experimental sqlite_progress_handler() callback API</li><li>Removed support for the Oracle8 outer join syntax.</li><li>Allow GLOB and LIKE operators to work as functions.</li><li>Other minor documentation and makefile changes and bug fixes.</li>}chng {2003 August 21 (2.8.6)} {<li>Moved the CVS repository to www.sqlite.org</li><li>Update the NULL-handling documentation.</li><li>Experimental date/time functions added.</li><li>Bug fix: correctly evaluate a view of a view without segfaulting.</li><li>Bug fix: prevent database corruption if you dropped a trigger that had the same name as a table.</li><li>Bug fix: allow a VACUUM (without segfaulting) on an empty database after setting the EMPTY_RESULT_CALLBACKS pragma.</li><li>Bug fix: if an integer value will not fit in a 32-bit int, store it in a double instead.</li><li>Bug fix: Make sure the journal file directory entry is committed to disk before writing the database file.</li>}chng {2003 July 22 (2.8.5)} {<li>Make LIMIT work on a compound SELECT statement.</li><li>LIMIT 0 now shows no rows. Use LIMIT -1 to see all rows.</li><li>Correctly handle comparisons between an INTEGER PRIMARY KEY and a floating point number.</li><li>Fix several important bugs in the new ATTACH and DETACH commands.</li><li>Updated the <a href="nulls.html">NULL-handling document</a>.</li> <li>Allow NULL arguments in sqlite_compile() and sqlite_step().</li><li>Many minor bug fixes</li>}chng {2003 June 29 (2.8.4)} {<li>Enhanced the "PRAGMA integrity_check" command to verify indices.</li><li>Added authorization hooks for the new ATTACH and DETACH commands.</li><li>Many documentation updates</li><li>Many minor bug fixes</li>}chng {2003 June 4 (2.8.3)} {<li>Fix a problem that will corrupt the indices on a table if you do an INSERT OR REPLACE or an UPDATE OR REPLACE on a table that contains an INTEGER PRIMARY KEY plus one or more indices.</li><li>Fix a bug in windows locking code so that locks work correctly when simultaneously accessed by Win95 and WinNT systems.</li><li>Add the ability for INSERT and UPDATE statements to refer to the "rowid" (or "_rowid_" or "oid") columns.</li><li>Other important bug fixes</li>}chng {2003 May 17 (2.8.2)} {<li>Fix a problem that will corrupt the database file if you drop a table from the main database that has a TEMP index.</li>}chng {2003 May 16 (2.8.1)} {<li>Reactivated the VACUUM command that reclaims unused disk space in a database file.</li><li>Added the ATTACH and DETACH commands to allow interacting with multiple database files at the same time.</li><li>Added support for TEMP triggers and indices.</li><li>Added support for in-memory databases.</li><li>Removed the experimental sqlite_open_aux_file(). Its function is subsumed in the new ATTACH command.</li><li>The precedence order for ON CONFLICT clauses was changed so that ON CONFLICT clauses on BEGIN statements have a higher precedence than ON CONFLICT clauses on constraints.<li>Many, many bug fixes and compatibility enhancements.</li>}chng {2003 Feb 16 (2.8.0)} {<li>Modified the journal file format to make it more resistant to corruption that can occur after an OS crash or power failure.</li><li>Added a new C/C++ API that does not use callback for returning data.</li>}chng {2003 Jan 25 (2.7.6)} {<li>Performance improvements. The library is now much faster.</li><li>Added the <b>sqlite_set_authorizer()</b> API. Formal documentation has not been written - see the source code comments for instructions on how to use this function.</li><li>Fix a bug in the GLOB operator that was preventing it from working with upper-case letters.</li><li>Various minor bug fixes.</li>}chng {2002 Dec 27 (2.7.5)} {<li>Fix an uninitialized variable in pager.c which could (with a probability of about 1 in 4 billion) result in a corrupted database.</li>}chng {2002 Dec 17 (2.7.4)} {<li>Database files can now grow to be up to 2^41 bytes. The old limit was 2^31 bytes.</li><li>The optimizer will now scan tables in the reverse if doing so will satisfy an ORDER BY ... DESC clause.</li><li>The full pathname of the database file is now remembered even if a relative path is passed into sqlite_open(). This allows the library to continue operating correctly after a chdir().</li><li>Speed improvements in the VDBE.</li><li>Lots of little bug fixes.</li>}chng {2002 Oct 30 (2.7.3)} {<li>Various compiler compatibility fixes.</li><li>Fix a bug in the "expr IN ()" operator.</li><li>Accept column names in parentheses.</li><li>Fix a problem with string memory management in the VDBE</li><li>Fix a bug in the "table_info" pragma"</li><li>Export the sqlite_function_type() API function in the Windows DLL</li><li>Fix locking behavior under windows</li><li>Fix a bug in LEFT OUTER JOIN</li>}chng {2002 Sep 25 (2.7.2)} {<li>Prevent journal file overflows on huge transactions.</li><li>Fix a memory leak that occurred when sqlite_open() failed.</li><li>Honor the ORDER BY and LIMIT clause of a SELECT even if the result set is used for an INSERT.</li><li>Do not put write locks on the file used to hold TEMP tables.</li><li>Added documention on SELECT DISTINCT and on how SQLite handles NULLs.</li><li>Fix a problem that was causing poor performance when many thousands of SQL statements were executed by a single sqlite_exec() call.</li>}chng {2002 Aug 31 (2.7.1)} {<li>Fix a bug in the ORDER BY logic that was introduced in version 2.7.0</li><li>C-style comments are now accepted by the tokenizer.</li><li>INSERT runs a little faster when the source is a SELECT statement.</li>}chng {2002 Aug 25 (2.7.0)} {<li>Make a distinction between numeric and text values when sorting. Text values sort according to memcmp(). Numeric values sort in numeric order.</li><li>Allow multiple simulataneous readers under windows by simulating the reader/writers locks that are missing from Win95/98/ME.</li><li>An error is now returned when trying to start a transaction if another transaction is already active.</li>}chng {2002 Aug 12 (2.6.3)} {<li>Add the ability to read both little-endian and big-endian databases. So database created under SunOS or MacOSX can be read and written under Linux or Windows and vice versa.</li><li>Convert to the new website: http://www.sqlite.org/</li><li>Allow transactions to span Linux Threads</li><li>Bug fix in the processing of the ORDER BY clause for GROUP BY queries</li>}chng {2002 Jly 30 (2.6.2)} {<li>Text files read by the COPY command can now have line terminators of LF, CRLF, or CR.</li><li>SQLITE_BUSY is handled correctly if encountered during database initialization.</li><li>Fix to UPDATE triggers on TEMP tables.</li><li>Documentation updates.</li>}chng {2002 Jly 19 (2.6.1)} {<li>Include a static string in the library that responds to the RCS "ident" command and which contains the library version number.</li><li>Fix an assertion failure that occurred when deleting all rows of a table with the "count_changes" pragma turned on.</li><li>Better error reporting when problems occur during the automatic 2.5.6 to 2.6.0 database format upgrade.</li>}chng {2002 Jly 17 (2.6.0)} {<li>Change the format of indices to correct a design flaw the originated with version 2.1.0. <font color="red">*** This is an incompatible file format change ***</font> When version 2.6.0 or later of the library attempts to open a database file created by version 2.5.6 or earlier, it will automatically and irreversibly convert the file format. <b>Make backup copies of older database files before opening them with version 2.6.0 of the library.</b> </li>}chng {2002 Jly 7 (2.5.6)} {<li>Fix more problems with rollback. Enhance the test suite to exercise the rollback logic extensively in order to prevent any future problems. </li>}chng {2002 Jly 6 (2.5.5)} {<li>Fix a bug which could cause database corruption during a rollback. This bugs was introduced in version 2.4.0 by the freelist optimization of checking [410].</li><li>Fix a bug in aggregate functions for VIEWs.</li><li>Other minor changes and enhancements.</li>}chng {2002 Jly 1 (2.5.4)} {<li>Make the "AS" keyword optional again.</li><li>The datatype of columns now appear in the 4th argument to the callback.</li><li>Added the <b>sqlite_open_aux_file()</b> API, though it is still mostly undocumented and untested.</li><li>Added additional test cases and fixed a few bugs that those test cases found.</li>}chng {2002 Jun 24 (2.5.3)} {<li>Bug fix: Database corruption can occur due to the optimization that was introduced in version 2.4.0 (check-in [410]). The problem should now be fixed. The use of versions 2.4.0 through 2.5.2 is not recommended.</li>}chng {2002 Jun 24 (2.5.2)} {<li>Added the new <b>SQLITE_TEMP_MASTER</b> table which records the schema for temporary tables in the same way that <b>SQLITE_MASTER</b> does for persistent tables.</li><li>Added an optimization to UNION ALL</li><li>Fixed a bug in the processing of LEFT OUTER JOIN</li><li>The LIMIT clause now works on subselects</li><li>ORDER BY works on subselects</li><li>There is a new TypeOf() function used to determine if an expression is numeric or text.</li><li>Autoincrement now works for INSERT from a SELECT.</li>}chng {2002 Jun 19 (2.5.1)} {<li>The query optimizer now attempts to implement the ORDER BY clause using an index. Sorting is still used if not suitable index is available.</li>}chng {2002 Jun 17 (2.5.0)} {<li>Added support for row triggers.</li><li>Added SQL-92 compliant handling of NULLs.</li><li>Add support for the full SQL-92 join syntax and LEFT OUTER JOINs.</li><li>Double-quoted strings interpreted as column names not text literals.</li><li>Parse (but do not implement) foreign keys.</li><li>Performance improvemenets in the parser, pager, and WHERE clause code generator.</li><li>Make the LIMIT clause work on subqueries. (ORDER BY still does not work, though.)</li><li>Added the "%Q" expansion to sqlite_*_printf().</li><li>Bug fixes too numerious to mention (see the change log).</li>}chng {2002 May 09 (2.4.12)} {<li>Added logic to detect when the library API routines are called out of sequence.</li>}chng {2002 May 08 (2.4.11)} {<li>Bug fix: Column names in the result set were not being generated correctly for some (rather complex) VIEWs. This could cause a segfault under certain circumstances.</li>}chng {2002 May 02 (2.4.10)} {<li>Bug fix: Generate correct column headers when a compound SELECT is used as a subquery.</li><li>Added the sqlite_encode_binary() and sqlite_decode_binary() functions to the source tree. But they are not yet linked into the library.</li><li>Documentation updates.</li><li>Export the sqlite_changes() function from windows DLLs.</li><li>Bug fix: Do not attempt the subquery flattening optimization on queries that lack a FROM clause. To do so causes a segfault.</li>}chng {2002 Apr 21 (2.4.9)} {<li>Fix a bug that was causing the precompiled binary of SQLITE.EXE to
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -