175 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			175 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html>
 | |
| <html><head>
 | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | |
| <meta http-equiv="content-type" content="text/html; charset=UTF-8">
 | |
| <link href="../sqlite.css" rel="stylesheet">
 | |
| <title>SQLite Release 3.12.1 On 2016-04-08</title>
 | |
| <!-- path=../ -->
 | |
| </head>
 | |
| <body>
 | |
| <div class=nosearch>
 | |
| <a href="../index.html">
 | |
| <img class="logo" src="../images/sqlite370_banner.gif" alt="SQLite" border="0">
 | |
| </a>
 | |
| <div><!-- IE hack to prevent disappearing logo --></div>
 | |
| <div class="tagline desktoponly">
 | |
| Small. Fast. Reliable.<br>Choose any three.
 | |
| </div>
 | |
| <div class="menu mainmenu">
 | |
| <ul>
 | |
| <li><a href="../index.html">Home</a>
 | |
| <li class='mobileonly'><a href="javascript:void(0)" onclick='toggle_div("submenu")'>Menu</a>
 | |
| <li class='wideonly'><a href='../about.html'>About</a>
 | |
| <li class='desktoponly'><a href="../docs.html">Documentation</a>
 | |
| <li class='desktoponly'><a href="../download.html">Download</a>
 | |
| <li class='wideonly'><a href='../copyright.html'>License</a>
 | |
| <li class='desktoponly'><a href="../support.html">Support</a>
 | |
| <li class='desktoponly'><a href="../prosupport.html">Purchase</a>
 | |
| <li class='search' id='search_menubutton'>
 | |
| <a href="javascript:void(0)" onclick='toggle_search()'>Search</a>
 | |
| </ul>
 | |
| </div>
 | |
| <div class="menu submenu" id="submenu">
 | |
| <ul>
 | |
| <li><a href='../about.html'>About</a>
 | |
| <li><a href='../docs.html'>Documentation</a>
 | |
| <li><a href='../download.html'>Download</a>
 | |
| <li><a href='../support.html'>Support</a>
 | |
| <li><a href='../prosupport.html'>Purchase</a>
 | |
| </ul>
 | |
| </div>
 | |
| <div class="searchmenu" id="searchmenu">
 | |
| <form method="GET" action="../search">
 | |
| <select name="s" id="searchtype">
 | |
| <option value="d">Search Documentation</option>
 | |
| <option value="c">Search Changelog</option>
 | |
| </select>
 | |
| <input type="text" name="q" id="searchbox" value="">
 | |
| <input type="submit" value="Go">
 | |
| </form>
 | |
| </div>
 | |
| </div>
 | |
| <script>
 | |
| function toggle_div(nm) {
 | |
| var w = document.getElementById(nm);
 | |
| if( w.style.display=="block" ){
 | |
| w.style.display = "none";
 | |
| }else{
 | |
| w.style.display = "block";
 | |
| }
 | |
| }
 | |
| function toggle_search() {
 | |
| var w = document.getElementById("searchmenu");
 | |
| if( w.style.display=="block" ){
 | |
| w.style.display = "none";
 | |
| } else {
 | |
| w.style.display = "block";
 | |
| setTimeout(function(){
 | |
| document.getElementById("searchbox").focus()
 | |
| }, 30);
 | |
| }
 | |
| }
 | |
| function div_off(nm){document.getElementById(nm).style.display="none";}
 | |
| window.onbeforeunload = function(e){div_off("submenu");}
 | |
| /* Disable the Search feature if we are not operating from CGI, since */
 | |
| /* Search is accomplished using CGI and will not work without it. */
 | |
| if( !location.origin || !location.origin.match || !location.origin.match(/http/) ){
 | |
| document.getElementById("search_menubutton").style.display = "none";
 | |
| }
 | |
| /* Used by the Hide/Show button beside syntax diagrams, to toggle the */
 | |
