Hello.  In this mail I'd like to point out some minor problems with
the SQLite documentation.  (By the way, let me thank you for adding
named anchors to every heading in the docs so I can link to them
easily.  A lot of webpages don't do this.)

1. In Compilation Options For SQLite "http://sqlite.org/compile.html";,
under HAVE_MALLOC_USABLE_SIZE, "Apply systems" is probably a typo for
"Apple systems".  Please fix it, because it's confusing.  If it does
not mean Apple systems, then please clarify in the text what it means.

2. In the same document, in chapter 1.7, this sentence is confusing:
"Any SQLITE_OMIT_* options which can be used directly with the
amalgamation are listed below, however, the warnings in the following
paragraph should be noted."  The document should either explain which
of the omit options can be used with the amalgamation, or explicitly
tell that the "http://sqlite.org/howtocompile.html"; document (that
this sentence links to) tells which options can't be used with the
amalgamation.  As a fix, I suggest you replace that paragraph and the
following one with this.

<blockquote><p><i><b>Important Note:</b> The SQLITE_OMIT_* options do
not work with the <a href="amalgamation.html">amalgamation</a>.
SQLITE_OMIT_* compile-time options only work correctly when SQLite is
built from canonical source files.</i></blockquote>
<p>If any of these options are defined, then the same set of
SQLITE_OMIT_* options must also be defined when using the 'lemon' tool
to generate the parse.c file and when compiling the 'mkkeywordhash'
tool which generates the keywordhash.h file. Because of this, some of
these options may only be used when the library is built from
canonical source, not from the amalgamation, nor from the collection
of pre-packaged C files provided on the website to build older
versions of SQLite for non-Unix like platforms.  <a
href="http://sqlite.org/howtocompile.html";>How To Compile SQLite</a>
lists the options that can't be used directly with the amalgamation.

3. There's something of a contradiction between the reference
Compilation Options For SQLite "http://sqlite.org/compile.html"; and
the introductory document How To Compile SQLite
"http://sqlite.org/howtocompile.html#cli";.  The former document says
that "All of the SQLITE_OMIT_* options are unsupported".  The latter
document, which describes the easiest ways to build SQLite, however,
says "If these features are not required, then they can be omitted
using SQLITE_OMIT_LOAD_EXTENSION compile-time option" without
mentioning that the option is unsupported.  Either something in the
former should claim that the SQLITE_OMIT_LOAD_EXTENSION option is
supported as an exception, or the latter document should not mention
this option or should mention it only with a note that it's
unsupported.  Marking this compilation option as supported would be
preferable if you take the claims of SQLite Is Self-Contained
"http://sqlite.org/selfcontained.html"; seriously, since that document
says "SQLite is written in ANSI-C and should be easily compiled by any
standard C compiler. It makes minimal use of the standard C library".

4. The permuted index
"http://www.sqlite.org/draft/sitemap.html#pindex"; has several entries
starting with "SQLite".  Most of those are superfluous, because the
whole index is about SQLite documentation only.  I think you should
remove most of them.  Keep "SQLite As An Application File Format",
"SQLite Consortium", "SQLite In 5 Minutes Or Less" (unless you add an
index entry at "5 Minutes" instead), "SQLite Is Self-Contained",
"SQLite Is Serverless", "SQLite Is Transactional".  Make sure every
entry you remove has an entry elsewhere in the permuted index.

-----

The following minor problems with the documentation are repeats from
older mails I sent.

5. Something in the documentation should say explicitly that you're
not allowed to use parameters (placeholders) in expressions where the
expression itself would be stored in the schema.  Recent versions of
SQLite seem to enforce this in all the cases I've tested, but
"http://www.sqlite.org/draft/lang_expr.html#varparam"; doesn't mention
it.

6. There are some typos on the documentation page for SQLite Result
codes "http://sqlite.org/rescode.html";.

Under the heading "(1038) SQLITE_CANTOPEN_CONVPATH", the paragraph
talks about the error code "SQLITE_CANTOPEN_SEEK".  That constant does
not exist.  The text probably means "SQLITE_CANTOPEN_CONVPATH"
instead.

Similarly, under the heading "(6410) SQLITE_IOERR_GETTEMPPATH" and
"(6666) SQLITE_IOERR_CONVPATH", the text mentions "SQLITE_IOERR_SEEK"
which is an existing error code, but is probably not the one meant.

The meaning of several error codes are also not documented on this
page, such as those of SQLITE_ABORT, SQLITE_CANTOPEN, SQLITE_EMPTY,
SQLITE_FORMAT, SQLITE_IOERR, SQLITE_MISMATCH,  SQLITE_IOERR_READ,
SQLITE_IOERR_WRITE, etc.  This may not be a bug. The sqlite3.h header
file has short comments next to each primary error code at least.

7. The Indexes On Expressions "http://sqlite.org/draft/expridx.html";
document should be linked from "http://sqlite.org/draft/docs.html";,
probably from under the heading "SQLite Features and
Extensions".

-- Ambrus

Reply via email to