Documentation Source Text

Check-in [8a0206bb29]
Login

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

Overview
Comment:Further enhancements to the Quirks document.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 8a0206bb291e011d2b76245f7f7329eb8c0db2568e73d0bef477abdb64ceea6f
User & Date: drh 2018-11-28 10:21:37.841
Context
2018-11-28
14:59
Update the speed-and-size spreadsheet with the latest performance numbers. (check-in: 71c9a6d2b0 user: drh tags: trunk)
10:21
Further enhancements to the Quirks document. (check-in: 8a0206bb29 user: drh tags: trunk)
10:08
Fix a typo on the quirks.html page. (check-in: dd1def55d8 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to pages/omitted.in.
1
2
3
4
5
6
7
8
9
10




11
12
13
14
15
16
17
<title>SQL Features That SQLite Does Not Implement</title>

<h2>SQL Features That SQLite Does Not Implement</h2>

<p>
SQLite implements most of the common features of SQL.
Rather than try to list all the features of SQL that SQLite does
support, it is much easier to list those that it does not.
Unsupported features of SQL are shown below.</p>





<table cellpadding="10">

<tcl>
proc feature {name desc} {
  hd_puts "<tr><td valign=\"top\"><b><nobr>$name</nobr></b></td>"
  hd_puts "<td width=\"10\">&nbsp;</th>"
  hd_puts "<td valign=\"top\">$desc</td></tr>"










>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<title>SQL Features That SQLite Does Not Implement</title>

<h2>SQL Features That SQLite Does Not Implement</h2>

<p>
SQLite implements most of the common features of SQL.
Rather than try to list all the features of SQL that SQLite does
support, it is much easier to list those that it does not.
Unsupported features of SQL are shown below.</p>

<p>
See also the
[Quirks|Quirks, Caveats, and Gotchas] of SQLite.

<table cellpadding="10">

<tcl>
proc feature {name desc} {
  hd_puts "<tr><td valign=\"top\"><b><nobr>$name</nobr></b></td>"
  hd_puts "<td width=\"10\">&nbsp;</th>"
  hd_puts "<td valign=\"top\">$desc</td></tr>"
Changes to pages/quirks.in.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<title>Quirks, Caveats, and Gotchas In SQLite</title>
<tcl>hd_keywords {Quirks}</tcl>

<table_of_contents>

<h1>Overview</h1>

<center><font color="red" size=6><b>
This document is a work in progress.
</b></font>
</center>

<p>
The SQL language is a "standard".
Even so, no two SQL database engines work exactly alike.
Every SQL implementation has it own peculiarities and oddities,
and SQLite is no exception to this rule.

<p>







<
<
<
<
<







1
2
3
4
5
6
7





8
9
10
11
12
13
14
<title>Quirks, Caveats, and Gotchas In SQLite</title>
<tcl>hd_keywords {Quirks}</tcl>

<table_of_contents>

<h1>Overview</h1>






<p>
The SQL language is a "standard".
Even so, no two SQL database engines work exactly alike.
Every SQL implementation has it own peculiarities and oddities,
and SQLite is no exception to this rule.

<p>
292
293
294
295
296
297
298

299




300



This used to be considered good design - that a system would accept
dodgy inputs and try to do the best it could without complaining too much.
But lately, people have come to realize that it is sometimes better to
be strict in what you accept, so as to more easily find errors in the
input.
<p>







<h1>AUTOINCREMENT Does Not Work The Same As MySQL</h1>










>

>
>
>
>
|
>
>
>
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
This used to be considered good design - that a system would accept
dodgy inputs and try to do the best it could without complaining too much.
But lately, people have come to realize that it is sometimes better to
be strict in what you accept, so as to more easily find errors in the
input.
<p>

<h1>AUTOINCREMENT Does Not Work The Same As MySQL</h1>

<p>The [AUTOINCREMENT] feature in SQLite works differently than
it does in MySQL.  This often causes confusion for people who
initially learned SQL on MySQL and then start using SQLite, and
expect the two systems to work identically.

<p>See the [AUTOINCREMENT|SQLite AUTOINCREMENT documentation] for
detailed instructions on what AUTOINCREMENT does and does not do
in SQLite.