/ Check-in [c734585e]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Updates to the "Distinctive Features" document. (CVS 3530)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: c734585e1a801bec2d393d000c323ba842c2292d
User & Date: drh 2006-12-18 14:12:21
Context
2006-12-18
18:34
Speed improvement: do not journal or rollback pages that are pulled out of the freelist. (CVS 3531) check-in: 4dffc4c3 user: drh tags: trunk
14:12
Updates to the "Distinctive Features" document. (CVS 3530) check-in: c734585e user: drh tags: trunk
2006-12-16
16:25
Query optimizer enhancement: In "FROM a,b,c left join d" allow the C table to be reordered with A and B. This used to be the case but the capability was removed by (3203) and (3052) in response to ticket #1652. This change restores the capability. (CVS 3529) check-in: 7393c81b user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to www/different.tcl.

     1         -set rcsid {$Id: different.tcl,v 1.7 2006/05/11 13:33:15 drh Exp $}
            1  +set rcsid {$Id: different.tcl,v 1.8 2006/12/18 14:12:21 drh Exp $}
     2      2   source common.tcl
     3      3   header {Distinctive Features Of SQLite}
     4      4   puts {
     5      5   <p>
     6      6   This page highlights some of the characteristics of SQLite that are
     7      7   unusual and which make SQLite different from many other SQL
     8      8   database engines.
................................................................................
   104    104     of the column in which the value is stored.
   105    105     SQLite thus allows the user to store
   106    106     any value of any datatype into any column regardless of the declared type
   107    107     of that column.  (There are some exceptions to this rule: An INTEGER
   108    108     PRIMARY KEY column may only store integers.  And SQLite attempts to coerce
   109    109     values into the declared datatype of the column when it can.)
   110    110     <p>
   111         -  The SQL language specification calls for static typing.  So some people
          111  +  As far as we can tell, the SQL language specification allows the use
          112  +  of manifest typing.   Nevertheless, most other SQL database engines are
          113  +  statically typed and so some people
   112    114     feel that the use of manifest typing is a bug in SQLite.  But the authors
   113         -  of SQLite feel very strongly that this is a feature.  The authors argue
   114         -  that static typing is a bug in the SQL specification that SQLite has fixed
   115         -  in a backwards compatible way.
          115  +  of SQLite feel very strongly that this is a feature.  The use of manifest
          116  +  typing in SQLite is a deliberate design decision which has proven in practice
          117  +  to make SQLite more reliable and easier to use, especially when used in
          118  +  combination with dynamically typed programming languages such as Tcl and
          119  +  Python.
   116    120   }
   117    121   
   118    122   feature flex {Variable-length records} {
   119    123     Most other SQL database engines allocated a fixed amount of disk space
   120    124     for each row in most tables.  They play special tricks for handling
   121    125     BLOBs and CLOBs which can be of wildly varying length.  But for most
   122    126     tables, if you declare a column to be a VARCHAR(100) then the database