aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/sqlite/unix/sqlite-3.5.1/www/compile.tcl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--libraries/sqlite/unix/sqlite-3.5.1/www/compile.tcl278
1 files changed, 0 insertions, 278 deletions
diff --git a/libraries/sqlite/unix/sqlite-3.5.1/www/compile.tcl b/libraries/sqlite/unix/sqlite-3.5.1/www/compile.tcl
deleted file mode 100644
index bdf7d22..0000000
--- a/libraries/sqlite/unix/sqlite-3.5.1/www/compile.tcl
+++ /dev/null
@@ -1,278 +0,0 @@
1#
2# Run this Tcl script to generate the compile.html file.
3#
4set rcsid {$Id: compile.tcl,v 1.5 2005/03/19 15:10:45 drh Exp $ }
5source common.tcl
6header {Compilation Options For SQLite}
7
8puts {
9<h1>Compilation Options For SQLite</h1>
10
11<p>
12For most purposes, SQLite can be built just fine using the default
13compilation options. However, if required, the compile-time options
14documented below can be used to
15<a href="#omitfeatures">omit SQLite features</a> (resulting in
16a smaller compiled library size) or to change the
17<a href="#defaults">default values</a> of some parameters.
18</p>
19<p>
20Every effort has been made to ensure that the various combinations
21of compilation options work harmoniously and produce a working library.
22Nevertheless, it is strongly recommended that the SQLite test-suite
23be executed to check for errors before using an SQLite library built
24with non-standard compilation options.
25</p>
26<a name="defaults"></a>
27<h2>Options To Set Default Parameter Values</h2>
28
29<p><b>SQLITE_DEFAULT_AUTOVACUUM=<i>&lt;1 or 0&gt;</i></b><br>
30This macro determines if SQLite creates databases with the
31<a href="pragma.html#pragma_auto_vacuum">auto-vacuum</a>
32flag set by default. The default value is 0 (do not create auto-vacuum
33databases). In any case the compile-time default may be overridden by the
34"PRAGMA auto_vacuum" command.
35</p>
36
37<p><b>SQLITE_DEFAULT_CACHE_SIZE=<i>&lt;pages&gt;</i></b><br>
38This macro sets the default size of the page-cache for each attached
39database, in pages. This can be overridden by the "PRAGMA cache_size"
40comamnd. The default value is 2000.
41</p>
42
43<p><b>SQLITE_DEFAULT_PAGE_SIZE=<i>&lt;bytes&gt;</i></b><br>
44This macro is used to set the default page-size used when a
45database is created. The value assigned must be a power of 2. The
46default value is 1024. The compile-time default may be overridden at
47runtime by the "PRAGMA page_size" command.
48</p>
49
50<p><b>SQLITE_DEFAULT_TEMP_CACHE_SIZE=<i>&lt;pages&gt;</i></b><br>
51This macro sets the default size of the page-cache for temporary files
52created by SQLite to store intermediate results, in pages. It does
53not affect the page-cache for the temp database, where tables created
54using "CREATE TEMP TABLE" are stored. The default value is 500.
55</p>
56
57<p><b>SQLITE_MAX_PAGE_SIZE=<i>&lt;bytes&gt;</i></b><br>
58This is used to set the maximum allowable page-size that can
59be specified by the "PRAGMA page_size" command. The default value
60is 8192.
61</p>
62
63<a name="omitfeatures"></a>
64<h2>Options To Omit Features</h2>
65
66<p>The following options are used to reduce the size of the compiled
67library by omiting optional features. This is probably only useful
68in embedded systems where space is especially tight, as even with all
69features included the SQLite library is relatively small. Don't forget
70to tell your compiler to optimize for binary size! (the -Os option if
71using GCC).</p>
72
73<p>The macros in this section do not require values. The following
74compilation switches all have the same effect:<br>
75-DSQLITE_OMIT_ALTERTABLE<br>
76-DSQLITE_OMIT_ALTERTABLE=1<br>
77-DSQLITE_OMIT_ALTERTABLE=0
78</p>
79
80<p>If any of these options are defined, then the same set of SQLITE_OMIT_XXX
81options must also be defined when using the 'lemon' tool to generate a parse.c
82file. Because of this, these options may only used when the library is built
83from source, not from the collection of pre-packaged C files provided for
84non-UNIX like platforms on the website.
85</p>
86
87<p><b>SQLITE_OMIT_ALTERTABLE</b><br>
88When this option is defined, the
89<a href="lang_altertable.html">ALTER TABLE</a> command is not included in the
90library. Executing an ALTER TABLE statement causes a parse error.
91</p>
92
93<p><b>SQLITE_OMIT_AUTHORIZATION</b><br>
94Defining this option omits the authorization callback feature from the
95library. The <a href="capi3ref.html#sqlite3_set_authorizer">
96sqlite3_set_authorizer()</a> API function is not present in the library.
97</p>
98
99<p><b>SQLITE_OMIT_AUTOVACUUM</b><br>
100If this option is defined, the library cannot create or write to
101databases that support
102<a href="pragma.html#pragma_auto_vacuum">auto-vacuum</a>. Executing a
103"PRAGMA auto_vacuum" statement is not an error, but does not return a value
104or modify the auto-vacuum flag in the database file. If a database that
105supports auto-vacuum is opened by a library compiled with this option, it
106is automatically opened in read-only mode.
107</p>
108
109<p><b>SQLITE_OMIT_AUTOINCREMENT</b><br>
110This option is used to omit the AUTOINCREMENT functionality. When this
111is macro is defined, columns declared as "INTEGER PRIMARY KEY AUTOINCREMENT"
112behave in the same way as columns declared as "INTEGER PRIMARY KEY" when a
113NULL is inserted. The sqlite_sequence system table is neither created, nor
114respected if it already exists.
115</p>
116<p><i>TODO: Need a link here - AUTOINCREMENT is not yet documented</i><p>
117
118<p><b>SQLITE_OMIT_BLOB_LITERAL</b><br>
119When this option is defined, it is not possible to specify a blob in
120an SQL statement using the X'ABCD' syntax.</p>
121}
122#<p>WARNING: The VACUUM command depends on this syntax for vacuuming databases
123#that contain blobs, so disabling this functionality may render a database
124#unvacuumable.
125#</p>
126#<p><i>TODO: Need a link here - is that syntax documented anywhere?</i><p>
127puts {
128
129<p><b>SQLITE_OMIT_COMPLETE</b><br>
130This option causes the <a href="capi3ref.html#sqlite3_complete">
131sqlite3_complete</a> API to be omitted.
132</p>
133
134<p><b>SQLITE_OMIT_COMPOUND_SELECT</b><br>
135This option is used to omit the compound SELECT functionality.
136<a href="lang_select.html">SELECT statements</a> that use the
137UNION, UNION ALL, INTERSECT or EXCEPT compound SELECT operators will
138cause a parse error.
139</p>
140
141<p><b>SQLITE_OMIT_CONFLICT_CLAUSE</b><br>
142In the future, this option will be used to omit the
143<a href="lang_conflict.html">ON CONFLICT</a> clause from the library.
144</p>
145
146<p><b>SQLITE_OMIT_DATETIME_FUNCS</b><br>
147If this option is defined, SQLite's built-in date and time manipulation
148functions are omitted. Specifically, the SQL functions julianday(), date(),
149time(), datetime() and strftime() are not available. The default column
150values CURRENT_TIME, CURRENT_DATE and CURRENT_DATETIME are still available.
151</p>
152
153<p><b>SQLITE_OMIT_EXPLAIN</b><br>
154Defining this option causes the EXPLAIN command to be omitted from the
155library. Attempting to execute an EXPLAIN statement will cause a parse
156error.
157</p>
158
159<p><b>SQLITE_OMIT_FLOATING_POINT</b><br>
160This option is used to omit floating-point number support from the SQLite
161library. When specified, specifying a floating point number as a literal
162(i.e. "1.01") results in a parse error.
163</p>
164<p>In the future, this option may also disable other floating point
165functionality, for example the sqlite3_result_double(),
166sqlite3_bind_double(), sqlite3_value_double() and sqlite3_column_double()
167API functions.
168</p>
169
170<p><b>SQLITE_OMIT_FOREIGN_KEY</b><br>
171If this option is defined, FOREIGN KEY clauses in column declarations are
172ignored.
173</p>
174
175<p><b>SQLITE_OMIT_INTEGRITY_CHECK</b><br>
176This option may be used to omit the
177<a href="pragma.html#pragma_integrity_check">"PRAGMA integrity_check"</a>
178command from the compiled library.
179</p>
180
181<p><b>SQLITE_OMIT_MEMORYDB</b><br>
182When this is defined, the library does not respect the special database
183name ":memory:" (normally used to create an in-memory database). If
184":memory:" is passed to sqlite3_open(), a file with this name will be
185opened or created.
186</p>
187
188<p><b>SQLITE_OMIT_PAGER_PRAGMAS</b><br>
189Defining this option omits pragmas related to the pager subsystem from
190the build. Currently, the
191<a href="pragma.html#pragma_default_cache_size">default_cache_size</a> and
192<a href="pragma.html#pragma_cache_size">cache_size</a> pragmas are omitted.
193</p>
194
195<p><b>SQLITE_OMIT_PRAGMA</b><br>
196This option is used to omit the <a href="pragma.html">PRAGMA command</a>
197from the library. Note that it is useful to define the macros that omit
198specific pragmas in addition to this, as they may also remove supporting code
199in other sub-systems. This macro removes the PRAGMA command only.
200</p>
201
202<p><b>SQLITE_OMIT_PROGRESS_CALLBACK</b><br>
203This option may be defined to omit the capability to issue "progress"
204callbacks during long-running SQL statements. The
205<a href="capi3ref.html#sqlite3_progress_handler">sqlite3_progress_handler()</a>
206API function is not present in the library.
207
208<p><b>SQLITE_OMIT_REINDEX</b><br>
209When this option is defined, the <a href="lang_reindex.html">REINDEX</a>
210command is not included in the library. Executing a REINDEX statement causes
211a parse error.
212</p>
213
214<p><b>SQLITE_OMIT_SCHEMA_PRAGMAS</b><br>
215Defining this option omits pragmas for querying the database schema from
216the build. Currently, the
217<a href="pragma.html#pragma_table_info">table_info</a>,
218<a href="pragma.html#pragma_index_info">index_info</a>,
219<a href="pragma.html#pragma_index_list">index_list</a> and
220<a href="pragma.html#pragma_database_list">database_list</a>
221pragmas are omitted.
222</p>
223
224<p><b>SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS</b><br>
225Defining this option omits pragmas for querying and modifying the
226database schema version and user version from the build. Specifically, the
227<a href="pragma.html#pragma_schema_version">schema_version</a> and
228<a href="pragma.html#pragma_user_version">user_version</a>
229pragmas are omitted.
230
231<p><b>SQLITE_OMIT_SUBQUERY</b><br>
232<p>If defined, support for sub-selects and the IN() operator are omitted.
233</p>
234
235<p><b>SQLITE_OMIT_TCL_VARIABLE</b><br>
236<p>If this macro is defined, then the special "$<variable-name>" syntax
237used to automatically bind SQL variables to TCL variables is omitted.
238</p>
239
240<p><b>SQLITE_OMIT_TRIGGER</b><br>
241Defining this option omits support for VIEW objects. Neither the
242<a href="lang_createtrigger.html">CREATE TRIGGER</a> or
243<a href="lang_droptrigger.html">DROP TRIGGER</a>
244commands are available in this case, attempting to execute either will result
245in a parse error.
246</p>
247<p>
248WARNING: If this macro is defined, it will not be possible to open a database
249for which the schema contains TRIGGER objects.
250</p>
251
252<p><b>SQLITE_OMIT_UTF16</b><br>
253This macro is used to omit support for UTF16 text encoding. When this is
254defined all API functions that return or accept UTF16 encoded text are
255unavailable. These functions can be identified by the fact that they end
256with '16', for example sqlite3_prepare16(), sqlite3_column_text16() and
257sqlite3_bind_text16().
258</p>
259
260<p><b>SQLITE_OMIT_VACUUM</b><br>
261When this option is defined, the <a href="lang_vacuum.html">VACUUM</a>
262command is not included in the library. Executing a VACUUM statement causes
263a parse error.
264</p>
265
266<p><b>SQLITE_OMIT_VIEW</b><br>
267Defining this option omits support for VIEW objects. Neither the
268<a href="lang_createview.html">CREATE VIEW</a> or
269<a href="lang_dropview.html">DROP VIEW</a>
270commands are available in this case, attempting to execute either will result
271in a parse error.
272</p>
273<p>
274WARNING: If this macro is defined, it will not be possible to open a database
275for which the schema contains VIEW objects.
276</p>
277}
278footer $rcsid