| function hideorshow(btn,obj){
 | |
| var x = document.getElementById(obj);
 | |
| var b = document.getElementById(btn);
 | |
| if( x.style.display!='none' ){
 | |
| x.style.display = 'none';
 | |
| b.innerHTML='show';
 | |
| }else{
 | |
| x.style.display = '';
 | |
| b.innerHTML='hide';
 | |
| }
 | |
| return false;
 | |
| }
 | |
| </script>
 | |
| </div>
 | |
| <h2>SQLite Release 3.12.1 On 2016-04-08</h2><p><b>Changes in version 3.12.0 (2016-03-29):</b></p>
 | |
| <p><ol class='lessindent'>
 | |
| <p><b>Potentially Disruptive Change:</b>
 | |
| <li value='1'>The <a href="../compile.html#default_page_size">SQLITE_DEFAULT_PAGE_SIZE</a> is increased from 1024 to 4096.  
 | |
|     The <a href="../compile.html#default_cache_size">SQLITE_DEFAULT_CACHE_SIZE</a> is changed from 2000 to -2000 so 
 | |
|     the same amount of cache memory is used by default.
 | |
|     See the application note on the
 | |
|     <a href="../pgszchng2016.html">version 3.12.0 page size change</a> for further information.
 | |
| <p><b>Performance enhancements:</b>
 | |
| <li>Enhancements to the <a href="../lemon.html">Lemon parser generator</a>
 | |
|     so that it creates a smaller and faster SQL parser.
 | |
| <li>Only create <font color="red">master journal</font> files if two or more attached databases are all
 | |
|     modified, do not have <a href="../pragma.html#pragma_synchronous">PRAGMA synchronous</a> set to OFF, and
 | |
|     do not have the <a href="../pragma.html#pragma_journal_mode">journal_mode</a> set to OFF, MEMORY, or WAL.
 | |
| <li>Only create <a href="../tempfiles.html#stmtjrnl">statement journal</a> files when their size exceeds a threshold.
 | |
|     Otherwise the journal is held in memory and no I/O occurs.  The threshold
 | |
|     can be configured at compile-time using <a href="../compile.html#stmtjrnl_spill">SQLITE_STMTJRNL_SPILL</a> or at
 | |
|     start-time using <a href="../c3ref/config.html">sqlite3_config</a>(<a href="../c3ref/c_config_covering_index_scan.html#sqliteconfigstmtjrnlspill">SQLITE_CONFIG_STMTJRNL_SPILL</a>).
 | |
| <li>The query planner is able to optimize IN operators on <a href="../vtab.html">virtual tables</a>
 | |
|     even if the <a href="../vtab.html#xbestindex">xBestIndex</a> method does not set the
 | |
|     sqlite3_index_constraint_usage.omit flag of the
 | |
|     virtual table column to the left of the IN operator.
 | |
| <li>The query planner now does a better job of optimizing <a href="../vtab.html">virtual table</a>
 | |
|     accesses in a 3-way or higher join where constraints on the virtual
 | |
|     table are split across two or more other tables of the join.
 | |
| <li>More efficient handling of <a href="../appfunc.html">application-defined SQL functions</a>, especially
 | |
|     in cases where the application defines hundreds or thousands of 
 | |
|     custom functions.
 | |
| <li>The query planner considers the LIMIT clause when estimating the cost
 | |
|     of ORDER BY.
 | |
| <li>The configure script (on unix) automatically detects
 | |
|     pread() and pwrite() and sets compile-time options to use those OS
 | |
|     interfaces if they are available.
 | |
| <li>Reduce the amount of memory needed to hold the schema.
 | |
| <li>Other miscellaneous micro-optimizations for improved performance and reduced
 | |
|     memory usage.
 | |
| <p><b>New Features:</b>
 | |
| <li>Added the <a href="../c3ref/c_dbconfig_defensive.html#sqlitedbconfigenablefts3tokenizer">SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER</a> option to <a href="../c3ref/db_config.html">sqlite3_db_config()</a>
 | |
