Documentation Source Text

Check-in [ddcf89bab0]
Login

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

Overview
Comment:New hyperlinks to FTS and RTree. New requirement that automatically generated rowids must be positive.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: ddcf89bab0c3403fd5a869d97def23488bae622b
User & Date: drh 2010-09-01 11:49:04
Context
2010-09-02
04:20
Add a couple of other typo checking heuristics. check-in: effb349be5 user: shaneh tags: trunk
2010-09-01
11:49
New hyperlinks to FTS and RTree. New requirement that automatically generated rowids must be positive. check-in: ddcf89bab0 user: drh tags: trunk
2010-08-31
16:49
Fix typo in fts3.html pointed out on the mailing list. check-in: 8873618014 user: dan tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to pages/autoinc.in.

39
40
41
42
43
44
45
46
47
48
49


50
51
52
53
54
55
56
^If no ROWID is specified on the insert, or if the specified ROWID has a value
of NULL, then an appropriate ROWID is created
automatically.  ^The usual algorithm is to give the newly created row
a ROWID that is one larger than the largest ROWID in the table prior
to the insert.  ^If the table is initially empty, then a ROWID of 1 is
used.  ^If the largest ROWID is equal to the largest possible integer
(9223372036854775807) then the database
engine starts picking candidate ROWIDs at random until it finds one
that is not previously used.
^If no unused ROWID can be found after a reasonable number of attempts,
the insert operation fails with an [SQLITE_FULL] error.


</p>

<p>
^The normal ROWID selection algorithm described above
will generate monotonically increasing
unique ROWIDs as long as you never use the maximum ROWID value and you never
delete the entry in the table with the largest ROWID. 







|



>
>







39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
^If no ROWID is specified on the insert, or if the specified ROWID has a value
of NULL, then an appropriate ROWID is created
automatically.  ^The usual algorithm is to give the newly created row
a ROWID that is one larger than the largest ROWID in the table prior
to the insert.  ^If the table is initially empty, then a ROWID of 1 is
used.  ^If the largest ROWID is equal to the largest possible integer
(9223372036854775807) then the database
engine starts picking positive candidate ROWIDs at random until it finds one
that is not previously used.
^If no unused ROWID can be found after a reasonable number of attempts,
the insert operation fails with an [SQLITE_FULL] error.
^If no negative ROWID values are inserted explicitly, then automatically 
generated ROWID values will always be greater than zero.
</p>

<p>
^The normal ROWID selection algorithm described above
will generate monotonically increasing
unique ROWIDs as long as you never use the maximum ROWID value and you never
delete the entry in the table with the largest ROWID. 

Changes to pages/docs.in.

131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
}
doc {Using The Online Backup Interface} {backup.html} {
  The [sqlite3_backup_init | online-backup interface] can be used to
  copy content from a disk file into an in-memory database or vice
  versa and it can make a hot backup of a live database.  This application
  note gives examples of how.
}
doc {Virtual R-Tree Tables} {rtree.html} {
  A description of the SQLite R-Tree extension. An R-Tree is a specialized
  data structure that supports fast multi-dimensional range queries often
  used in geospatial systems.
}
doc {Full Text Search} {fts3.html} {
  A description of the SQLite Full Text Search (FTS3) extension.
}







|







131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
}
doc {Using The Online Backup Interface} {backup.html} {
  The [sqlite3_backup_init | online-backup interface] can be used to
  copy content from a disk file into an in-memory database or vice
  versa and it can make a hot backup of a live database.  This application
  note gives examples of how.
}
doc {R-Trees} {rtree.html} {
  A description of the SQLite R-Tree extension. An R-Tree is a specialized
  data structure that supports fast multi-dimensional range queries often
  used in geospatial systems.
}
doc {Full Text Search} {fts3.html} {
  A description of the SQLite Full Text Search (FTS3) extension.
}

Changes to pages/download.in.

89
90
91
92
93
94
95






