Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Updates to the change log for version 3.27.0. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
03bca6523910f1d7593178f69a10a3c8 |
User & Date: | drh 2019-01-28 20:31:32.389 |
Context
2019-01-31
| ||
17:51 | Add documentation for SQLITE_CONFIG_MEMDB_MAXSIZE. (check-in: cb850cf9a5 user: drh tags: trunk) | |
2019-01-28
| ||
20:31 | Updates to the change log for version 3.27.0. (check-in: 03bca65239 user: drh tags: trunk) | |
2019-01-22
| ||
20:59 | Clean up links in the arch.html and opcode.html documents. (check-in: ea5ed63f07 user: drh tags: trunk) | |
Changes
Changes to pages/changes.in.
︙ | ︙ | |||
25 26 27 28 29 30 31 | <li>Added the [VACUUM INTO] command <li>Issue an SQLITE_WARNING message on the [error log] if a [double-quoted string literal] is used. <li>The [sqlite3_normalized_sql()] interface works on any prepared statement created using [sqlite3_prepare_v2()] or [sqlite3_prepare_v3()]. It is no longer necessary to use [sqlite3_prepare_v3()] with [SQLITE_PREPARE_NORMALIZE] in order to use [sqlite3_normalized_sql()]. | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | <li>Added the [VACUUM INTO] command <li>Issue an SQLITE_WARNING message on the [error log] if a [double-quoted string literal] is used. <li>The [sqlite3_normalized_sql()] interface works on any prepared statement created using [sqlite3_prepare_v2()] or [sqlite3_prepare_v3()]. It is no longer necessary to use [sqlite3_prepare_v3()] with [SQLITE_PREPARE_NORMALIZE] in order to use [sqlite3_normalized_sql()]. <li>Added the remove_diacritics=2 option to [FTS3] and [FTS5]. <li>Added the [SQLITE_PREPARE_NO_VTAB] option to [sqlite3_prepare_v3()]. Use that option to prevent circular references to [shadow tables] from causing resource leaks. <li>Enhancements to the [sqlite3_deserialize()] interface: <ol type="a"> <li> Add the [SQLITE_FCNTL_SIZE_LIMIT] [sqlite3_file_control|file-control] for setting an upper bound on the size of the in-memory database created by sqlite3_deserialize. The default upper bound is 1GiB, or whatever alternative value is specified by [SQLITE_MEMDB_DEFAULT_MAXSIZE]. <li> Honor the [SQLITE_DESERIALIZE_READONLY] flag, which was previously described in the documentation, but was previously a no-op. <li> Enhance the "deserialize" command of the [TCL Interface] to give it new "--maxsize N" and "--readonly BOOLEAN" options. </ol> <li>Enhancements to the [CLI], mostly to support testing and debugging of the SQLite library itself: <ol type="a"> <li> Add support for ".open --hexdb". The "[https://sqlite.org/src/doc/trunk/tool/dbtotxt.md|dbtotxt]" utility program used to generate the text for the "hexdb" is added to the source tree. <li> Add support for the "--maxsize N" option on ".open --deserialize". <li> Added the "--memtrace" command-line option, to shall all memory allocations and deallocations. <li> Add the ".eqp trace" option on builds with SQLITE_DEBUG, to enable bytecode program listing with indentation and [PRAGMA vdbe_trace] all in one step. </ol> <li> Omit deprecated PRAGMA statements when compiling with [SQLITE_OMIT_DEPRECATED]. <p><b>Bug fixes:</b> <li>Do not use a partial index to do a table scan on an IN operator. Ticket [https://www.sqlite.org/src/info/1d958d90596593a774|1d958d90596593a774]. <li>Fix the [query flattener] so that it works on queries that contain subqueries that use [window functions]. Ticket [https://www.sqlite.org/src/info/f09fcd17810f65f717|709fcd17810f65f717] <li>Ensure that ALTER TABLE modifies table and column names embedded in WITH clauses that are part of views and triggers. |
︙ | ︙ |
Changes to pages/compile.in.
︙ | ︙ | |||
483 484 485 486 487 488 489 490 491 492 493 494 495 496 | COMPILE_OPTION {SQLITE_MAX_WORKER_THREADS=<i>N</i>} { Set an upper bound on the [sqlite3_limit](db,[SQLITE_LIMIT_WORKER_THREADS],N) setting that determines the maximum number of auxiliary threads that a single [prepared statement] will use to aid with CPU-intensive computations (mostly sorting). See also the [SQLITE_DEFAULT_WORKER_THREADS] options. } COMPILE_OPTION {SQLITE_MINIMUM_FILE_DESCRIPTOR=<i>N</i>} { The unix [VFS] will never use a file descriptor less than <i>N</i>. The default value of <i>N</i> is 3. <p> Avoiding the use of low-numbered file descriptors is a defense against accidental database corruption. If a database file was opened using | > > > > > > > > | 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 | COMPILE_OPTION {SQLITE_MAX_WORKER_THREADS=<i>N</i>} { Set an upper bound on the [sqlite3_limit](db,[SQLITE_LIMIT_WORKER_THREADS],N) setting that determines the maximum number of auxiliary threads that a single [prepared statement] will use to aid with CPU-intensive computations (mostly sorting). See also the [SQLITE_DEFAULT_WORKER_THREADS] options. } COMPILE_OPTION {SQLITE_MEMDB_DEFAULT_MAXSIZE=<i>N</i>} { Set the default size limit (in bytes) for in-memory databases created using [sqlite3_deserialize()]. This is just the default. The limit can be changed at run-time for individual databases using the [SQLITE_FCNTL_SIZE_LIMIT] [sqlite3_file_control|file-control]. If no default is specified, 1073741824 is used. } COMPILE_OPTION {SQLITE_MINIMUM_FILE_DESCRIPTOR=<i>N</i>} { The unix [VFS] will never use a file descriptor less than <i>N</i>. The default value of <i>N</i> is 3. <p> Avoiding the use of low-numbered file descriptors is a defense against accidental database corruption. If a database file was opened using |
︙ | ︙ | |||
1540 1541 1542 1543 1544 1545 1546 | This option causes SQLite to omit support for interfaces marked as deprecated. This includes [sqlite3_aggregate_count()], [sqlite3_expired()], [sqlite3_transfer_bindings()], [sqlite3_global_recover()], [sqlite3_thread_cleanup()] and | | > > > > > > > | 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 | This option causes SQLite to omit support for interfaces marked as deprecated. This includes [sqlite3_aggregate_count()], [sqlite3_expired()], [sqlite3_transfer_bindings()], [sqlite3_global_recover()], [sqlite3_thread_cleanup()] and [sqlite3_memory_alarm()] interfaces and [PRAGMA] statements [PRAGMA count_changes], [PRAGMA data_store_directory], [PRAGMA default_cache_size], [PRAGMA empty_result_callbacks], [PRAGMA full_column_names], [PRAGMA short_column_names], and [PRAGMA temp_store_directory]. } COMPILE_OPTION {SQLITE_OMIT_DISKIO} { This option omits all support for writing to the disk and forces databases to exist in memory only. This option has not been maintained and probably does not work with newer versions of SQLite. } |
︙ | ︙ |
Changes to pages/lang.in.
︙ | ︙ | |||
5014 5015 5016 5017 5018 5019 5020 | else it must be an empty file, or the VACUUM INTO command will fail with an error. <p> The VACUUM INTO command is transactional in the sense that the generated output database is a consistent snapshot of the orgininal database. However, if the VACUUM INTO command is | | | | 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 | else it must be an empty file, or the VACUUM INTO command will fail with an error. <p> The VACUUM INTO command is transactional in the sense that the generated output database is a consistent snapshot of the orgininal database. However, if the VACUUM INTO command is interrupted by a unplanned shutdown or power lose, then the generated output database might be incomplete and corrupt. Also, SQLite does not invoke fsync() or FlushFileBuffers() on the generated database to ensure that it has reached non-volatile storage before completing. <tcl>hd_fragment howvacuumworks {how vacuum works}</tcl> <h3>How VACUUM works</h3> |
︙ | ︙ |
Changes to pages/quirks.in.
︙ | ︙ | |||
240 241 242 243 244 245 246 | and single-quotes around string literals. <ul> <li> <tt>"this is a legal SQL column name"</tt> <li> <tt>'this is an SQL string literal'</tt> </ul> <p> SQLite accepts both of the above. But, in an effort to be compatible | | | | | 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 | and single-quotes around string literals. <ul> <li> <tt>"this is a legal SQL column name"</tt> <li> <tt>'this is an SQL string literal'</tt> </ul> <p> SQLite accepts both of the above. But, in an effort to be compatible with MySQL 3.x (which was very popular when SQLite was first being designed) SQLite will also use content contained in double-quotes as a s tring literal if the content does not match any valid identifier. <p> An unfortunate side-effect of this is that a misspelled double-quoted identifier will be interpreted as a string literal, rather than generating an error. Another problem is that this behavior allows developers who are new to the SQL language to continue using double-quoted string literals when they really need to learn to use the correct single-quoted string literal form. |
︙ | ︙ |