Omit Core Features
In addition to
all the other build directives, SQLite has a fair number
of SQLITE_
OMIT_*
compile-time
directives. These are designed to remove core features from the build in an
effort to make the core database library as small and compact as possible.
For example, SQLITE_OMIT_ANALYZE
eliminates all code support for the ANALYZE
command (and subsequent query optimizations),
while
SQLITE_OMIT_VIRTUALTABLE
eliminates the
entire virtual table facility.
In general, these directives should only be of interest to embedded systems developers that are counting every byte. Along with any relevant omit flags, you should make sure the compiler is set to build with any “optimize for size” type features enabled.
In order to use most of these omit directives, you need to be building SQLite from the development sources found in the source control tree. Most omit directives won’t work correctly when applied to a source distribution or to the pre-built amalgamation. Also be aware that these compile-time directives are not officially supported, in the sense that they are not part of the official testing chain. For any given version of SQLite, there may be both compile problems and runtime issues if arbitrary sets of omit flags are enabled. Use (and test) at your own risk.
For a full list of the omit compiler directives, see the SQLite website (http://sqlite.org/compile.html#omitfeatures).
Get Using SQLite now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.