96
97
98
99
100
101
102
  Architecture (TEA)</a>
  compatible configure script and makefile.
  This is the <b>recommended</b> source distribution for the TCL interface to
  SQLite.
} {teatarball {TEA tarball}}

Product {sqlite-tea-snapshot-DATE.tar.gz} {






  This is a snapshot (as of VERSION) of the current SQLite code under 
  development, packaged and ready to build using the
  <a href="http://www.tcl.tk/doc/tea/">Tcl Extension Architecture (TEA)</a>.
  Use this snapshot for testing only.  This is not a release.
}

Product {sqlite-V3.tar.gz} {







>
>
>
>
>
>







89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
  Architecture (TEA)</a>
  compatible configure script and makefile.
  This is the <b>recommended</b> source distribution for the TCL interface to
  SQLite.
} {teatarball {TEA tarball}}

Product {sqlite-tea-snapshot-DATE.tar.gz} {
  This is a snapshot (as of VERSION) of the current SQLite code under 
  development, packaged and ready to build using the
  <a href="http://www.tcl.tk/doc/tea/">Tcl Extension Architecture (TEA)</a>.
  Use this snapshot for testing only.  This is not a release.
}
Product {sqlite-tea-snapshot-DATE.zip} {
  This is a snapshot (as of VERSION) of the current SQLite code under 
  development, packaged and ready to build using the
  <a href="http://www.tcl.tk/doc/tea/">Tcl Extension Architecture (TEA)</a>.
  Use this snapshot for testing only.  This is not a release.
}

Product {sqlite-V3.tar.gz} {

Changes to pages/fts3.in.

1
2
3
4
5
6
7
8
9

<tcl>hd_keywords *fts3 FTS3</tcl>
<title>SQLite FTS3 Extension</title>

<table_of_contents>

<h2 style="margin-left:1.0em" notoc> Overview</h2>

<p>

|







1
2
3
4
5
6
7
8
9

<tcl>hd_keywords *fts3 FTS3 {full-text search}</tcl>
<title>SQLite FTS3 Extension</title>

<table_of_contents>

<h2 style="margin-left:1.0em" notoc> Overview</h2>

<p>

Changes to pages/rtree.in.

1
2
3
4
5
6
7
8
9
<title>The SQLite R*Tree Module</title>
<tcl>hd_keywords *rtree *RTREE {R-Tree extension}</tcl>

<h1>1.0 Overview</h1>

<p>
An [http://en.wikipedia.org/wiki/R-tree | R-Tree] is a special
index that is designed for doing range queries.  R-Trees are most commonly
used in geospatial systems where each entry is a rectangle with minimum and

|







1
2
3
4
5
6
7
8
9
<title>The SQLite R*Tree Module</title>
<tcl>hd_keywords *rtree *RTREE {R-Tree extension} {R-Trees}</tcl>

<h1>1.0 Overview</h1>

<p>
An [http://en.wikipedia.org/wiki/R-tree | R-Tree] is a special
index that is designed for doing range queries.  R-Trees are most commonly
used in geospatial systems where each entry is a rectangle with minimum and

Changes to pages/vtab.in.

39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Or it might represent a view of data on disk that is not in the
SQLite format. Or the application might compute the content of the 
virtual table on demand.

<p>Here are some postulated uses for virtual tables:

<ul>
<li> A full-text search interface
<li> Spatial indices using R-Trees
<li> Read and/or write the content of a comma-separated value (CSV)
     file
<li> Access to the filesystem of the host computer
<li> Enabling SQL manipulation of data in statistics packages like R
</ul>

<h3>1.1 Usage</h3>







|
|







39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Or it might represent a view of data on disk that is not in the
SQLite format. Or the application might compute the content of the 
virtual table on demand.

<p>Here are some postulated uses for virtual tables:

<ul>
<li> A [full-text search] interface
<li> Spatial indices using [R-Trees]
<li> Read and/or write the content of a comma-separated value (CSV)
     file
<li> Access to the filesystem of the host computer
<li> Enabling SQL manipulation of data in statistics packages like R
</ul>

<h3>1.1 Usage</h3>