Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Minor clarifications of recent documentation. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
e139253c4bcb10e1fef3bc230ae469c5 |
User & Date: | drh 2014-02-28 12:26:54.992 |
Context
2014-03-06
| ||
02:12 | Update the index page and change log in anticipation for 3.8.4. (check-in: 2c81b82587 user: drh tags: trunk) | |
2014-02-28
| ||
12:26 | Minor clarifications of recent documentation. (check-in: e139253c4b user: drh tags: trunk) | |
2014-02-22
| ||
13:55 | Clarification of what it means for the expression in a DEFAULT clause to be constant. (check-in: 0b36750358 user: drh tags: trunk) | |
Changes
Changes to pages/queryplanner-ng.in.
︙ | ︙ | |||
48 49 50 51 52 53 54 | But for larger and more complex queries, such as multi-way joins with many indices and subqueries, there can be hundreds, thousands, or millions of reasonable algorithms for computing the result. The job of the query planner is to chose a single "best" query plan from this multitude of possibilities.</p> | | | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | But for larger and more complex queries, such as multi-way joins with many indices and subqueries, there can be hundreds, thousands, or millions of reasonable algorithms for computing the result. The job of the query planner is to chose a single "best" query plan from this multitude of possibilities.</p> <p>Query planners are what make SQL database engines so amazingly useful and powerful. (This is true of all SQL database engines, not just SQLite.) The query planner frees the programmer from the chore of selecting a particular query plan, and thereby allows the programmer to focus more mental energy on higher-level application issues and on providing more value to the end user. For simple queries where the choice of query plan is obvious, this is convenient but not hugely important. But as applications and schemas and queries grow more complex, a |
︙ | ︙ |
Changes to pages/withoutrowid.in.
︙ | ︙ | |||
62 63 64 65 66 67 68 | in an error. <li><p> <b>^The special behaviors associated "[INTEGER PRIMARY KEY]" do not apply on WITHOUT ROWID tables.</b> In an ordinary table, "INTEGER PRIMARY KEY" means that the column is an alias for the rowid. But since there is no rowid in a WITHOUT ROWID | | > | | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | in an error. <li><p> <b>^The special behaviors associated "[INTEGER PRIMARY KEY]" do not apply on WITHOUT ROWID tables.</b> In an ordinary table, "INTEGER PRIMARY KEY" means that the column is an alias for the rowid. But since there is no rowid in a WITHOUT ROWID table, that special meaning no longer applies. An "INTEGER PRIMARY KEY" column in a WITHOUT ROWID table works like an "INT PRIMARY KEY" column in an ordinary table: It is a PRIMARY KEY that has integer [affinity]. <li><p> <b>^[AUTOINCREMENT] does not work on WITHOUT ROWID tables.</b> The [AUTOINCREMENT] mechanism assumes the presence of a rowid and so it does not work on a WITHOUT ROWID table. ^An error is raised if the "AUTOINCREMENT" keyword is used in the CREATE TABLE statement for |
︙ | ︙ |