|     which allows the two-argument version of the <a href="../fts3.html#f3tknzr">fts3_tokenizer()</a> SQL function to
 | |
|     be enabled or disabled at run-time.
 | |
| <li>Added the <a href="https://www.sqlite.org/src/artifact/d7cc99350?ln=403-443">sqlite3rbu_bp_progress()</a>
 | |
|     interface to the <a href="../rbu.html">RBU</a> extension.
 | |
| <li>The <a href="../pragma.html#pragma_defer_foreign_keys">PRAGMA defer_foreign_keys=ON</a> statement now also disables 
 | |
|     <a href="../foreignkeys.html#fk_actions">RESTRICT actions</a> on foreign key.
 | |
| <li>Added the <a href="../c3ref/system_errno.html">sqlite3_system_errno()</a> interface.
 | |
| <li>Added the <a href="../compile.html#default_synchronous">SQLITE_DEFAULT_SYNCHRONOUS</a> and <a href="../compile.html#default_wal_synchronous">SQLITE_DEFAULT_WAL_SYNCHRONOUS</a>
 | |
|     compile-time options.  The <a href="../compile.html#default_synchronous">SQLITE_DEFAULT_SYNCHRONOUS</a> compile-time option
 | |
|     replaces the <a href="../compile.html#extra_durable">SQLITE_EXTRA_DURABLE</a> option, which is no longer supported.
 | |
| <li>Enhanced the ".stats" command in the <a href="../cli.html">command-line shell</a> to show more
 | |
|     information about I/O performance obtained from /proc, when available.
 | |
| <p><b>Bug fixes:</b>
 | |
| <li>Make sure the <a href="../c3ref/get_auxdata.html">sqlite3_set_auxdata()</a> values from multiple triggers
 | |
|     within a single statement do not interfere with one another.
 | |
|     Ticket <a href="https://www.sqlite.org/src/info/dc9b1c91">dc9b1c91</a>.
 | |
| <li>Fix the code generator for expressions of the form "x IN (SELECT...)" where
 | |
|     the SELECT statement on the RHS is a correlated subquery.
 | |
|     Ticket <a href="https://www.sqlite.org/src/info/5e3c886796e5512e">5e3c886796e5512e</a>.
 | |
| <li>Fix a harmless TSAN warning associated with the <a href="../c3ref/db_readonly.html">sqlite3_db_readonly()</a> interface.
 | |
| </ol>
 | |
| <p><b>Additional changes in version 3.12.1:</b></p>
 | |
| <p><ol class='lessindent'>
 | |
| <li value='21'>Fix a boundary condition error introduced by version 3.12.0
 | |
|     that can result in a crash during heavy <a href="../lang_savepoint.html">SAVEPOINT</a> usage.
 | |
|     Ticket <a href="https://www.sqlite.org/src/info/7f7f8026eda38">7f7f8026eda38</a>.
 | |
| <li>Fix <a href="../lang_createview.html">views</a> so that they inherit column datatypes from the 
 | |
|     table that they are defined against, when possible.
 | |
| <li>Fix the query planner so that IS and IS NULL operators are able
 | |
|     to drive an index on a LEFT OUTER JOIN.
 | |
| <p><b>Hashes:</b>
 | |
| <li>SQLITE_SOURCE_ID: "2016-04-08 15:09:49 fe7d3b75fe1bde41511b323925af8ae1b910bc4d"
 | |
| <li>SHA1 for sqlite3.c: ebb18593350779850e3e1a930eb84a70fca8c1d1
 | |
| 
 | |
| </ol></p>
 | |
| 
 | |
|       <p>A <a href="../changes.html">complete list of SQLite releases</a>
 | |
|       in a single page and a <a href="../chronology.html">chronology</a> are both also available.  
 | |
|       A detailed history of every
 | |
|       check-in is available at
 | |
|       <a href="http://www.sqlite.org/src/timeline">
 | |
|       SQLite version control site</a>.</p>
 | |
|     
 |